Natural unter IMS TM - Spezielle Funktionen

Dieses Kapitel beschreibt die Verwendung von speziellen Funktionen, die mit der Natural IMS TM-Schnittstelle zur Verfügung stehen.

Die folgenden Themen werden behandelt:


Voraussetzungen

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.

Accounting (Abrechnung)

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.

Monitoring (Überwachung)

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.

Broadcasting (Rundsenden)

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.

Server-Umgebung

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.

Aufruf-Schnittstelle NIIBOOTS

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.

Die Benutzung einer ON ERROR-Routine wird empfohlen

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.

Rückgabecodes

NIIBOOTS übergibt beim Beenden von Natural den von Natural bereitgestellten Rückgabecode

Beispielprogramme

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:

  1. Übergeben Sie das Kommando STAT. Die Zeichenkette COLD wird in den Antwortbereich zurückgegeben.

  2. Ü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.

  3. Übergeben Sie das Kommando STAT. Die Zeichenkette WARM wird in den Antwortbereich zurückgegeben.

  4. Ü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.

  5. Ü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.

  6. Ü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.

  7. Übergeben Sie das Kommando STAT. Die Zeichenfolge COLD wird an den Antwortbereich zurückgegeben.