L'ambiente di linguaggio REXX è in grado di interpretare i programmi REXX in linea specificati in un blocco FUNCTION sulla macro di Net.Data o consente di elaborare programmi REXX esterni memorizzati in file separati. Le chiamate ai programmi REXX esterni vengono identificati in un blocco FUNCTION da un'istruzione EXEC, come ad esempio:
%EXEC{ REXX-nome-file-programma [optional parameters] %}
L'ambiente di linguaggio REXX utilizza l'API RexxStart() per indicare che l'interpreter REXX deve eseguire il file specificato e poi trasferisce i parametri che seguono il nome file al programma come se fossero stati immessi in una riga comandi. Sul programma REXX, tutti i parametri vengono ricevuti come ARG[1].
Suggerimento per l'autorizzazione: Assicurarsi che il server Web abbia diritto di accesso a tutti i file eseguibili esterni a cui fanno riferimento gli ambienti di linguaggio. Per ulteriori informazioni, consultare la sezione sulla specifica dei diritti di accesso del server Web ai file di Net.Data nel capitolo relativo alla configurazione contenuto in Guida alla gestione e alla programmazione di Net.Data.
Sotituzione di variabile:
La sostituzione della variabile viene eseguita solo sulla sezione delle istruzioni eseguibili del blocco FUNCTION. I parametri, tuttavia, sono accessibili al programma REXX se il programma viene definito internamente in un blocco FUNCTION o esternamente in un file separato. L'ambiente di linguaggio REXX utilizza la funzione RexxVariablePool() dei processori di linguaggio REXX per condividere le variabili di Net.Data con il programma REXX. Ciò consente al programma REXX di gestire direttamente le variabili di Net.Data identificate nell'elenco dei parametri.
Un programma REXX accede ai valori di un parametro di tabella come variabili stem REXX. In un programma REXX, le intestazioni della colonna per la tabella T sono T_N.i e i valori dei campi sono T_V.i.j. I numeri delle righe e delle colonne nella tabella T sono rispettivamente T_ROWS e T_COLS.
Miglioramento delle prestazioni per AIX:
Se vi sono diverse chiamate all'ambiente di linguaggio REXX sul sistema AIX, è opportuno impostare RXQUEUE_OWNER_PID su 0. Le macro che eseguono diverse chiamate all'ambiente di linguaggio REXX possono avviare diversi processi, esaurendo le risorse di sistema.
E' possibile impostare la variabile di ambiente in tre modi:
@DTW_rSETENV("RXQUEUE_OWNER_PID", "0")
/etc/environment: RXQUEUE_OWNER_PID = 0
Tale metodo influenza le funzioni REXX su tutta la macchina.
InheritEnv RXQUEUE_OWNER_PID = 0
Tale metodo influenza le funzioni REXX per il server web.