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 in Verwenden der Sprachumgebungen beschrieben, und die Schnittstelle für Sprachumgebungen wird im Handbuch Net.Data Language Environment Interface Reference erörtert.
Net.Data erfordert, daß eine Anweisung ENVIRONMENT für eine bestimmte Sprachumgebung vorhanden ist, bevor Sie diese Sprachumgebung aufrufen können.
Net.Data für OS/400 erfordert keine Anweisung ENVIRONMENT für die mit Net.Data ausgelieferten Sprachumgebungen. Wenn jedoch eine Sprachumgebungsanweisung festgestellt wird, überschreibt sie den von Net.Data verwendeten Standardwert. Es wird empfohlen, daß die Anweisungen ENVIRONMENT für die mit Net.Data ausgelieferten Sprachumgebungen der Net.Data -Konfigurationsdatei nicht hinzugefügt werden.
Sie können Variablen einer Sprachumgebung zuordnen, indem Sie die Variablen als Parameter in der Anweisung ENVIRONMENT angeben. Net.Data übergibt die in einer Anweisung ENVIRONMENT angegebenen Parameter implizit als Makrovariablen an die Sprachumgebung. Sie können im Makro den Wert eines Parameters ändern, der in einer Anweisung ENVIRONMENT angegeben ist, indem Sie entweder der Variablen mit der Funktion DTW_ASSIGN() einen Wert zuordnen oder die Variable in einem DEFINE-Abschnitt definieren. Wichtig: Wird eine Makrovariable in einem Makro definiert, aber nicht in der Anweisung ENVIRONMENT angegeben, wird die Makrovariable nicht an die Sprachumgebung übergeben.
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.
Der Name des Serviceprogramms wird 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.
Definieren Sie die Variable im Makro, um die Variablen in der Parameterliste festzulegen und zu übergeben.
Sie müssen diese Parameter als Konfigurationsvariablen oder als Variablen in Ihrem Makro 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 Initialisierungsdatei 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. Die 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.
Unter OS/400 sind Anweisungen ENVIRONMENT für Net.Data-Sprachumgebungen nicht erforderlich und werden nicht empfohlen. Das folgende Beispiel zeigt jedoch einige der Standardanweisungen ENVIRONMENT, die Net.Data verwendet.
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 ( )
Wichtiger Hinweis: Jede Anweisung ENVIRONMENT muß in einer separaten Zeile stehen.