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.
If you want to use a slash within your Natural parameters, then your Natural parameters must begin with a slash.
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.