Natural unter IMS TM - Serviceprogramme

Dieses Kapitel beschreibt die Serviceprogramme der Natural IMS TM-Schnittstelle.

Die folgenden Themen werden behandelt:


Einführung in die Serviceprogramme der Natural IMS TM-Schnittstelle

Zweck der Serviceprogramme der Natural-IMS-TM-Schnittstelle

Serviceprogramme sind Natural-Subprogramme, die Natural unter IMS TM mit zusätzlicher Funktionalität ausstatten. Sie können sie aus einem Natural-Programm heraus mit einem Standard-CALLNAT-Statement aufrufen.

Speicherort der Serviceprogramme

Die Serviceprogramme werden in der Library SYSEXTP zur Verfügung gestellt. Sie müssen sie in die Library SYSTEM oder in die Steplib kopieren. Natural-Beispielprogramme zum Aufrufen der Serviceprogramme finden Sie ebenfalls in der Library SYSEXTP.

Allgemeine Rückgabecodes

Der letzte Parameter in jedem Serviceprogramm ist der Rückgabecode (Return Code). Format/Länge: (I4).

Die folgenden Rückgabecode-Werte sind für alle Serviceprogramme gleich:

0 OK
-1 Nicht unterstützte Funktion. Dies ist ein interner Fehler, bitte wenden Sie sich an den Support der Software AG.

Spezifische Rückgabecode-Werte finden Sie in den nachfolgenden Beschreibungen der einzelnen Serviceprogramme.

Fehlerbehandlung

Wenn ein Fehler auftritt, wird entweder eine Natural-Fehlermeldung ausgegeben oder die Sitzung wird mit einer Natural-IMS-TM-Fehlermeldung beendet. Siehe Natural under IMS TM Error Messages in der Natural Messages and Codes-Dokumentation.

Beschreibung der Serviceprogramme der Natural IMS TM-Schnittstelle

Die folgenden Serviceprogramme werden beschrieben:

NIIBRCST | NIICMD | NIIDEFT | NIIDEFTX | NIIDIRT | NIIDIRTX | NIIEMOD | NIIGCMD | NIIGMSG | NIIGSEG | NIIGSPA | NIIIMSIN | NIIISRTF | NIIISRTM | NIIPCBAD | NIIPCOM | NIIPMSG | NIIPSBAD | NIIPSPA | NIIPURG | NIIRETRM | NIISASD | NIIU3962

NIIBRCST - Übergebene Nachricht an Terminal senden

Sendet die übergebene Nachricht an das angegebene Terminal unter Verwendung des im Parameter MOD_name angegebenen Nachrichtenausgabe-Deskriptors.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge
Terminal_name (A8)
Message (A1/1:V)
Message_length (I4)
MOD_name (A8)
Return_code (I4)

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramm: NIPGMSG

NIICMD - IMS TM-Kommando an IMS TM übergeben

Übergibt das angegebene IMS TM-Kommando an IMS TM. Liegt eine Antwort vor, wird sie in den vorgesehenen Antwortbereich verschoben. Passt die Antwort nicht in den Antwortbereich, wird sie abgeschnitten und der Rückgabecode auf 4 gesetzt.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Command (A1/1:V) Eingabe
Command_length (I4) Eingabe
Reply_area (A1/1:V) Eingabe/Ausgabe
Reply_area_length (I4) Eingabe
Reply_length (I4) Ausgabe
Status_code (A2) Ausgabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: 4 (Antwort abgeschnitten)

Beispielprogramm: NIPCMD

NIIDEFT - Aufgeschobenen Wechsel zu Natural-Transaktionscode vorbereiten

Bereitet einen aufgeschobenen Wechsel zu dem angegebenen Natural-Transaktionscode vor. Bei der nächsten Terminal-E/A wird die Ausgabe an das Terminal gesendet und die nächste Eingabe von diesem Terminal wird von dem im Parameter Transaction_code angegebenen Transaktionscode verarbeitet.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Transaction_code (A8) Eingabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramm: NIPDEFT

NIIDEFTX - Aufgeschobenen Wechsel zu nicht-Natural-Transaktionscode vorbereiten

Bereitet einen aufgeschobenen Wechsel zu einem Nicht-Natural-Transaktionscode vor. Bei der nächsten Terminal-E/A wird die Ausgabe an das Terminal mit dem in MOD_name angegebenen Namen gesendet und die nächste Eingabe von diesem Terminal wird von dem im Parameter Transaction_code angegebenen

Ist Suspend_flag auf Y gesetzt, wird die Natural-Sitzung unterbrochen und kann später wieder aufgenommen werden. Wenn die Natural-Sitzung wieder aufgenommen wird, wird zunächst der letzte Natural-Bildschirm ausgegeben.

Wenn das Suspend_flag auf Y gesetzt ist, dürfen Sie nicht von einer konversationellen Natural-Sitzung zu einem nicht-konversationellen Transaktionscode wechseln. In diesem Fall wird eine Natural-Fehlermeldung ausgegeben.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Transaction_code (A8) Eingabe
Transaction_type (A4) Eingabe

Mögliche Werte:

CONV für konversationell
NONC für nicht-konversationell

Suspend_flag (A1) Eingabe

Mögliche Werte:

Y - die Natural-Sitzung wird unterbrochen,
sonst wird die Natural-Sitzung beendet.

MOD_name (A8) Eingabe
Message (A1/1:V) Eingabe
Message_length (I4) Eingabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramm: NIPDEFTX

NIIDIRT - Direkten Wechsel zu Natural-Transaktionscode vorbereiten

Bereitet einen direkten Wechsel zu einem angegebenen Natural-Transaktionscode vor. Beim nächsten Terminal Write wird das Kommando CHNG an den angegebenen Transaktionscode ausgegeben und der Natural-Bildschirm wird mit dem alternativen TP PCB eingefügt.

Wenn Sie von einer konversationellen Natural-Sitzung zu einer nicht-konversationellen wechseln, wird die Konversation beendet und eine Dummy-Nachricht mit dem MOD_Name NIIMODNC eingefügt. Diese Nachricht hebt den Schreibschutz des Bildschirms vorübergehend auf und wird daher durch den ersten Bildschirm der nicht-konversationellen Natural-Sitzung überschrieben.

Parameter Format/Länge Typ
Transaction_code (A8) Eingabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramm: NIPDIRT

NIIDIRTX - Direkten Wechsel zum Transaktionscode vorbereiten

Bereitet einen direkten Wechsel zu dem angegebenen Transaktionscode vor. Beim nächsten Terminal Write wird der CHNG-Aufruf für den neuen Transaktionscode ausgegeben, und die Nachricht und/oder die SPA werden mit dem alternativen TP PCB eingefügt. Der Transaktionstyp definiert die Art des neuen Transaktionscodes.

  • Wenn Sie von einem konversationellen Transaktionscode zu einem nicht-konversationellen Transaktionscode wechseln, wird die Konversation beendet, indem eine Dummy-Nachricht mit dem MOD_name NIIMODN ausgegeben wird, die den Schreibschutz des Bildschirms vorübergehend aufhebt, so dass er durch den Bildschirm überschrieben wird, der von dem nicht-konversationellen Transaktionscode ausgegeben wird.

  • Wenn Suspend_flag auf Y gesetzt ist, wird die Natural-Sitzung unterbrochen und kann zu einem späteren Zeitpunkt wieder aufgenommen werden. Wenn die Natural-Sitzung wieder aufgenommen wird, wird der letzte Natural-Bildschirm ausgegeben.

    Wenn Suspend_flag auf Y gesetzt ist, dürfen Sie nicht von einem konversationellen Natural zu einem nicht konversationellen Transaktionscode wechseln. In diesem Fall wird eine Natural-Fehlermeldung ausgegeben.

  • Wenn die Nachrichtenlänge (Message_length) auf Null gesetzt ist, wird überhaupt keine Nachricht eingefügt. Dies ist jedoch nur möglich, wenn Sie zu einem konversationellen Transaktionscode wechseln.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Transaction_code (A8) Eingabe
Transaction_type (A4) Eingabe

Mögliche Werte:

CONV für konversationellen Transaktionscode
NONC für nicht-konversationellen Transaktionscode

Suspend_flag (A1) Eingabe

Mögliche Werte:

Y - die Natural-Sitzung wird unterbrochen,
sonst wird die Natural-Sitzung beendet.

Message (A1/1:V) Eingabe
Message_length (I4) Eingabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramm: NIPDIRTX

NIIEMOD - Einstellung des Modul-Ausgabe-Deskriptors ändern

Ändert die aktuelle Einstellung des Modul-Ausgabe-Deskriptors, der beim Einfügen der letzten Nachricht in einer Natural-Sitzung verwendet wird, und setzt ihn auf den im Parameter MOD_name angegebenen Wert.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
MOD_name (A8) Eingabe
Return_code (I4) Ausgabe

Beispielprogramm: NIPEMOD

NIIGCMD - Nächstes Antwortsegment des vorherigen IMS TM-Kommandos abrufen

Ruft das nächste Antwortsegment eines zuvor erteilten IMS TM-Kommandos ab. Die Länge der Antwort wird über den Parameter Reply_length zurückgegeben. Wenn die Antwort nicht in den Antwortbereich passt, wird die Antwort abgeschnitten und der Rückgabecode-Wert 4 ausgegeben.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Reply_area (A1/1:V) Eingabe/Ausgabe
Reply_area_length (I4) Eingabe
Reply_length (I4) Ausgabe
Status_code (A2) Ausgabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: 4 (Antwort abgeschnitten)

Beispielprogramm: NIPCMD

NIIGMSG - Erstes Segment der nächsten Nachricht abrufen

Ruft das erste Segment der nächsten Nachricht aus der Nachrichtenwarteschlange ab, indem ein GU ausgegeben wird. Der Nachrichtenbereich enthält die abgerufene Nachricht einschließlich der führenden LLZZ-Bytes. Befinden sich keine Nachrichten in der Nachrichtenwarteschlange, wird LLZZ auf Null gesetzt.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Message_area (A1/1:V) Ausgabe
Message_area_length (I4) Eingabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramme: NIPGMSG, NIPGSEG

NIIGSEG - Nächstes Segment der Eingabenachricht abrufen

Ruft das nächste Segment der Eingabenachricht ab, indem ein GN-Aufruf ausgeführt wird. Der Nachrichtenbereich enthält die abgerufene Nachricht einschließlich der führenden LLZZ-Bytes. Gibt es keine weiteren Nachrichtensegmente in der aktuellen Nachricht, wird LLZZ auf Null gesetzt.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Message_area (A1/1:V) Ausgabe
Message_area_length (I4) Eingabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramm: NIPGSEG

NIIGSPA - Daten ab SPA-Beginn abrufen

Ruft aus der SPA Daten ab, die am angegebenen Offset und in der angegebenen Länge beginnen.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Offset (I4) Eingabe
Length (I4) Eingabe
Area (A1/1:V) Eingabe/Ausgabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: 4

Die abgerufenen Daten befinden sich ganz oder teilweise in dem für Natural reservierten Teil der SPA.

Beispielprogramm: NIPGSPA

NIIIMSIN - IMS TM-Umgebungsinformationen abrufen

Ruft die IMS TM-Umgebungsinformationen über den Aufruf INQY ENVIRON ab. Wenn Sie eine Reply_area_length kleiner als 102 angeben, wird die Antwort abgeschnitten und Sie erhalten den Rückgabecode X'0100' mit dem Reasoncode X'000C'.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Reply_area (A1/1:V) Ausgabe
Reply_area_length (I4) Eingabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: nnxx

Bedeutung:

nn: Die ersten 2 Bytes enthalten den Rückgabecode von AIB.

xx: Die zweiten 2 Bytes enthalten den AIB Reason Code. AIB steht für "Application Interface Block" und wird beim Aufruf von IMS TM über die AIBTDLI-Schnittstelle verwendet.

Beispielprogramm: NIPIMSIN

NIIISRTF - Mehrere Segmente enthaltende Nachrichten erstellen

Erzeugt mehrere Segmente enthaltende Nachrichten. NIIISRTF führt den CHNG-Aufruf für das angegebene Ziel aus und fügt das erste Nachrichtensegment ein, ohne einen PURG-Aufruf durchzuführen. Weitere Nachrichtensegmente können mit NIIISRTM eingefügt werden. Die Nachricht muss mit NIIPURG abgeschlossen werden. Die LLZZ-Bytes werden vom Service-Modul erzeugt.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Destination (A8) Eingabe
Message (A1/1:V) Eingabe
Message_length (I4) Eingabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramm: NIPISRTM

NIIISRTM - Nachrichtensegment in Nachrichtenwarteschlange einfügen

Fügt das nächste Nachrichtensegment in die Nachrichtenwarteschlange ein, ohne einen CHNG- oder PURG-Aufruf durchzuführen. Die LLZZ-Bytes werden durch das Servicemodul erstellt.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Message (A1/1:V) Eingabe
Message_length (I4) Eingabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramm: NIPISRTM

NIIPCBAD - PSB-Name und PCB-Adresse zurückgeben

Gibt den Namen des aktuell geplanten PSB und die Adresse des durch den logischen Namen identifizierten PCB zurück. Wenn der logische PCB-Name nicht in der Transaktionscode-Tabelle definiert ist, wird eine Natural-Fehlermeldung ausgegeben.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
PSB_name (A8) Ausgabe
Logical_PCB_name (A8) Eingabe
PCB_address (B4) Ausgabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramm: NIPPCBAD

NIIPCOM - Daten in Antwortbereich verschieben

Verschiebt die im Datenbereich bereitgestellten Daten in den im NIIBOOTS-Aufruf angegebenen Antwortbereich am angegebenen Offset und in der angegebenen Länge. NIIPCOM kann nur aus der Server-Umgebung aufgerufen werden.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Offset (I4) Eingabe
Data_area (A1/1:V) Eingabe
Length (I4) Eingabe
Return_code (I4) Ausgabe

Spezifische Returncode-Werte: 4 (aufrufende Umgebung, Nicht-Server-Umgebung)

Beispielprogramm: NIPPCOM

NIIPMSG - Nachricht senden

Sendet eine Nachricht mit einem gegebenen MOD_name an das Ziel, das durch den E/A PCB repräsentiert wird. Die Nachricht wird aus dem Nachrichtenbereich und in der angegebenen Nachrichtenbereichslänge entnommen. Der Nachrichtenbereich darf die führenden LLZZ-Bytes nicht enthalten. Auf diese Weise können Sie MFS-formatierte Ausgabenachrichten an den Absender der Eingabenachricht zurücksenden.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Message (A1/1:V) Eingabe
Message_length (I4) Eingabe
MOD_name (A8) Eingabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramm: NIPPMSG

NIIPSBAD - PSB-Adresse zurückgeben

Gibt die Adresse der PSB zurück, die die Adresse der PCB-Adressliste ist.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
PSB_address (B4) Ausgabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramm: NIPBOOTS

NIIPSPA - Daten in der SPA ersetzen

Ersetzt die Daten in der SPA am angegebenen Offset in der angegebenen Länge durch die im Datenbereich angegebenen Daten.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Offset (I4) Eingabe
Length (I4) Eingabe
Data_area (A1/1:V) Eingabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Der Versuch, den Header der SPA (die ersten 14 Bytes) und/oder Daten, die sich im für Natural reservierten Bereich befinden, zu überschreiben, wird abgelehnt und es wird eine Natural-Fehlermeldung ausgegeben.

Beispielprogramm: NIPPSPA

NIIPURG - PURG-Aufruf ausgeben

Gibt einen PURG-Aufruf aus.

Der folgende Parameter wird bereitgestellt:

Parameter Format/Länge Typ
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramm: NIPISRTM

NIIRETRM - Daten in den Nachrichtenbereich verschieben

Verschiebt Daten aus der Eingabenachricht ab dem angegebenen Offset und in der angegebenen Länge in den angegebenen Nachrichtenbereich.

Der Offset wird ab den LLZZ-Bytes berechnet.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Offset (I4) Eingabe
Length (I4) Eingabe
Message_area (A1/1:V) Eingabe/Ausgabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramm: NIPRETRM

NIISASD - SENDER- und OUTDEST-Einstellungen ändern

Ändert die aktuelle Einstellung der Natural-Profilparameter SENDER und OUTDEST.

Die folgenden Parameter werden bereitgestellt:

Parameter Format/Länge Typ
Sender (A8) Eingabe
Outdest (A8) Eingabe
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramm: NIPNTRD

NIIU3962 - Sitzung beenden

Beendet die Sitzung mit dem Benutzer-Abendcode U3962 und erzeugt einen Dump.

Der folgende Parameter wird bereitgestellt:

Parameter Format/Länge Typ
Return_code (I4) Ausgabe

Spezifische Rückgabecode-Werte: Keine.

Beispielprogramm: NIPU3962