Eine Anweisung ENVIRONMENT konfiguriert eine Sprachumgebung. Eine Sprachumgebung ist eine Net.Data-Komponente, mit der Net.Data auf eine Datenquelle, wie zum Beispiel eine DB2-Datenbank, zugreift oder ein in einer Sprache wie REXX geschriebenes Programm ausführt. Net.Data stellt eine Reihe von Sprachumgebungen bereit sowie eine Schnittstelle, mit der Sie Ihre eigenen Sprachumgebungen erstellen können. Diese Sprachumgebungen werden im Abschnitt Verwenden der Sprachumgebungen und zusammen mit der Schnittstelle für Sprachumgebungen auch im Handbuch Net.Data Language Environment Reference beschrieben.
Für den Aufruf der Sprachumgebung erfordert Net.Data, daß in der Net.Data-Initialisierungsdatei eine Anweisung ENVIRONMENT für eine Sprachumgebung vorhanden ist.
Net.Data gibt mehrere Variablen an, die sich darauf auswirken, wie Net.Data-Sprachumgebungen Aufrufe an in FUNCTION-Blöcken definierte Funktionen interpretieren. Die Einstellungen dieser Variablen müssen an eine Sprachumgebung übergeben werden, um wirksam zu werden.
Zum Beispiel kann ein Makro eine Variable DATABASE definieren, um den Namen einer Datenbank anzugeben, in der eine SQL-Anweisung innerhalb der Funktion DTW_SQL ausgeführt werden soll. Der Wert von DATABASE muß an die SQL-Sprachumgebung (DTW_SQL) übergeben werden, damit die SQL-Sprachumgebung die Verbindung zur angegebenen Datenbank herstellen kann. Zum Übergeben der Variablen an die Sprachumgebung müssen Sie die Variable DATABASE der Parameterliste in der Umgebungsanweisung für DTW_SQL hinzufügen.
Die Net.Data-Beispielinitialisierungsdatei geht beim Anpassen der Einstellungen der Anweisungen für die Net.Data-Umgebungskonfiguration von bestimmten Annahmen aus. Diese Annahmen sind für Ihre Umgebung eventuell nicht zutreffend. Ändern Sie die Anweisungen Ihrer Umgebung entsprechend.
Gehen Sie wie folgt vor, um eine Anweisung ENVIRONMENT hinzuzufügen oder zu aktualisieren:
Anweisungen ENVIRONMENT haben die folgende Syntax:
ENVIRONMENT(type) library_name (parameter_list, ...)
Parameter:
Der Name, durch den Net.Data diese Sprachumgebung einem FUNCTION-Block zuordnet, der in einem Net.Data-Makro definiert ist. Sie müssen die Art der Sprachumgebung in einer FUNCTION-Blockdefinition angeben, um die Sprachumgebung zu definieren, in der Net.Data die Funktion ausführen soll.
Der Name des Serviceprogramms mit den Schnittstellen für Sprachumgebungen, die Net.Data aufruft. Unter OS/400 wird der Name des Serviceprogramms mit der Erweiterung .SRVPGM angegeben.
Die Liste der Parameter, die bei jedem Funktionsaufruf neben den Parametern, die in der FUNCTION-Blockdefinition angegeben sind, an die Sprachumgebung übergeben werden.
Die Parameter werden nach den in der FUNCTION-Blockdefinition angegeben Parametern in das Feld parm_data_array der Struktur dtw_lei übergeben. (Informationen zu diesen Strukturen finden Sie im Handbuch Net.Data Language Environment Reference.)
Sie müssen diese Parameter als Konfigurationsvariablen oder als Variablen in Ihrer Makrodatei definieren, bevor Sie eine Funktion ausführen können, die von der Sprachumgebung verarbeitet wird. Wenn eine Funktion ihre Ausgabeparameter ändert, behalten die Parameter ihre geänderten Werte nach der Beendigung der Funktion bei.
Wenn Net.Data die INI-Datei verarbeitet, werden die Serviceprogramme der Sprachumgebung nicht geladen. Net.Data lädt ein Serviceprogramm, wenn es das erste Mal eine Funktion ausführt, die die betreffende Sprachumgebung angibt. Das Serviceprogramm bleibt dann so lange geladen, wie Net.Data geladen ist.
Beispiel: Anweisungen ENVIRONMENT für von Net.Data bereitgestellte Sprachumgebungen
Beim Anpassen der Anweisungen ENVIRONMENT für Ihre Anwendung müssen Sie den Anweisungen ENVIRONMENT die Variablen hinzufügen, die von Ihrer Initialisierungsdatei an die Sprachumgebung übergeben werden müssen, oder die Net.Data-Makroprogrammierer zum Festlegen oder Überschreiben in ihren Makros benötigen.
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 ( )
Jede Anweisung ENVIRONMENT muß in einer separaten Zeile stehen.