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
Natural Com-plete/SMARTS-Schnittstelle auf z/OS installieren in der Installation für z/OS-Dokumentation
SYSTP Utility in der Natural-Debugger und Dienstprogramme-Dokumentation
Natural unter Com-plete/SMARTS-Benutzerabbruchcodes in der Meldungen und Codes-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-Ziele (Destinations)
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).