Dieses Kapitel beschreibt die Verwendung von speziellen Funktionen, die mit der Natural IMS TM-Schnittstelle zur Verfügung stehen.
Die folgenden Themen werden behandelt:
Für einige dieser Funktionen ist der Natural Authorized Services Manager (ASM) erforderlich.
Wenn der ASM erforderlich ist, muss er gestartet sein, bevor die Funktion verwendet wird.
Das vom ASM verwendete Natural-Subsystem muss das gleiche sein wie das von der Natural-Sitzung verwendete.
Für Accounting (Abrechnung) und Monitoring (Überwachung) muss zusätzlich der SIP-Server aktiviert sein.
Die Abrechnungsfunktion ist nur in dialogorientierten Umgebungen verfügbar. Sie wird
aktiviert, indem im Makro NTIMSPE des Natural-Parametermoduls der
Schlüsselwort-Subparameter ACTACTV der Umgebungstabelle auf ON
gesetzt wird.
Bei jeder Terminal-E/A werden Informationen über die jeweilige Natural-Sitzung in das
IMS-TM Log (Protokoll) oder in das SMF geschrieben, je nach Einstellung des
Schlüsselwort-Subparameters ACTLOG im NTIMSPE-Makro.
Wenn der Schlüsselwort-Subparameter ACTACTV
auf CMD gesetzt ist, wird ein /LOG-Kommando
ausgegeben, das den Abrechnungssatz in das IMS TM Log (Protokoll) schreibt. Alle
Transaktionscodes müssen daher das Kommando /LOG verwenden
dürfen. Am Anfang eines jeden Datensatzes wird ein 8-Byte-Header eingefügt. Dieser
Header erleichtert die Auswahl der Abrechnungssätze mit Hilfe der IMS TM Utility
DFSERA10. Der Header-String wird durch den Schlüsselwort-Subparameter
ACTAHDR der Umgebungstabelle definiert (Makro
NTIMSPE).
Wenn der Schlüsselwort-Subparameter ACTACTV
auf LOG gesetzt ist, wird der Abrechnungssatz mit dem
LOG-Aufruf in das IMS TM Log (Protokoll) geschrieben. Mit dem
Schlüsselwort-Subparameter ACTARID (Makro NTIMSPE) können Sie
den zu verwendenden Protokollcode angeben.
Wenn der Schlüsselwort-Subparameter ACTACTV
auf SMF gesetzt ist, wird der Abrechnungssatz mit Hilfe des Authorized
Services Manager in das SMF geschrieben. Mit dem Schlüsselwort-Subparameter ACTARID
können Sie den zu verwendenden SMF-Satztyp angeben.
Bei jeder Terminal-Ein-/Ausgabe werden die folgenden Informationen über jede Natural-Benutzersitzung gespeichert:
IMS TM-Kennung des IMS TM-Systems, in dem der Benutzer aktiv ist,
LTERM-Name des IMS TM-Terminals, an dem die Sitzung gestartet wurde,
Benutzerkennung des Benutzers der Natural-Sitzung (aus dem IOPCB),
Anzahl der derzeit durchgeführten Dialogschritte,
derzeit aktiver Transaktionscode,
derzeit aktiver PSB-Name,
aktueller Name der Natural Library, bei der der Benutzer angemeldet ist,
derzeit aktiver Natural-Programmname,
Nicht-Natural-Transaktionscode, bei dem die Sitzung möglicherweise unterbrochen ist,
Uhrzeit und Datum des Starts der Sitzung,
Uhrzeit und Datum der letzten ENTER-Operation,
Datenbankkennung (DBID) und Dateinummer (FNR) der Natural-Systemdatei (FNAT) für diese Sitzung,
DBID und FNR der Natural-Benutzerdatei (FUSER) für diese Sitzung,
DBID und FNR der Natural-Dictionary-Datei (FDIC) für diese Sitzung,
DBID und FNR der Natural Security-Systemdatei (FSEC) für diese Sitzung,
DBID und FNR der Natural-Spooldatei (FSPOOL) für diese Sitzung,
DBID und FNR der Super Natural-Systemdatei für diese Sitzung,
Nummer des zuletzt aufgetretenen Natural-Fehlers,
komprimierte Thread-Länge der letzten Terminalausgabe.
Die Informationen werden durch den DSECT NIMACTR gemapped. Es gibt zwei
Bereiche für die Speicherung der DBID und FNR der verwendeten Natural-System-Dateien. Im
ersten Bereich wird aus Kompatibilitätsgründen für jede DBID und FNR ein Byte verwendet.
Im zweiten Bereich wird für jede DBID und FNR ein Vollwort verwendet, um Adabas Version 6
oder höher zu unterstützen. Dem Abrechnungssatz wird ein Längen- und Versionsfeld
vorangestellt.
Bevor der Abrechnungssatz in das IMS-TM Log (Protokoll) bzw. in das SMF geschrieben wird,
wird der User Exit NIIXACCT aufgerufen. Mit diesem User Exit können Sie den
Abrechnungssatz an Ihre Erfordernisse anpassen. Sie können auch Informationen an den
Abrechnungssatz anhängen. In diesem Fall müssen Sie das Length-Feld auf die neue Länge
setzen.
Da der Abrechnungssatz im Command Buffer (Kommando-Pufferspeicher) angelegt wird, darf
die Gesamtlänge den mit dem Schlüsselwort-Subparameter CMBSIZE
(Makro NTIMSPE des Natural-Parametermoduls) angegebenen Wert minus 17 Byte
nicht überschreiten. Die maximal zulässige Länge wird als Parameter übergeben.
Wenn NIIXACCT mit einem Wert ungleich Null in Register 15 zurückkehrt, wird
kein Abrechnungssatz geschrieben.
Die Überwachungsfunktion ist nur in dialogorientierten Umgebungen verfügbar. Sie wird
aktiviert, indem der Schlüsselwort-Subparameter MONACTV in
der Umgebungstabelle auf ON gesetzt wird (Makro NTIMSPE im
Natural-Parametermodul), und verwendet die SIP-Funktion des Authorized Services Manager.
Das Natural-Subsystem muss dasselbe sein, das auch von der zu überwachenden
Natural-Sitzung verwendet wird.
Sie können die laufenden Aktivitäten aller Natural-Sitzungen, die dasselbe
Natural-Subsystem verwenden, mit Hilfe der Funktion Monitoring
(M) des Dienstprogramms SYSTP verfolgen. Weitere Informationen zu diesem
Dienstprogramm finden Sie unter SYSTP in der Debugger und Dienstprogramme
(Utilities)-Dokumentation. Für SYSTP-Sitzung muss ebenfalls dasselbe
Natural-Subsystem verwendet werden.
Die Broadcasting-Funktion ist nur in dialogorientierten Umgebungen verfügbar. Sie wird
aktiviert, indem der Subparameter BROACTV in der Umgebungstabelle auf ON
gesetzt wird (Makro NTIMSPE im Natural-Parametermodul), und verwendet die
SIP-Funktion des Authorized Services Manager.
Ist das Broadcasting aktiviert, ist es möglich, Broadcast-Nachrichten an bestimmte Benutzer eines bestimmten Natural-Subsystems zu senden. Solche Benutzer können sein:
alle Benutzer des Natural-Subsystems, mit dem der Absender verbunden ist,
alle Benutzer des Natural-Subsystems innerhalb desselben IMS TM-Systems wie der Absender der Nachricht,
alle Benutzer des Natural-Subsystems innerhalb desselben IMS TM-Systems wie der Absender der Nachricht, jedoch zusätzlich eingeschränkt auf einen bestimmten Transaktionscode,
alle Benutzer des Natural-Subsystems innerhalb desselben IMS TM-Systems wie der Absender der Nachricht, jedoch zusätzlich eingeschränkt auf eine Natural-Anwendung,
alle Benutzer des Natural-Subsystems innerhalb desselben IMS TM-Systems wie der Absender der Nachricht, jedoch zusätzlich beschränkt auf eine Natural-Anwendung und eine bestimmte FUSER-Systemdatei.
Wenn es in einer Sitzung zu einer Terminalausgabe kommt, wird geprüft, ob die Sitzung eine Nachricht empfangen muss oder nicht. Wenn nicht, wird die normale Natural-Ausgabe gesendet. Wenn ja, wird die Nachricht anstelle der normalen Ausgabe gesendet, und beim Drücken von ENTER wird der Natural-Nukleus angewiesen, den letzten Bildschirm erneut zu senden. Auf diese Weise sehen Sie zuerst die Nachricht und erhalten danach den normalen Natural-Ausgabebildschirm.
Wenn mehr als eine Broadcast-Nachricht vorhanden ist, werden die Nachrichten nacheinander angezeigt, bis die letzte Nachricht angezeigt wurde. Danach wird der normale Natural-Ausgabebildschirm angezeigt.
Eine Broadcast-Nachricht wird nur angezeigt, wenn die bei der Erstellung der Nachricht angegebene Verfallszeit nicht überschritten wurde.
Wenn eine Broadcast-Nachricht gesendet wurde, müssen Sie RESET drücken, bevor Sie erneut ENTER drücken können. Alle möglichen Achtungskennungen (Attention-IDs) haben die gleiche Wirkung wie das Drücken von ENTER.
Mit dem Dienstprogramm SYSTP können Sie Broadcast-Nachrichten erstellen und den Inhalt aller aktiven Nachrichten zusammen mit der LTERM/IMSID des Absenders anzeigen. Der Text einer Nachricht ist auf 72 Bytes begrenzt.
Die zu sendenden Nachrichten werden in einem Pool gespeichert, der vom SIP-Server verwaltet wird. Sie verbleiben dort, bis Sie sie mit dem Dienstprogramm SYSTP löschen oder bis Sie den Authorized Services Manager herunterfahren.
| Warnung: Wenn eine Rundspruchnachricht gelöscht oder erstellt wird, werden auch alle abgelaufenen Nachrichten gelöscht. |
Die Server-Umgebung ermöglicht es 3GL-Anwendungen, Natural-Programme über eine
Aufrufschnittstelle (Call Interface) auszuführen. Sie ist in allen unterstützten IMS
TM-Umgebungen verfügbar und besteht aus dem Natural IMS TM-Treiber NIISRVD,
der Server-Aufrufschnittstelle NIIBOOTS und der Service-API
NIIPCOM.
NIISRVD und NIIBOOTS werden als Quellcodemodule geliefert und
müssen bei Ihnen vor Ort assembliert und verlinkt werden. Einzelheiten finden Sie unter
Natural IMS
TM-Schnittstelle auf z/OS installieren in der Natural
Installation für z/OS-Dokumentation.
In der Serverumgebung können Sie eine Natural-Sitzung starten, indem Sie
NIIBOOTS aus einem beliebigen 3GL-Programm aufrufen. Nachdem die
Natural-Sitzung gestartet wurde, kehrt sie zu dem aufrufenden 3GL-Programm zurück und
wartet auf weitere Eingaben. Die Eingabe wird normalerweise von CMSYNIN
kommend erwartet, was bedeutet, dass das 3GL-Programm den primären Eingabe-Dataset von
Natural simulieren muss.
Es wird dringend empfohlen, das Server-Natural immer auf die NEXT-Zeile zu
legen. Dadurch kann der nächste Aufruf von NIIBOOTS entweder ein
Natural-Kommando oder ein Natural-Programm ausführen. Andernfalls würde der nächste Aufruf
von NIIBOOTS als Eingabe für ein Natural-Programm behandelt werden, das durch
einen früheren Aufruf von NIIBOOTS gestartet wurde.
Ähnlich wie bei der nachrichtenorientierten Schnittstelle werden alle Ausgaben, die
normalerweise in CMPRINT geschrieben werden, an das mit dem
Natural-Profilparameter SENDER angegebene IMS TM-Ziel gesendet. Einzelheiten
zu den speziellen Zielen, die von der Natural IMS TM-Schnittstelle verwendet werden,
finden Sie unter Sender-Ziel im Abschnitt Natural unter IMS TM -
Umgebungen.
| Warnung: In einer MPP-Umgebung wird standardmäßig für alle in dieser Region geplanten Transaktionen dasselbe Server-Natural verwendet. Wenn Sie mehrere Server-Naturals in derselben MPP-Region verwenden möchten, müssen Sie mehrere Server-Call-Schnittstellen generieren. Jede Server-Call-Schnittstelle muss mit einem eindeutigen Namen generiert werden, der mit dem NIMBOOT-Parameter SERVERN angegeben wird, und muss unter einem
eindeutigen Namen verlinkt werden. Es wird empfohlen, das Lademodul nach dem mit
SERVERN angegebenen Namen zu benennen. |
NIIBOOTS ist der Standardname, wie er in der Dokumentation und in den
mitgelieferten Beispielprogrammen verwendet wird. Dieser Standardname kann während der
Installation geändert werden.
NIIBOOTS benötigt die folgenden Parameter:
die PSB-Adresse (die Adresse der PCB-Adressliste),
den Kommandobereich,
den Antwortbereich.
Im Kommandobereich kann Folgendes übergeben werden:
die Startup-Parameter,
jedes Natural-Kommando, gefolgt von seinen Eingabedaten,
die NIIBOOTS-spezifischen Kommandos, wie
STAT und REFR (in
Kombination mit den Startup-Parametern).
Die Startup-Parameter werden in zwei zusammenhängenden 80-Byte-Bereichen übergeben. Der erste Bereich enthält den Namen der Umgebungstabelle und den Namen des zu verwendenden Transaktionscodes wie folgt:
ENV-TAB=environment-table-name TRNCODE=transaction-code-name
Der Transaktionscode wird nur berücksichtigt, wenn im Natural-Parametermodul im Makro
NTIMSP
TRNCODE=ON
angegeben ist. Einzelheiten zur Verwendung des Transaktionscodes finden Sie im Makro
NIMBOOT im Abschnitt Natural unter IMS TM - Konfiguration).
Der zweite Bereich enthält die dynamischen Natural-Parameter, mit denen die Natural-Sitzung gestartet werden soll.
Der Antwortbereich ist der Bereich, in dem eine Antwort aus dem ausgeführten
Natural-Programm über die Service-API NIIPCOM eingegeben werden soll.
NIIBOOTS prüft jedes Mal, wenn es aufgerufen wird, ob das Server-Natural
initialisiert worden ist.
Wenn Natural nicht initialisiert wurde, wird eine neue Natural-Sitzung gestartet und das empfangene Kommando wird als dynamischer Parameter an Natural übergeben.
Wenn Natural initialisiert wurde, wird der im Kommandobereich empfangene String als Natural-Kommando oder als Natural-Programm an Natural übergeben.
Die NIIBOOTS-spezifischen Kommandos STAT und
REFR haben die folgende Funktion:
STAT gibt im Antwortbereich COLD zurück,
wenn Natural noch nicht initialisiert wurde, und WARM, wenn es bereits
initialisiert wurde.
REFR erzwingt die Initialisierung/Reinitialisierung von
Natural, unabhängig vom aktuellen Zustand von Natural.
Es wird dringend empfohlen, eine ON ERROR-Routine in den ausgeführten
Natural-Programmen zu verwenden, um dem aufrufenden 3GL-Programm einige Informationen im
Antwortbereich mittels NIIPCOM zurückzugeben.
NIIBOOTS übergibt beim Beenden von Natural den von Natural
bereitgestellten Rückgabecode
Um die Verwendung von NIIBOOTS und NIIPCOM zu
veranschaulichen, werden die Beispielprogramme NIPBOOTS und
NIPPCOM mitgeliefert. NIPBOOTS spielt die Rolle des
aufrufenden 3GL-Programms, NIPPCOM ist ein Natural-Beispielprogramm, das
in der Serverumgebung ausgeführt wird und den String NIISRVR in den
Antwortbereich schreibt. Die ON ERROR-Routine stellt die
Natural-Fehlernummer in den Antwortbereich.
Mit den Beispielprogrammen können Sie das folgende Szenario durchspielen:
Übergeben Sie das Kommando STAT. Die Zeichenkette COLD
wird in den Antwortbereich zurückgegeben.
Übergeben Sie das Kommando: STACK=(LOGON
SYSEXTP),SENDER=S0201, wobei S0201 der
LTERM-Name des zugewiesenen Druckergeräts im Server-Natural ist.
Natural wird initialisiert und ist bereit, ein Natural-Kommando in der Library
SYSEXTP zu empfangen. Die Nachricht über die erfolgreiche Anmeldung
wird auf dem zugewiesenen Drucker ausgegeben. Im Antwortbereich wird nichts
zurückgegeben.
Übergeben Sie das Kommando STAT. Die Zeichenkette
WARM wird in den Antwortbereich zurückgegeben.
Übergeben Sie das Kommando NIPPCOM. Das Programm
NIPPCOM wird ausgeführt und die Zeichenkette NIPSRVR
wird in den Antwortbereich zurückgegeben. Natural ist bereit, das nächste Kommando
in der Library SYSEXTP entgegenzunehmen.
Übergeben Sie das Kommando: REFR STACK=(LOGON
SYSEXTP;NIPPCOM),SENDER=S0201
Natural wird reinitialisiert und das Programm NIPPCOM in der Library
SYSEXTP wird ausgeführt. Der Antwortbereich enthält die
Zeichenkette NIPSRVR.
Übergeben Sie das Kommando FIN.
Natural wird beendet und es werden keine Informationen an den Antwortbereich übergeben. Der Rückgabecode enthält den Rückgabecode der Natural-Beendigung. Die Natural-Beendigungsnachricht wird auf dem zugewiesenen Druckergerät ausgegeben.
Übergeben Sie das Kommando STAT. Die Zeichenfolge
COLD wird an den Antwortbereich zurückgegeben.