Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Mehrere Verarbeitungsschritte in einem Teilprogramm

Ein UTM-Teilprogramm läuft zwischen INIT und PEND in einem Prozess ab. Da der Prozess am Teilprogramm-Ende freigegeben wird, läuft ein Folge-Teilprogramm möglicherweise in einem anderen Prozess ab als das vorhergehende. Das führt dazu, dass das Folge-Teilprogramm nicht auf die Prozess-spezifische Umgebung (Kontext) - wie Betriebsmittel und Programm-spezifische Datenbereiche - des ersten Teilprogramms zugreifen kann. Dies ist auch in der Regel nicht notwendig, da Daten über einen an das Folge-Teilprogramm gerichteten MPUT-Aufruf oder über von openUTM zur Verfügung gestellte Vorgangs-spezifische Speicherbereiche weitergereicht werden können.

openUTM bietet jedoch auch eine Möglichkeit, den Prozess-spezifischen Kontext über mehrere Verarbeitungsschritte hinweg zur erhalten: Hierzu verwenden Sie den Aufruf PGWT (Program Wait) mit den Modifikationen KP, PR, CM und RB. Damit wird ein Wartepunkt gesetzt, ohne das Teilprogramm zu beenden, d.h. der Programmkontext bleibt erhalten. Diese Varianten werden zu unterschiedlichen Zwecken eingesetzt:

  • PGWT KP beendet den Verarbeitungsschritt und sendet die MPUT-Nachricht. Das Teilprogramm wartet so lange, bis die nächste Nachricht vom Partner eintrifft. PGWT KP entspricht dem PEND KP-Aufruf im vorhergehenden und dem INIT-Aufruf im nachfolgenden Teilprogramm.

  • PGWT PR wartet auf eine Nachricht an eine Queue, ohne den Verarbeitungsschritt zu beenden. PGWT PR entspricht einem PEND PA/PR-Aufruf im vorhergehenden und einem INIT-Aufruf im nachfolgenden Teilprogramm.

  • PGWT CM beendet die Transaktion, ohne das Teilprogramm zu beenden. Ein mit PGWT CM gesetzter Sicherungspunkt ist jedoch kein Wiederanlaufpunkt. Die Folge-Transaktion kann deshalb nicht mit PEND RS zurückgesetzt werden, sondern nur mit PGWT RB.

    Außerdem gilt:

    • Wurde vor dem PGWT CM ein MPUT-Aufruf ausgeführt, so wird die MPUT-Nachricht gesendet und das Teilproprogramm wartet solange, bis eine Antwort vom Partner eintrifft. Dieser PGWT CM entspricht einem PEND RE-Aufruf im vorhergehenden und einem INIT-Aufruf im nachfolgenden Teilprogramm.

    • Wurde vor dem PGWT CM dagegen kein MPUT-Aufruf ausgeführt, wird das Teilprogramm sofort fortgesetzt. Der PGWT CM ohne vorhergehenden MPUT-Aufruf entspricht einem PEND SP-Aufruf im vorhergehenden und einem INIT-Aufruf im nachfolgenden Teilprogramm.

  • PGWT RB setzt eine Transaktion zurück.

Die Funktionen zweier aufeinanderfolgender Teilprogramme können somit von einem Teilprogramm übernommen werden. Damit läuft die gesamte Funktionsfolge unter ein und demselben Prozess ab. Der Prozess-spezifische Kontext steht bis zum Ende des Teilprogrammlaufs zur Verfügung.

Das Teilprogramm belegt in dieser Zeit einen Prozess exklusiv. Dadurch benötigt die UTM-Anwendung in der Regel mehr Betriebsmittel (Prozesse).

Programmsysteme, die eine kombinierte SEND/RECEIVE-Schnittstelle erwarten, können mit Hilfe des PGWT-Aufrufs leicht unter openUTM zum Ablauf gebracht werden.

Neben den Aufrufen PEND PR/PA/SP bietet der PGWT-Aufruf somit eine weitere Möglichkeit, das verarbeitungsschritt-modulare Aufbau-Schema zu variieren:
Während es die Aufrufe PEND PR/PA/SP ermöglichen, einen Verarbeitungsschritt auf mehrere Teilprogramme aufzuteilen, erlauben es PGWT-Aufrufe, mehrere Verarbeitungsschritte in einem Teilprogramm zu realisieren.

Da mit PGWT-Aufrufen wertvolle Betriebsmittel gebunden werden, sollten diese Aufrufe in einer Anwendung sparsam eingesetzt werden; er sollte nur dort verwendet werden, wo die anderen Möglichkeiten der KDCS-Schnittstelle nicht ausreichen; eine häufige Verwendung von PGWT-Aufrufen kann die Performance einer UTM-Anwendung negativ beeinflussen.