Dieses Kapitel beschreibt die Funktionalität der Natural Com-plete/SMARTS-Schnittstelle (Produktcode NCF) sowie den Betrieb und die einzelnen Komponenten von Natural in einer Com-plete-Umgebung.
Anmerkung
SMARTS ist ein Akronym für "Software AG Multi-Architecture
Runtime System". Es stellt eine Laufzeitschicht dar, die es ermöglicht,
POSIX-ähnliche Anwendungen auf Großrechner-Betriebssystemen auszuführen. Die
Produkte der Software AG kommunizieren mit dem Betriebssystem über die
SMARTS-Schicht.
Die folgenden Themen werden behandelt:
Treiberparameter für die Natural Com-plete/SMARTS-Schnittstelle
Unterstützung für die Behandlung von User Exits während der Sitzungsinitialisierung
Unterstützung für das Recoverable Session Handling von Com-plete
Einzelheiten zum Produkt Com-plete siehe Com-plete-Dokumentation
Online-Verarbeitung in der Natural-System Architecture-Dokumentation
Installing Natural Com-plete/SMARTS Interface on z/OS in der Installation for z/OS-Dokumentation.
SYSTP Utility in der Natural-Debugger und Dienstprogramme-Dokumentation
Natural under Com-plete/SMARTS User Abend Codes in der Natural-Codes and Messages-Dokumentation
Informationen zu den Treiberparametern, die für die Natural
Com-plete/SMARTS-Schnittstelle zur Verfügung stehen, finden Sie in der
Beschreibung des Profilparameters COMP oder des
Parametermakros NTCOMP
in der Parameter-Referenz-Dokumentation.
COMP (bzw. NTCOMP) besteht aus mehreren
Schlüsselwort-Subparametern, deren Verwendung in den folgenden Abschnitten
erläutert wird.
Die ABEXIT-Exits können generell deaktiviert werden,
indem der Schlüsselwort-Subparameter
SPIEA auf
OFF gesetzt wird.
Der ABEXIT-Exit wird während der EOJ-Behandlung von
Com-plete bei einer abnormalen Programmabbruchverarbeitung aufgerufen.
Standardmäßig wird ein 0CX-Abbruch von der Exit-Routine
ABEXIT interpretiert.
Bei der Ausführung mit DU=ON wird
ein Speicher-Dump generiert und die Natural-Sitzung mit der Fehlermeldung
NAT9974 ordnungsgemäß beendet.
Bei der Ausführung mit DU=SNAP
wird wie bei DU=ON ein Speicher-Dump generiert, aber die Sitzung
wird nicht beendet.
Anmerkung
Nach dem Dump wird die Natural-Sitzung fortgesetzt, als ob
sie mit DU=OFF laufen würde.
Bei der Ausführung mit DU=ABEND
wird ein Speicher-Dump der Natural-Sitzung generiert, ohne die Sitzung zu
beenden.
Bei der Ausführung mit DU=FORCE
wird die Exit-Routine ABEXIT deaktiviert, und es wird ein
sofortiger Dump während der Com-plete-Ausführung erstellt.
Wenn LE370=ON im
NTCOMP-Makro angegeben ist oder dynamisch angegeben wird und der
Abbruch auftritt, während ein LE-Programm die Kontrolle hat, werden vom
Benutzer geschriebene oder sprachspezifische Condition-Handler ignoriert. Der
Abbruch wird von der Exit-Routine ABEXIT behandelt, und es tritt
die Natural-Fehlermeldung NAT0950 oder NAT9967 auf.
Ist DU=OFF, antwortet Natural mit der Fehlermeldung
NAT0950, NAT0954, NAT0955 oder NAT0956, und das gesamte Abbruch-PSW und die
Register 0 bis 15 sind im IOCB mit dem Offset x'290'
enthalten.
Bei der Sitzungsinitialisierung wird der mit dem
Schlüsselwort-Subparameter NTHSIZE
definierte Speicherplatz je nach Einstellung des Schlüsselwort-Subparameters
THABOVE
als Thread GETMAIN oberhalb oder unterhalb der
16-MB-Grenze für die Verwendung durch Natural zugeordnet.
Der Natural-Profilparameter WPSIZE bestimmt die
Größe der Workpools unterhalb und oberhalb der 16 MB-Grenze. Standardmäßig ist
die Größe des unterhalb gelegenen Subpools auf 32 KB eingestellt.
Daher müssen Sie den Natural-Com-plete-Frontteil mit det Com-plete Utility ULIB katalogisieren, RG-Größe = 36 KB oder größer.
Die verbleibenden Bereiche innerhalb der Com-plete-Thread-Teile
unterhalb und/oder oberhalb (Com-plete ULIB
RG=specification and/or
THABOVESIZE=specification) werden von
Com-plete für Folgendes verwendet:
Benutzer-Subroutinen,
Vergrößerung von variablen Puffern innerhalb des Natural-Threads,
Unterprodukte, die "physische"
GETMAIN-Anforderungen ausführen. Dadurch wird die
Zuordnung des Natural-Workpool erzwungen.
Weitere Einzelheiten zu den Parametern ULIB RG und
THABOVESIZE finden Sie in der Com-plete
Utilities-Dokumentation.
Natural übergibt den folgenden String an ein Backend-Programm:
den Natural-Rückgabecode (Vollwort),
die Natural-Beendigungsmeldung (A72),
die Länge des Beendigungsbereichs (Vollwort),
die Beendigungsdaten.
Dieser String wird durch das Makro NAMBCKP
gemapped.
Das Quellcode-Modul XNCFBACK ist ein Beispiel für ein
Natural-Backend-Programm in einer Com-plete-Umgebung. Es ist als reentranter
Code geschrieben und kann als RESIDENTPAGE-Programm oder einmal
pro Benutzer geladen werden.
Wenn Sie die Com-plete-Dienste in einem Natural-Batch-Lauf verwenden, bleibt die Batch-Benutzerkennung am Ende des Batch-Laufs angemeldet.
Um diese Situation zu vermeiden, müssen Sie das Modul
COMPBTCH aus der Com-plete Distribution Library in den
Natural-Batch-Nukleus aufnehmen. Dadurch wird der Einstiegspunkt für das Modul
EOJ aufgelöst, das am Ende des Natural-Batch-Jobs zur
Beendigungsbereinigung aufgerufen wird.
Das Modul NCFAM wird für den Zugriff auf
Com-plete-Druck-/Arbeitsdateien verwendet. Er muss beim Verlinken des
Natural-Nukleus zusammen mit dem Modul COMPBTCH aus der Com-plete
Distribution Library eingebunden werden.
Die asynchrone Natural-Verarbeitung wird im Kapitel Asynchrone Verarbeitung in der Natural-Operations-Dokumentation behandelt. Allerdings gelten einige zusätzliche Überlegungen, wenn Natural unter Com-plete ausgeführt wird.
Stellen Sie sicher, dass für eine asynchrone Natural-Sitzung
geeignete SENDER-
und OUTDEST-Destinationen
angegeben sind. Andernfalls führt jede Ausgabe zu einer abnormalen
Beendigung.
Zusätzlich zu den Com-plete-Terminalkennungen für
SENDER und OUTDEST werden die
folgenden Schlüsselwörter von der Natural Com-plete/SMARTS-Schnittstelle
unterstützt:
| Profilparameter | Mögliche Werte | Erläuterung |
|---|---|---|
SENDER |
DUMMY |
Ausgabe wird ignoriert. |
TID |
Ausgabeziel. | |
LUNAME |
||
OUTDEST |
DUMMY |
Ausgabe wird ignoriert. |
CONSOLE |
Ausgabeziel. | |
LUNAME |
Standardmäßig wird für die Ausgabe einer asynchronen Natural-Sitzung, die unter Com-plete läuft, das 3270-Datenstrom-Protokoll verwendet.
Ein Beispiel zum Starten einer asynchronen Natural-Transaktion unter
Com-plete finden Sie in der Library SYSEXTP, Programm
ASYNCOMP.
Mit der Com-plete-Funktion FETCH können Sie Natural aus
einem Benutzer-Frontend-Programm unter Com-plete aufrufen. Einzelheiten finden
Sie im Com-plete Application Programmer's Manual.
Wenn Sie den Schutzmodus zwischen Com-plete und Ihrem
Anwendungsprogramm verwenden möchten, müssen Sie den Natural-Profilparameter
SKEY im
Natural-Parametermodul auf OFF setzen. Das Anwendungsprogramm
läuft im entsprechenden Thread Key
Sie können die Performance des Anwendungsprogramms unter Com-plete verbessern, indem Sie die Funktion Storage-Protection Override auf Ihrer Maschine aktivieren.
Setzen Sie den Thread Key im Com-plete-Startparameter
THREAD-GROUP für Ihre Natural-Untergruppe auf
9.
Der Frontend-Treiber versetzt die Natural-Anwendung automatisch in
den privilegierten Modus, wenn der Thread Key 9 ist, und verwendet
die SPKA-Anweisung für die Schlüsselumschaltung anstelle der
Com-plete-Funktion MODIFY mit den Funktionscodes
THRD/TCS.
Die Speicherschlüsselumschaltung wird bei keinem Natural- oder Editor-Buffer-Pool-Aufruf durchgeführt.
Während der Sitzungsinitialisierung ist es möglich, benutzerspezifische Sitzungsinformationen über die Aktivierung eines User Exit an Natural zu übergeben. Der Exit wird aufgerufen, bevor Natural initialisiert wurde, nachdem die Treiber/IOCB-Initialisierung abgeschlossen ist.
Der Treiber übergibt als Parameter die Adresse des IOCB in Register
1, wohingegen der Exit durch die Com-plete-Funktionen
COLOAD/CODEL aktiviert/deaktiviert wird.
Einzelheiten finden Sie im Com-plete Application Programmer's
Manual.
Das Quellcode-Modul NCFUEXIT ist ein Beispiel für einen
User Exit. Das User Exit-Modul kann mit dem Schlüsselwort-Subparameter
EXIT
definiert werden.
Mit der SMARTS-Server-Umgebung ist es möglich, das portable
Dateisystem von SMARTS als Container für Ein- und Ausgabedateien sowie für
Datensätze auf dem nativen Dateisystem zu verwenden. Es hängt von der
Einstellung der SMARTS-Parameter CDI_DRIVER und MOUNT_FS
ab, ob sich die Umgebungsvariable auf das portable Dateisystem oder auf ein
natives Dateisystem bezieht. Weitere Informationen finden Sie im
SMARTS Installation and Operations Manual.
Wenn keine Umgebungsvariablen definiert sind, wird auf die normalen Datasets zugegriffen, wie im Abschnitt Von Natural im z/OS-Batch-Modus verwendete Datasets in der Natural Operations-Dokumentation.
Die folgenden Themen werden behandelt:
Die Ein-/Ausgabe in der SMARTS-Server-Umgebung wird von der DLL
NCF92IO durchgeführt.
NCF92IO muss in den residenten Bereich geladen
werden. Wenn NCF92IO in den Thread des Anwendungsprogramms geladen
wird, wird die Natural-Sitzung mit der Fehlermeldung NAT9980 beendet.
Unterstützte Umgebungsvariablen:
Diese Umgebungsvariablen werden im Folgenden beschrieben.
Syntax:
CMPRINT=/pathname/filename[/],[mode]
|
Bedeutung:
pathname
|
Pfadname
Gibt den Speicherort der Ausgabedatei an. Bezieht sich
|
filename
|
Dateiname
Gibt den Namen der Ausgabedatei an. Ein Stern (*) als Dateiname bedeutet, dass der Dateiname aus der aktuellen Benutzerkennung generiert wird. Wenn |
mode |
Modus
Gibt den Dateimodus an, wie er in der C-Bibliothek für
die Funktion |
Beispiel: Angenommen, /fs/ ist auf das native
Dateisystem und /pfs/ auf ein portables Dateisystem gemapped.
CMPRINT=/fs/natural/test/print |
Es wird auf das Member print im Dataset
natural.test zugegriffen.
|
CMPRINT=/fs/natural/test/print/ |
Es wird auf den sequenziellen Dataset
natural.test.print zugegriffen.
|
CMPRINT=/pfs/natural/test/print |
Es wird auf das Member print in
/natural/test des portablen Dateisystems zugegriffen.
|
Syntax:
CMSYNIN=/pathname/filename[/]
|
Gibt den Pfadnamen
pathname und den Dateinamen
filename der entsprechenden
Kommandoeingabedatei an.
Wenn pathname auf das
native Dateisystem verweist und
filename mit dem Zeichen "/"
abgeschlossen ist, wird auf den sequenziellen Dataset
pathname/filename zugegriffen. Wenn er
nicht mit einem Schrägstrich (/) abgeschlossen ist, wird auf das Member
filename im Dataset
pathname zugegriffen.
Syntax:
CMOBJIN=/pathname/filename[/]
|
Gibt den Pfadnamen
pathname und den Dateinamen
filename der entsprechenden
Dateneingabedatei an.
Wenn pathname auf das
native Dateisystem verweist und
filename mit dem Zeichen "/"
abgeschlossen ist, wird auf den sequenziellen Dataset
pathname/filename zugegriffen. Wenn er
nicht mit einem Schrägstrich (/) abgeschlossen ist, wird auf das Member
filename im Dataset
pathname zugegriffen.
Der Zugriff auf Druck- und Arbeitsdateien in der
SMARTS-Serverumgebung wird von der DLL NCF92APS durchgeführt.
NCF92APS muss in den residenten Bereich geladen
werden. Wenn NCF92APS in den Thread des Anwendungsprogramms
geladen wird, wird die Natural-Sitzung mit der Fehlermeldung NAT9980
beendet.
Unterstützte Umgebungsvariablen:
NAT_PRINT_ROOT - Pfad zu den
Druckerdateien in einem PFS oder nativen Dateisystem.
NAT_WORK_ROOT - Pfad zu den
Arbeitsdateien in einem PFS oder nativen Dateisystem.
Syntax-Beispiel:
NAT_WORK_ROOT=/qualifier/path1/path2 |
Bedeutung:
qualifier
|
Kennzeichner
Bestimmt, ob auf ein portables SMARTS-Dateisystem oder ein natives, vom Betriebssystem verwaltetes Dateisystem zugegriffen wird. |
path1/path2
|
Pfad
Ist der Pfad zum Speicherort der Datei im entsprechenden Dateisystem. |
Um das unter z/OS verfügbare Recoverable Session Handling von
Com-plete zu nutzen, müssen Sie das Modul NCFROLLS mit Ihrem
Frontend-Modul verlinken. NCFROLLS dient als Schnittstelle zum
Natural Roll Server, der gestartet werden muss, um wiederherstellbare Sitzungen
zu unterstützen.
Außerdem muss das Modul ATRRCSS nicht mit Ihrem
Frontend-Modul verlinkt werden, da das RRS-Schnittstellenmodul Teil der
Com-plete-Routine TLOPUSER ist. Wenn eine konversationelle
Terminal-E/A durchgeführt werden soll, wird der Natural Thread in komprimierter
Form in das Natural Roll File geschrieben, um die Wiederaufnahme der
Natural-Sitzung nach einem Com-plete-Neustart zu ermöglichen. Bei
nicht-konversationellen Terminal-Ein-/Ausgaben und bei Anwendungen mit
gesperrtem Thread wird der Natural Thread nicht in das Natural Roll File
geschrieben. Folglich können solche Sitzungen nicht wiederhergestellt
werden.
Das Natural Com-plete/SMARTS Interface unterstützt Natural for zIIP unter Com-plete, wenn die in der Natural for zIIP-Dokumentation beschriebenen Voraussetzungen erfüllt sind.
Das Natural Com-plete/SMARTS Interface unterstützt den Natural Roll Server. Um diese Funktion zu nutzen, müssen Natural for zIIP unter Com-plete und der Natural Roll Server NATRSMvr verwendet werden. In diesem Fall wird die Komprimierung und Dekomprimierung des Natural Threads auf den IBM System z Integrated Information Processors (zIIPs) ausgeführt, wodurch die CPU-Belastung der General Central Processors (GCPs) reduziert wird.
Um die Verwendung des Natural Roll Servers zu aktivieren, brauchen
Sie nur den Natural Roll Server
NATRSMvr zu starten.
Anmerkung
Die Notation vr steht für die
jeweilige Produktversion (siehe auch
Version im
Glossar).