Dieses Kapitel beschreibt die Servicemodule der Natural IMS TM-Schnittstelle.
Die folgenden Themen werden behandelt:
CMDEFSW - Aufgeschobenen Transaktionswechsel zu einem Natural-Transaktionscode ausführen
CMDEFSWX - Aufgeschobenen Transaktionswechsel zu einem Nicht-Natural-Transaktionscode durchführen
CMDIRNMX - Wechsel zu einer anderen konversationellen Transaktion ohne Nachricht durchführen
CMDIRNMZ - Wechsel zu einer anderen konversationellen Transaktion ohne Nachricht durchführen
CMDIRSWX - Wechsel zu einer anderen konversationellen Transaktion mit Nachricht durchführen
CMDIRSWZ - Wechsel zu einer anderen konversationellen Transaktion mit Nachricht durchführen
CMQTRAN - Inhalt des aktuellen Transaktionscode-Tabelleneintrags zurückgeben
CMQUEUEX - Vollständige Kontrolle über den Nachrichteninhalt erlangen
NIIDDEFS - Aufgeschobenen Wechsel zu einer Fremdtransaktion durchführen
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.
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.
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
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.
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.
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 */
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 |
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
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
Das Modul CMDISPCB wird verwendet, um den Inhalt eines Program Control Block
(PCB) zu ermitteln.
Die folgenden Parameter werden bereitgestellt:
| Name | Format/Länge | Typ | Kommentar |
|---|---|---|---|
PCB number |
(B4) | Eingabe | Nummer des 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
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.
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.
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
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
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
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.
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
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
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.
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.
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
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
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
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 Destination enthaltenen Wert zu
setzen, woraufhin die Nachricht in den alternativen 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
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
Das Modul CMSVC13D bricht die Natural-Sitzung mit dem Benutzerabbruchcode
U3962 ab und erzeugt einen Dump.
Parameter: Keine
Beispielprogramm: Keines.
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
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
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
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
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:
|