Natural unter IMS TM - Spezielle Funktionen

#### Search Results

Search

# 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

- Accounting (Abrechnung)

- Monitoring (Überwachung)

- Broadcasting (Rundsenden)

- Server-Umgebung

## 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.

### On this page

- Voraussetzungen
- Accounting (Abrechnung)
- Monitoring (Überwachung)
- Broadcasting (Rundsenden)
- Server-Umgebung