Un'istruzione ENVIRONMENT configura un ambiente di linguaggio. Un ambiente di linguaggio è un componente di Net.Data che Net.Data utilizza per accedere ad un'origine dati come un database DB2 o eseguire un programma scritto in un linguaggio come REXX. Net.Data fornisce una serie di ambienti di linguaggio ed un'interfaccia che consente di creare i propri ambienti di linguaggio. Questi ambienti di linguaggio sono descritti in Uso degli ambienti di linguaggio e le interfacce di ambiente di linguaggio sono descritti in Net.Data: riferimenti dell'ambiente di linguaggio.
Net.Data richiede che un'istruzione ENVIRONMENT sia presente nel file di inizializzazione di Net.Data per un ambiente di linguaggio prima di poterlo richiamare.
Net.Data specifica diverse variabili che interessano il modo in cui gli ambienti di linguaggio di Net.Data interpretano le chiamate alle funzioni definite nei blocchi FUNCTION. Le impostazioni di queste variabili devono essere trasferite ad un ambiente di linguaggio per essere funzionali.
Ad esempio, una macro può definire una variabile DATABASE per specificare il nome di un database su cui deve essere eseguita un'istruzione SQL all'interno di una funzione DTW_SQL. Il valore di DATABASE deve essere trasferito all'ambiente di linguaggio SQL (DTW_SQL) in modo che l'ambiente di linguaggio SQL possa collegarsi al database designato. Per trasferire la variabile all'ambiente di linguaggio, è necessario aggiungere la variabile DATABASE all'elenco dei parametri dell'istruzione di ambiente per DTW_SQL.
Il file di inizializzazione di esempio di Net.Data stabilisce dei valori predefiniti nell'ambito della personalizzazione delle istruzioni di configurazione ambiente di Net.Data. Queste impostazioni predefinite potrebbero non risultare valide per il proprio ambiente. Modificare in modo appropriato le istruzioni per adattarle al proprio ambiente.
Per aggiungere o aggiornare un'istruzione ENVIRONMENT:
Le istruzioni ENVIRONMENT contengono la seguente sintassi:
ENVIRONMENT(tipo) nome_libreria (elenco_parametri, ...)
Parametri:
Il nome in base al quale Net.Data associa questo ambiente di linguaggio al blocco FUNCTION definito in una macro di Net.Data. Specificare il tipo dell'ambiente di linguaggio su una definizione di blocco FUNCTION per identificare l'ambiente di linguaggio che Net.Data deve utilizzare per eseguire la funzione.
Il nome della o programma di servizi contenente le interfacce dell'ambiente di linguaggio che Net.Data chiama. Su OS/400, il nome del programma di servizi è specificato con l'estensione .SRVPGM.
L'elenco dei parametri trasferiti all'ambiente di linguaggio su ogni chiamata di funzione, oltre a quei parametri specificati nella definizione del blocco FUNCTION.
Essi vengono trasferiti nel campo parm_data_array della struttura dtw_lei che segue i parametri specificati nella definizione del blocco FUNCTION. Consultare Net.Data: riferimenti agli ambienti di linguaggio per informazioni su queste strutture.
E' necessario definire questi parametri come variabili di configurazione o come variabili nella macro di Net.Data prima che venga eseguita una funzione elaborata dall'ambiente di linguaggio. Se in una funzione viene modificato qualcuno dei suoi parametri di emissione, i parametri mantengono il loro valore modificato una volta completata la funzione.
Quando Net.Data elabora il file INI, non vengono caricate i programmi di servizi dell'ambiente di linguaggio. Net.Data carica il programma di servizi quando viene eseguita per la prima volta una funzione che identifica quell'ambiente di linguaggio. Il programma di servizi rimane poi caricato per tutto il tempo in cui è caricato Net.Data.
Esempio: istruzioni ENVIRONMENT per ambienti di linguaggio forniti da Net.Data
Quando vengono personalizzate le istruzioni ENVIRONMENT per l'applicazione, aggiungere le variabili alle istruzioni ENVIRONMENT che devono essere trasferite dal file di inizializzazione ad un ambiente di linguaggio o che sono necessarie a chi scrive le macro di Net.Data per impostarle o per sostituirle nelle loro macro.
1 MACRO_PATH /WWW/MACRO;/QSYS.LIB/WWW.LIB/MACRO.FILE
2 INCLUDE_PATH /WWW/MACRO;/QSYS.LIB/WWW.LIB/MACRO.FILE
3 EXEC_PATH /QSYS.LIB;/QSYS.LIB/WWW.LIB
4 ENVIRONMENT(DTW_REXX) /QSYS.LIB//QTCP.LIB/QTMHREXX.SRVPGM ( )
5 ENVIRONMENT(DTW_SQL) /QSYS.LIB/QTCP.LIB/QTMHSQL.SRVPGM (IN DATABASE,
LOGIN, PASSWORD, TRANSACTION_SCOPE, SHOWSQL, DB_CASE,
RPT_MAX_ROWS, START_ROW_NUM, DTW_SET_TOTAL_ROWS,
OUT DTWTABLE, SQL_CODE, TOTAL_ROWS)
6 ENVIRONMENT(DTW_SYSTEM) /QSYS.LIB/QTCP.LIB/QTMHSYS.SRVPGM ( )
Ogni istruzione ENVIRONMENT deve essere su una sola riga.