Dieser Abschnitt behandelt die folgenden Themen:
Natural-Objekte, die in einer früheren Version von Natural erstellt wurden, können in der aktuellen Natural-Version ausgeführt werden, ohne dass Anpassungen an den Objekten oder ein Konvertierungs- oder Migrationsverfahren erforderlich sind. Dies gilt auch für Objekte, die mit dem Natural Optimizer Compiler katalogisiert wurden.
Ausführliche Informationen zu den unterstützten Natural-Versionen finden Sie unter Von Natural unterstützte Produkt-Versionen in der aktuellen Natural-Freigabemitteilung (Release Notes).
In diesem Abschnitt werden die Konventionen beschrieben, die für den Aufruf eines Backend-Programms gelten.
Anmerkung
Außer unter z/OS im Batch-Modus wird ein angegebenes Backend-Programm nicht
aufgerufen, wenn die Natural-Sitzung auf einem Natural Development Server ausgeführt
wird.
In diesem Abschnitt werden die folgenden Themen behandelt:
Wenn der Profilparameter PROGRAM angegeben ist (oder während einer
Natural-Sitzung durch Aufruf des Subprogramms CMPGMSET in der Library
SYSEXTP dynamisch gesetzt wird), wird ein Backend-Programm aufgerufen,
und zwar unabhängig davon, ob die Sitzung normal oder abnormal beendet wurde. Das
Backend-Programm wird unter Verwendung der Standard-OS-Linkage-Konventionen aufgerufen
und muss die Kontrolle an seinen Aufrufer (Caller) zurückgeben.
Wenn ein Backend-Programm verfügbar ist, gibt Natural keine Meldungen zur
Sitzungsbeendigung aus. Benutzer-Rückgabewerte ungleich Null, die über operand1 des Natural TERMINATE-Statements angegeben
werden, werden durch die Natural-Fehlermeldung NAT9987 angezeigt.
Ein Parameterbereich mit den folgenden Informationen wird an das Backend-Programm übergeben:
ein Vollwort, das den Natural-System- oder Benutzer-Rückgabecode enthält,
eine Natural-Abbruchmeldung mit 72 Zeichen,
ein Vollwort, das die Länge der Natural-Abbruchdaten enthält (oder Null),
die mit operand2 des TERMINATE-Statements übergebenen
Abbruchdaten (falls vorhanden).
Der Backend-Programm-Parameterbereich ist mindestens 80 Bytes lang. Das Makro
NAMBCKP, das ein DSECT-Layout des
Backend-Programm-Parameterbereichs enthält, ist in der Natural-Source-Library enthalten
und kann von Assembler-Backend-Programmen verwendet werden.
Unter CICS werden die Daten der Backend-Programmparameter in der COMMAREA und in der
TWA übergeben. In der TWA werden nur 80 Bytes übergeben, die den Rückgabecode und die
Meldung enthalten, während das Längenfeld eine Adresse enthält, die auf den
vollständigen Backend-Programm-Parameterbereich zeigt. Die gleiche TWA wird auch
bereitgestellt, wenn Natural über EXEC CICS LINK aufgerufen wurde. Siehe
auch Natural unter CICS, Frontend-Aufruf über
LINK in der
TP-Monitor-Schnittstellen-Dokumentation.
Wenn im Makro NTCICSP der Schlüsselwort-Subparameter BACKRPL=ALL gesetzt
ist (abhängig von der installierten Version der Natural-CICS-Schnittstelle), werden nur
die Terminierungsdaten in der COMMAREA übergeben.
Unter IMS TM sind die Aufrufkonventionen für ein Backend-Programm in einer dialogorientierten Umgebung anders. Dort wird das Backend-Programm über einen Programm-zu-Programm-Schalter aufgerufen, und der Name des Backend-Programms wird als IMS TM-Transaktionscode verwendet. In diesem Fall wird die Natural-Umgebung beendet, bevor der Programm-zu-Programm-Wechsel stattfindet. Siehe Natural under IMS TM, Unterstützung des Natural-Profilparameters PROGRAM in der TP-Monitor-Schnittstellen-Dokumentation.
Die folgende Tabelle enthält eine Reihe von Beispielprogrammen:
|
Beispiel für ein Backend-Programm für Batch- und TSO-Umgebungen
in COBOL:
LINKAGE SECTION 01 BACKEND-PARM-AREA. 02 TERMINATION-RETURN-CODE PIC S9(8) COMP. 02 TERMINATION-MESSAGE PIC X(72). 02 TERMINATION-DATA-LENGTH PIC S9(8) COMP. 02 TERMINATION-DATA PIC X(100) ... PROCEDURE DIVISION USING BACKEND-PARM-AREA |
|
Beispiel für ein Backend-Programm für Batch- und TSO-Umgebungen
in Assembler:
BACKPROG CSECT
SAVE (14,12)
LR 11,15
USING BACKPROG,11
L 2,0(1)
USING BCKPARM,2
...
RETURN (14,12)
BCKPARM NAMBCKP
END
|
|
Beispiel für ein Backend-Programm für CICS in
Assembler:
L 2,DFHEICAP
USING BCKPARM,2
...
BCKPARM NAMBCKP
END
|
|
Beispiel-Backend-Programm XNATBACK für den
Batch-Modus:
Ein Beispielprogramm für den Batch-Modus ist unter dem Namen
|
Dieser Abschnitt gilt für z/OS-Batch-Modus, CICS, Com-plete, IMS TM und TSO. Er enthält Informationen darüber, wie Natural Subprogramme der IBM Language Environment (LE) unterstützt.
Folgende Themen werden behandelt:
Um IBM Language Environment (LE)-Subprogramme zu unterstützen, muss Natural so
vorbereitet sein, dass das CALL-Statement in der Lage ist, LE-Subprogramme aufzurufen.
LE-Subprogramme können statische (Profilparameter CSTATIC und RCA) oder dynamische Subprogramme von Natural
sein.
Dynamische LE-Subprogramme von Natural werden über den Dienst CEEFETCH LE geladen und
durch den Dienst CEERELES entsprechend der Einstellung des Profilparameters DELETE gelöscht.
Um IBM Language Environment (LE)-Subprogramme von Natural aus aufrufen zu können, ist Folgendes erforderlich:
Bei der Installation der Natural CICS-Schnittstelle muss der umgebungsabhängige Nukleus generiert werden. Siehe dazu die entsprechenden Installationsschritte in Natural CICS-Schnittstelle auf z/OS installieren in der Installation für z/OS -Dokumentation.
Bezüglich der LE-Befähigung von Natural unter CICS siehe auch die entsprechenden Installationsschritte und den Abschnitt Natural CICS-Schnittstelle und IBM Language Environment (LE) in der TP-Monitor-Schnittstellen-Dokumentation.
Für die LE-Befähigung von Natural unter Com-plete muss der
Schlüsselwort-Subparameter LE370 des Makros NTCOMP auf
ON gesetzt werden (siehe
Parameter-Referenz-Dokumentation). Siehe auch das Kapitel
IBM Language Environment Considerations in der
Com-plete-Dokumentation.
Die IBM LE-Laufzeitmodule müssen während des Linkage-Editor-Schritts automatisch
aus der IBM LE-Bibliothek eingebunden werden. Es dürfen keine unaufgelösten
Externals vorhanden sein, die mit "CEE" beginnen. Setzen Sie nicht die
Linkage-Editor-Option NCAL.
Unter z/OS Batch, IMS TM und TSO kann Natural auch LE-Hauptprogramme aufrufen,
allerdings nur als dynamische Subprogramme. Wenn ein LE-Hauptprogramm dynamisch
aufgerufen werden soll, muß dies durch die Angabe von SET CONTROL 'P=L' vor dem
CALL-Statement
gekennzeichnet werden. Andernfalls wird die von Natural erzeugte LE-Umgebung durch
das LE-Hauptprogramm beendet.
- Unter z/OS Batch und TSO:
Sie haben drei Möglichkeiten:
Sie können LE-Laufzeitoptionen durch Verwendung des Parameters
PARM=in Ihrer JCL übergeben. Dabei gilt Folgendes:
Die Laufzeitoptionen, die an die Hauptroutine übergeben werden, müssen von einem Schrägstrich (/) gefolgt werden, um sie von den Natural-Parametern zu trennen.
Wenn Sie innerhalb Ihrer Natural-Parameter einen Schrägstrich verwenden wollen, müssen Ihre Natural-Parameter mit einem Schrägstrich beginnen.
Beispiel:
PARM='/ID=/,...'Sie können LE-Laufzeitoptionen übergeben, indem Sie den
CEEOPTS-Eingabedatensatz in Ihrer JCL verwenden. Durch die Verwendung vonCEEOPTSsind die LE-Laufzeitoptionen auch für alle Subtasks verfügbar. Die Verwendung vonCEEOPTSist insbesondere bei einem Natural RPC-Server im Batch-Modus erforderlich.Beispiel:
//CEEOPTS DD * POSIX(ON) /*Sie können LE-Laufzeitoptionen definieren, indem Sie das mitgelieferte Quellcode-Modul
NATLEOPTändern und neu assemblieren. Wenn Sie zum Beispiel Subprogramme haben, die noch im 24-Bit-Modus laufen, setzen SieSYSPARM(RMODE24)als Parameter für den Assembler, anstattNATLEOPTzu ändern.Wenn Sie andere spezifische Anforderungen für Ihre LE-Unterprogramme haben, können Sie die gewünschten LE-Optionen für das
CEEXOPT-Makro im Quellcode-ModulNATLEOPThinzufügen.- Unter IMS TM:
Sie können LE-Laufzeitoptionen übergeben, indem Sie das regionsspezifische Laufzeitoptionen-Lademodul
CEEROPTin IhrerSTEPLIB-Verkettung bereitstellen. Darüber hinaus muss die LE Library Routine Retention Initialization RoutineCEELRRINin derPREINIT-Liste Ihrer Region-JCL vorhanden sein.Im Folgenden finden Sie ein Beispiel für die Definition eines
CEEROPT-Lademoduls, das die Ausführung vonAMODE(24)-Subprogrammen ermöglicht:CEEROPT CSECT CEEROPT AMODE ANY CEEROPT RMODE ANY CEEXOPT ALL31=((OFF),OVR), X STACK=((128K,128K,BELOW,KEEP,512K,128K),OVR) END CEEROPT
Natural unterstützt die LE-spezifische Benutzerfehlerbehandlung, d.h. wenn ein
LE-Subprogramm einen Benutzerfehler-Handler definiert hat, erhält dieser Handler die
Kontrolle, wenn ein Abbruch, eine Programmprüfung oder eine andere LE-Fehlerbedingung im
Subprogramm auftritt. Wenn kein LE-Anwenderfehler-Handler definiert wurde, reagiert
Natural entsprechend der Einstellung des Profilparameters DU.
In diesem Fall wird eine spezielle Fehlermeldung (NAT0950 bei DU=OFF oder
NAT9967 bei DU=ON) ausgegeben, die die LE-Fehlernummer angibt. Außerdem
wird die entsprechende LE-Fehlermeldung auf CEEMSG ausgegeben und ein
LE-Snap-Dump gemäß der LE-Laufzeitoption TERMTHDACT in CEEDUMP
geschrieben.
Anmerkung
Im Falle von DU=FORCE wird die Abbruchbehandlung von Natural
deaktiviert und die LE-Fehlerbehandlung findet statt, auch wenn zum Zeitpunkt des
Abbruchs kein LE-Subprogramm aktiv ist. In diesem Fall wird dringend empfohlen, die
LE-Laufzeitoption TERMTHDACT(UAIMM) anzugeben, um alle erforderlichen
Diagnoseinformationen zu erhalten.
Dieses Dokument enthält Informationen zur Verwendung externer Sortierprogramme mit Natural.
Die folgenden Themen werden behandelt:
Das Natural-Statement SORT kann
optional ein externes Sortierprogramm aufrufen, das die eigentliche Sortierung
durchführt. Ein externes Sortierprogramm wird verwendet, wenn im Natural-Parametermodul der Schlüsselwort-Subparameter EXT des Makros
NTSORT auf ON gesetzt ist.
Natural unterstützt alle externen Sortierprogramme, die der in den Handbüchern des jeweiligen Betriebssystems dokumentierten Sortierschnittstelle entsprechen.
Die Anforderungen (z.B. Platz und Datasets) sind identisch mit denen für die Ausführung eines 3GL-Anwendungsprogramms (z.B. COBOL, PL/I), das das Sortierprogramm des Betriebssystems aufruft, und können je nach verwendetem externen Sortierprogramm variieren.
Die Kommunikation mit dem externen Sortierprogramm erfolgt über die User-Exit-Routinen
E15 und E35. Folglich benötigt Natural die Datasets SORTIN und SORTOUT
nicht.
Es können alle externen Sortierprogramme verwendet werden, die die erweiterte Parameterliste unterstützen.