Natural unter IMS TM - Servicemodule

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

Die folgenden Themen werden behandelt:


Zweck der Servicemodule

Servicemodule führen IMS TM-spezifische Funktionen aus. Sie können aus einem Natural-Programm heraus über die standardmäßige Natural-Call-Schnittstelle aufgerufen werden. Beispielprogramme werden durch ein Natural INPL in die Library SYSEXTP geladen.

Beschreibungen der Servicemodule

Dieser Abschnitt enthält detaillierte Beschreibungen der Servicemodule in alphabetischer Reihenfolge. Dazu gehört auch eine Liste der zur Verfügung stehenden Parameter und der Name des modulrelevanten Beispielprogramms.

CMCMMND - IMS TM-Operator-Kommandos ausgeben

Das Modul CMCMMND gibt IMS TM-Operator-Kommandos aus und sendet die Antwortsegmente an das Natural-Anwenderprogramm zurück.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
Command   Eingabe  
Command length (B4) Eingabe  
Reply   Ausgabe  
Length of reply area (B4) Eingabe  

Das im Kommandobereich enthaltene Operator-Kommando wird mit der angegebenen Länge an IMS TM ausgegeben.

Wenn der Benutzer eine Antwortlänge ungleich Null eingestellt hat, werden alle Antwortsegmente von IMS TM über die maximal verfügbare Länge in den Antwortbereich verschoben. Wenn der Antwortbereich mindestens zwei Bytes lang ist, enthalten die ersten beiden Bytes den IMS TM-Statuscode, nachdem der Kommandoaufruf erfolgt ist. Die beiden äußersten rechten Bytes des REPLGTH-Feldes enthalten die effektive Länge der gesamten Antwort, die in das REPLY-Feld übertragen wurde.

Wenn die Antwort von IMS TM gekürzt werden muss, wird dies durch Setzen von X'80' im ganz linken Byte des REPLGTH-Feldes angezeigt.

Beispielprogramm: NIPSCMND

CMDEFSW - Aufgeschobenen Transaktionswechsel zu einem Natural-Transaktionscode ausführen

Das Modul CMDEFSW führt einen verzögerten Transaktionswechsel zu einem Natural-Transaktionscode durch.

Der folgende Parameter wird bereitgestellt:

Name Format/Länge Typ Kommentar
Trancode   Eingabe  

Bei der nächsten Terminal-E/A wird die Ausgabe an das Terminal gesendet und die nächste Eingabe von diesem Terminal wird durch den als Parameternachricht übergebenen Transaktionscode verarbeitet.

CMDEFSWX - Aufgeschobenen Transaktionswechsel zu einem Nicht-Natural-Transaktionscode durchführen

Das Modul CMDEFSWX führt einen aufgeschobenen Wechsel zu einem Nicht-Natural-Transaktionscode durch.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
Trancode   Eingabe Transaktionscode
Message   Eingabe Nachricht
Message length   Eingabe Länge der Nachricht
MOD name   Eingabe MOD-Name

Bei der nächsten Terminal-E/A wird die gegebene Nachricht mit dem gegebenen MOD_name eingefügt und die Natural-Sitzung wird beendet.

Wenn der neue Transaktionscode ein Natural-Transaktionscode ist, werden die Nachricht und der MOD_name, die als Parameter übergeben wurden, ignoriert und CMDEFSWX funktioniert wie CMDEFSW.

Beispielprogramm: NIPSDEFX.

CMDIRNMX - Wechsel zu einer anderen konversationellen Transaktion ohne Nachricht durchführen

Das Modul CMDIRNMX hat die gleiche Funktionalität wie CMDIRSWX, mit dem Unterschied, dass keine Nachricht auf dem alternativen PCB eingefügt wird. Der einzige Parameter, den Sie angeben müssen, ist daher Trancode.

Der folgende Parameter wird bereitgestellt:

Name Format/Länge Typ Kommentar
Trancode   Eingabe Transaktionscode

CMDIRNMX kann auch verwendet werden, um direkt zu einem anderen Natural-Transaktionscode zu wechseln, da in diesem Fall standardmäßig die Taste CLEAR als Eingabenachricht an Natural übergeben wird.

Wenn Sie zu einem Nicht-Natural-Transaktionscode wechseln wollen, wird dringend empfohlen, stattdessen das Statement TERMINATE in Verbindung mit dem Servicemodul CMTRNSET zu verwenden.

CALL 'CMTRNSET' TRANCODE /* set transaction code */ 
TERMINATE                /* terminate Natural and call TRANCODE */

CMDIRNMZ - Wechsel zu einer anderen konversationellen Transaktion ohne Nachricht durchführen

Das Modul CMDIRNMZ hat die gleiche Funktionalität wie CMDIRSWZ, mit dem Unterschied, dass keine Nachricht in den alternativen PCB eingefügt wird. Der einzige Parameter, den Sie angeben müssen, ist daher Trancode.

Der folgende Parameter wird bereitgestellt:

Name Format/Länge Typ Kommentar
Trancode   Eingabe Transaktionscode

CMDIRSWX - Wechsel zu einer anderen konversationellen Transaktion mit Nachricht durchführen

Das Modul CMDIRSWX führt einen direkten Wechsel zu einer anderen konversationellen Transaktion durch und gibt eine Nachricht an, die an diese neue Transaktion weitergegeben werden soll.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
Trancode   Eingabe Transaktionscode
Message   Eingabe Nachricht
Message length (B4) Eingabe Länge der Nachricht

Bei der nächsten Terminal-E/A wird ein Änderungsaufruf gegen den alternativen PCB ausgeführt, um dessen Ziel auf den Wert des Feldes Trancode zu setzen. Die SPA und die Nachricht werden dann in den alternativen PCB eingefügt.

Der neue Transaktionscode wird daraufhin überprüft, ob es sich um einen Natural- oder einen Nicht-Natural-Transaktionscode handelt.

Im Falle eines Nicht-Natural-Transaktionscodes wird die Natural-Sitzung abgebrochen.

Bei einem Natural-Transaktionscode wird die Taste CLEAR als Eingabenachricht an Natural übergeben, was bedeutet, dass Natural so reagiert, als ob der Terminalbenutzer die Taste CLEAR gedrückt hätte. Der Typ des neuen Transaktionscodes wird automatisch übernommen.

Wenn Sie zu einem Nicht-Natural-Transaktionscode wechseln wollen, wird dringend empfohlen, stattdessen das TERMINATE-Statement in Verbindung mit dem Servicemodul CMTRNSET zu verwenden.

CALL 'CMTRNSET' TRANCODE /* set transaction code */ 
TERMINATE 0 MESSAGE      /* terminate Natural and call TRANCODE with MESSAGE */

Die Nachricht MESSAGE wird in der Länge der Natural-Variablen Message an den Transaktionscode Trancode übergeben. Der Rückgabecode des TERMINATE-Statements muss Null sein. Andernfalls wird die Natural-Sitzung mit der Abbruchfehlermeldung NAT9987 abgebrochen und der Transaktionscode-Wechsel findet nicht statt.

Beispielprogramm: NIPSDIRX

CMDIRSWZ - Wechsel zu einer anderen konversationellen Transaktion mit Nachricht durchführen

Das Modul CMDIRSWZ hat die gleiche Funktionalität wie CMDIRSWX.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
Trancode   Eingabe Transaktionscode
Message   Eingabe Nachricht
Message length (B4) Eingabe Länge der Nachricht

Der Unterschied zu CMDIRSWX besteht darin, dass im Falle eines Wechsels zu einem Nicht-Natural-Transaktionscode die aktuelle Natural-Sitzung nicht abgebrochen wird. Dies geschieht in der folgenden Absicht:

  • Eine bestimmte Natural-Sitzung gibt die Kontrolle an einen Nicht-Natural-Transaktionscode ab. Die Sitzung wird nicht abgebrochen.

  • Die Nicht-Natural-Transaktion führt eine Terminal-E/A durch und schaltet dann zurück zur ursprünglichen Natural-Transaktion und gibt Daten in die SPA weiter.

  • Die Natural-Transaktion beginnt keine neue Sitzung, sondern setzt die alte Sitzung dort fort, wo sie sie verlassen hat. Der Roll Slot wird vom Roll Server geholt und die Kontrolle an Natural übergeben, um so mit einer bestehenden Sitzung fortzufahren.

Der Nicht-Natural-Transaktionscode muss die Nachricht LLZZD übermitteln, wobei LL=H'0005', ZZ=X'0000' und D=X'6D' gegenüber Natural simulieren, dass die Taste CLEAR gedrückt wurde. Indem das Natural-Programm für die CLEAR-Taste sensibilisiert wird, kann es erkennen, dass die aufgerufene Nicht-Natural-Transaktion wieder da ist, und es kann die von der Nicht-Natural-Transaktion vorbereiteten Daten zur Verwendung in der nachfolgenden Verarbeitung abrufen.

CMDIRSWZ kann nicht verwendet werden, wenn der Transaktionscode, zu dem gewechselt werden soll, ein Natural-Transaktionscode ist.

Beispielprogramm: NIPSDIFS

CMDISPCB - PCB-Inhalt holen

Das Modul CMDISPCB wird verwendet, um den Inhalt eines PCB zu ermitteln.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
PCB number (B4) Eingabe Nummer der PCB
Receiving area   Ausgabe Empfangender Bereich
Area length (B4) Eingabe Länge des Bereichs

Nach Ausführung des Aufrufs enthält der empfangende Bereich den Inhalt des PCB mit der angeforderten Nummer und in der angeforderten Länge. Es wird geprüft, ob der angeforderte PCB in Ihrer aktuellen PCB-Liste enthalten ist. Der erste PCB ist PCB Nummer 1, der zweite PCB ist PCB Nummer 2, usw. Wenn Sie eine ungültige Nummer angeben, wird das Feld PCB number auf X'FFFFFFFF' gesetzt und es werden keine weiteren Informationen an Ihr Anwendungsprogramm übergeben.

Beispielprogramm: NIPSPCBD

CMEMOD - MOD-Namen dynamisch ändern

Mit dem Modul CMEMOD kann bei normaler Beendigung einer Natural-Sitzung der MOD-Name für ein bestimmtes LTERM dynamisch geändert werden.

Der folgende Parameter wird bereitgestellt:

Name Format/Länge Typ Kommentar
MOD name (A8) Eingabe MOD-Name

Bei einem normalen Sitzungsende fügt die umgebungsabhängige Schnittstelle die Nachricht X'00060000403F' in den IOPCB ein und verwendet dabei den MOD-Namen, dessen Wert im Parameter MOD name enthalten ist. Damit soll dem Terminalbenutzer ein aussagefähiger Bildschirm (z.B. ein allgemeines Menü) präsentiert werden, damit er seine Arbeit am Terminal fortsetzen kann.

CMGETMSG - Nächste Nachricht lesen

Das Modul CMGETMSG liest die nächste Nachricht aus der Nachrichtenwarteschlange.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
Message area   Ausgabe Nachrichtenbereich
Message area length (B4) Eingabe Länge des Nachrichtenbereichs

Die Länge wird überprüft, um festzustellen, ob die empfangene Nachricht in den Nachrichtenbereich passt. Die Nachricht wird einschließlich der LLZZ-Bytes in den Nachrichtenbereich verschoben. Gibt es keine weiteren Nachrichten, wird LL=0 in den Nachrichtenbereich verschoben.

Passt die Nachricht nicht in den Nachrichtenbereich, wird eine entsprechende Fehlermeldung zurückgegeben.

Beispielprogramme: NIPSGETM und NIPSOBMP.

CMGETSEG - Nächstes Segment lesen

Das Modul CMGETSEG liest das nächste Segment der aktuellen Nachricht aus der Nachrichtenwarteschlange.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
Message area   Ausgabe Nachrichtenbereich
Message area length (B4) Eingabe Länge des Nachrichtenbereichs

Die Länge wird überprüft, um festzustellen, ob die empfangene Nachricht in den Nachrichtenbereich passt. Das Nachrichtensegment wird einschließlich der LLZZ-Bytes in den Nachrichtenbereich verschoben. Sind keine weiteren Nachrichtensegmente vorhanden, wird LL=0 in den Nachrichtenbereich verschoben.

Passt die Nachricht nicht in den Nachrichtenbereich, wird eine entsprechende Fehlermeldung zurückgegeben.

Alle gelesenen Nachrichtensegmente werden zu einem String verkettet im internen Eingabe-Nachrichtenpuffer aufbewahrt, dessen Größe durch den Schlüsselwort-Subparameter MISIZE des Makros NTIMPSPE festgelegt wird (siehe Parameter-Referenz-Dokumentation).

Wenn Sie einen Überlauf des internen Eingabenachrichtenpuffers vermeiden wollen, können Sie anstelle von CMGETSEG das Modul CMGSEGO verwenden.

Beispielprogramm: NIPSOBMP

CMGETSPA - Daten aus SPA übertragen

Das Modul CMGETSPA überträgt die Daten aus der SPA ab dem angegebenen Offset in der gewünschten Länge in den Empfangsbereich.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
Offset (B4) Eingabe Versatz
Length (B4) Eingabe Länge
Area (B4) Ausgabe Bereich

Programmbeispiele: NIPSGSPA und NIPSPSPA

CMGSEGO - Nächstes Segment lesen

Das Modul CMGSEGO liest das nächste Segment der aktuellen Nachricht aus der Nachrichtenwarteschlange.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
Message area   Ausgabe Nachrichtenbereich
Message area length (B4) Eingabe Länge des Nachrichtenbereichs

Die Länge wird überprüft, um festzustellen, ob die empfangene Nachricht in den Nachrichtenbereich passt. Das Nachrichtensegment wird einschließlich der LLZZ-Bytes in den Nachrichtenbereich verschoben. Sind keine weiteren Nachrichtensegmente vorhanden, wird LL=0 in den Nachrichtenbereich verschoben.

Passt die Nachricht nicht in den Nachrichtenbereich, wird eine entsprechende Fehlermeldung zurückgegeben.

Nur das erste und das aktuelle Nachrichtensegment werden im internen Eingabepuffer aufbewahrt, dessen Größe durch den Subparameter MISIZE des Makros NTIMPSPE festgelegt wird (siehe Parameter-Referenz-Dokumentation). Wenn Sie alle Nachrichtensegmente behalten wollen, müssen Sie anstelle von CMGSEGO das Modul CMGETSEG verwenden.

Beispielprogramm: NIPSOBMP

CMIMSID - MVS-Subsystemkennung abfragen

Mit dem Modul CMIMSID können Natural-Programme die MVS-Subsystemkennung des IMS TM-Systems abfragen, in dem sie zurzeit eingeplant sind.

Der folgende Parameter wird bereitgestellt:

Name Format/Länge Typ Kommentar
IMSID (A4) Ausgabe Subsystemkennung

Nach der Ausführung des Aufrufs enthält das Feld IMSID die MVS-Subsystemkennung des IMS TM-Systems, für das Sie zurzeit eingeplant sind.

Das Modul CMIMSID hängt von einem internen IMS TM-Kontrollblock ab. Es handelt sich daher um eine IMS TM-release-abhängige Funktion, die aktualisiert wird, wann immer dies möglich ist.

CMIMSINF - Informationen zur Systemumgebung abfragen

Das Modul CMIMSINF liefert Informationen zur Systemumgebung.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
IMSID (A4) Ausgabe Die IMS TM-Kennung.
SUFFIX (A2) Ausgabe Das Preload-Suffix.
APPLGNAM (A8) Ausgabe Der Gruppenname der Anwendung.
APPLNAM (A8) Ausgabe Der Name der Anwendung.
NRENT (B4) Ausgabe Die Anzahl der vorab geladenen reentranten Module.
NNONR (B4) Ausgabe Die Anzahl der vorab geladenen nicht-reentranten Module.

CMIMSINF ist ebenfalls ein IMS TM Release-abhängiges Modul.

Beispielprogramm: NIPSINF

CMPCBADR - PCB-Adresse zurückgeben

Das Modul CMPCBADR gibt die Adresse eines PCB zurück, der durch einen logischen Namen identifiziert wird. Der PSB-Name wird ebenfalls an das Natural-Programm zurückgegeben.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
PSB name (A8) Ausgabe Der PSB-Name.
PCB name (A8) Eingabe Der PSB-Name.
PCB address (B4) Ausgabe Die PSB-Adresse.

Nach der Ausführung des Aufrufs enthält das Feld PCBADR die Adresse des PCB, der im Tabellenmodul durch den logischen Namen PCBNAME in dem Tabelleneintrag identifiziert wird, der dem aktuell eingeplanten Transaktionscode entspricht. Existiert der logische Name für diesen Transaktionscode nicht, wird im Feld PCBADR der Wert X'FFFFFFFF' zurückgegeben. In jedem Fall enthält das Feld PSBNAME den Namen des aktuell eingeplanten PSB.

Beispielprogramm: NIPSPCBA

CMPRNTR - Standard-Hardcopy-Ziel ändern

Das Modul CMPRNTR ändert das vom Modul NIIIMSHC gesetzte Standard-Hardcopy-Ziel in den als Parameter übergebenen Wert.

Der folgende Parameter wird bereitgestellt:

Name Format/Länge Typ Kommentar
Destination (A8) Eingabe Das Hardcopy-Ziel.

Das Modul CMPRNTR wird nur aus Kompatibilitätsgründen bereitgestellt. Verwenden Sie stattdessen das Natural-Statement SET CONTROL hdest-id.

CMPUTMSG - Ausgabemeldung in den IO-PCB einfügen

Das Modul CMPUTMSG kann verwendet werden, um eine beliebige Ausgabemeldung mit einer gegebenen Länge unter Verwendung eines gegebenen MFS MOD name in den IO-PCB einzufügen. Auf diese Weise können Sie MFS-formatierte Ausgabemeldungen an den Absender der Eingabenachricht zurücksenden.

CMPUTMSG entnimmt die in der Nachrichtenlänge angegebene Anzahl von Bytes aus dem Nachrichtenbereich und fügt sie mit dem angegebenen MOD name in die Nachrichtenwarteschlange ein. Es gibt keine Beschränkung bezüglich der Länge der Nachricht, außer dass sie in den Eingabe-Nachrichtenbereich der umgebungsabhängigen Schnittstelle passen muss.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
Message area   Eingabe Nachrichtenbereich
Message length (B4) Eingabe Nachrichtenlänge
MOD name   Eingabe MOD-Name

Wird in der IO-PCB ein nicht leerer Statuscode zurückgegeben, wird die Natural-Fehlermeldung NAT8272 ausgegeben, die den Statuscode als variablen Teil enthält.

CMPUTSPA - Daten in die SPA verschieben

Das Modul CMPUTSPA verschiebt die Daten mit der angegebenen Länge und dem angegebenen Offset in die SPA.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
Offset (B4) Eingabe Versatz
Length (B4) Eingabe Länge
Data   Eingabe Daten

Es wird geprüft, ob der angegebene Offset in die Natural Reserved Area (NRA) innerhalb der SPAs zeigt. Wenn ja, wird der Rückgabecode 4 zurückgegeben.

Beispielprogramm: NIPSPSPA

CMQTRAN - Inhalt des aktuellen Transaktionscode-Tabelleneintrags zurückgeben

Das Modul CMQTRAN gibt den Inhalt des aktuellen Eintrags in der Transaktionscode-Tabelle zurück.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
Transaction code   Ausgabe Der Transaktionscode, unter dem Sie gerade arbeiten.
Offset (B2) Ausgabe Der Versatz der NRA zu der SPA.
Length (B2) Ausgabe Die Länge der NRA.
Uoffset (B2) Ausgabe Nicht verwendet.
PSB name   Ausgabe Der Name des geplanten PSB.
Number of PCBs   Ausgabe Die Anzahl der PCBs, deren Adressen Sie über das Modul CMPCBADR erhalten können.

Die logischen Namen, mit denen Sie im Modul CMPCBADR auf PCBs verweisen können, werden aus Security-Gründen nicht zurückgegeben. Sie sollten sich von Ihrem Systemverwalter darüber informieren lassen, auf welche logischen Namen Sie verweisen dürfen.

Beispielprogramm: NIPSQTRA

CMQUEUE - Nachricht in alternativen PCB einfügen

Das Modul CMQUEUE fügt eine Nachricht in den angegebenen alternativen PCB ein.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
Destination   Eingabe Ziel
Message   Eingabe Nachricht
Message length (B4) Eingabe Nachrichtenlänge
TP PCB number (B4) Eingabe Optional

Dieser Aufruf bewirkt einen sofortigen Änderungsaufruf, mit dem das Ziel des angegebenen alternativen PCB auf den im Feld Destination enthaltenen Wert gesetzt wird, woraufhin die Nachricht in den alternativen PCB mit der angegebenen Nachrichtenlänge eingefügt wird.

Der Transaktionscode wird nach den LLZZ-Bytes mit einer Länge von 8 eingefügt.

Nachdem ein PURGE-Aufruf ausgegeben worden ist, wird die Kontrolle an das nächste Statement im Natural-Programm zurückgegeben.

Die Nachricht kann eine beliebige Länge bis zur Größe des Eingabenachrichtenbereichs haben (normalerweise 8000 minus 12 Byte).

Der zu verwendende alternative PCB wird mit dem letzten, optionalen, Parameter angegeben. Wird beim Aufruf keine TP PCB number angegeben, wird der mit dem Subparameter ALTPCB des Makros NTIMSPT (im Natural-Parametermodul) angegebene alternative TP PCB verwendet.

Beispielprogramm: NIPSQLOA

CMQUEUEX - Vollständige Kontrolle über den Nachrichteninhalt erlangen

Das Modul CMQUEUEX ermöglicht Ihnen die vollständige Kontrolle über den Inhalt einer Nachricht, die in die IMS TM-Eingabewarteschlange gestellt werden soll.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
Destination   Eingabe Ziel
Message   Eingabe Nachricht
Message length (B4) Eingabe Nachrichtenlänge
TP PCB number (B4) Eingabe Optional

Dieser Aufruf bewirkt einen sofortigen Änderungsaufruf, um das Ziel des angegebenen alternativen PCB auf den im Feld Destaination enthaltenen Wert zu setzen, woraufhin die Nachricht in den alternative PCB mit der angegebenen Nachrichtenlänge nach den LLZZ-Bytes eingefügt wird. Der Unterschied zu CMQUEUE besteht darin, dass dort der Transaktionscode nicht nach den LLZZ-Bytes eingefügt wird.

Nach einem PURGE-Aufruf wird die Kontrolle an das nächste Statement im Natural-Programm zurückgegeben. Die Nachricht kann eine beliebige Länge bis zur Größe des Eingabenachrichtenbereichs haben (normalerweise 8000 minus 12 Byte).

Der zu verwendende alternative PCB wird mit dem letzten, optionalen, Parameter angegeben. Wird beim Aufruf keine TP PCB-Nummer angegeben, wird der mit dem Subparameter ALTPCB des Makros NTIMSPT (im Natural-Parametermodul) angegebene alternative TP PCB verwendet.

Beispielprogramm: NIPSQUEX

CMSNFPRT - Logischen Gerätenamen setzen

Das Modul CMSNFPRT setzt den logischen Namen des Geräts, an das die Natural-Nachrichten während des Online-BMP-Laufs gesendet werden.

Der folgende Parameter wird bereitgestellt:

Name Format/Länge Typ Kommentar
Printer name   Eingabe Name des Druckers

Vor dem Aufruf von CMSNFPRT müssen Sie mit dem Natural-Profilparameter SENDER das Standard-Ausgabeziel definieren.

Beispielprogramm: NIPSOBMP

CMSVC13D - Natural-Sitzung abbrechen

Das Modul CMSVC13D bricht die Natural-Sitzung mit dem Benutzerabbruchcode U3962 ab und erzeugt einen Dump.

Parameter: Keine

Beispielprogramm: Keines.

CMTRNSET - SPA über den alternativen PCB einfügen

Wenn die Natural-Sitzung normal beendet wird, führt die Natural IMS TM-Schnittstelle einen direkten Programm-Wechsel zum angegebenen Transaktionscode durch und fügt die SPA über den alternativen PCB ein.

Der folgende Parameter wird bereitgestellt:

Name Format/Länge Typ Kommentar
Trancode   Eingabe Transaktionscode

Beispielprogramm: NIPSEOSS

NIIDDEFS - Aufgeschobenen Wechsel zu einer Fremdtransaktion durchführen

Das Modul NIIDDEFS ist ähnlich wie das Modul CMDEFSWX. Wenn Sie mit NIIDDEFS einen aufgeschobenen Wechsel zu einer Fremdtransaktion durchführen, wird die aktuelle Natural-Sitzung wie beim Modul CMDIRSWZ unterbrochen. Die unterbrochene Natural-Sitzung kann jederzeit wieder aufgenommen werden, indem Sie eine Nachricht mit der CLEAR-Taste an Natural zurücksenden.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
Transaction code   Eingabe Der Transaktionscode, zu dem gewechselt werden soll.
Message   Eingabe Die Nachricht, die an den fremden Transaktionscode gesendet werden soll.
Message length (B4) Eingabe Die Nachrichtenlänge.
MOD name (A8) Eingabe Der MOD-Name.
Transaction type (A4) Eingabe Eine Variable im Format A4, die den String CONV enthält, wenn die fremde Transaktion konversationell ist, und den String NONC, wenn die fremde Transaktion nicht konversationell ist.

Rückgabecodes:

0 OK
4 Die Nachrichtenlänge ist größer als die Größe des in der Umgebungstabelle definierten Nachrichtenbereichs.
8 Sie haben versucht, einen aufgeschobenen Wechsel mit Suspend von einer konversationellen Natural- zu einer nicht-konversationellen Fremdtransaktion durchzuführen, was nicht möglich ist.
12 Der fünfte Parameter ist ungültig; er enthält weder CONV noch NONC.

Beispielprogramm: NIPSDEFS

NIIDPURG - Multisegment-Nachricht versenden

Das Modul NIIDPURG hat keine Parameter. Es führt einen PURGE-Aufruf unter Verwendung desselben alternativen PCB aus, der beim NIIDQUMS-Aufruf verwendet wurde, und sendet Multisegment-Nachrichten, die mit dem Modul NIIDQUMS erstellt wurden.

Rückgabecodes: Entweder enthalten die Bytes zwei und drei des 4-Byte-Rückgabecodes den Statuscode, oder der Rückgabecode hat den Wert 0.

Beispielprogramm: NIPSQLMS

NIIDQUMS - Multisegment-Nachrichten erstellen

Dieses Modul erstellt Multisegment-Nachrichten. Es hat grundsätzlich die gleiche Funktionalität wie das Modul CMQUEUE, mit dem Unterschied, dass NIIDQUMS keinen PURGE-Aufruf ausgibt.

Die folgenden Parameter werden bereitgestellt:

Name Format/Länge Typ Kommentar
Destination   Eingabe Ziel
Message   Eingabe Nachricht
Message length (B4) Eingabe Nachrichtenlänge
TP PCB number (B4) Eingabe Optional

Die Durchführung des PURGE-Aufrufs mit dem Modul NIIDPURG liegt in Ihrer Verantwortung.

Der zu verwendende alternative PCB wird mit dem letzten, optionalen, Parameter angegeben. Wird beim Aufruf keine TP PCB-Nummer angegeben, wird der mit dem Subparameter ALTPCB des Makros NTIMSPT (im Natural-Parametermodul) angegebene alternative TP PCB verwendet.

Beispielprogramm: NIPSQLMS

NIIDSETT - Fremdtransaktionscode abfragen

Um einen korrekten Transaktionswechsel zu einem fremden Transaktionscode durchführen zu können, muss der Typ des Fremdtransaktionscodes bekannt sein. Um diesen Typ zu erhalten, kann das spezielle Modul NIIDSETT verwendet werden. Wird NIIDSETT nicht verwendet, wird angenommen, dass der fremde Transaktionscode vom gleichen Typ ist wie der aufrufende Natural-Transaktionscode. Ist dies nicht der Fall, kommt es zu unvorhersehbaren Ergebnissen oder zu einer abnormalen Beendigung der Sitzung.

Der folgende Parameter wird bereitgestellt:

Name Format/Länge Typ Kommentar
Transaction type (A4) Eingabe Mögliche Werte:

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

On this page