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 Meldung, 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
Installing the
Natural IMS TM Interface on z/OS in der Natural
Installation for 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 Meldung
ü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.