Die Zusammenarbeit zwischen den Teilprogrammen und openUTM ist über KDCS-Aufrufe realisiert. Mit diesen Aufrufen teilen Sie openUTM mit, welche Funktion ausgeführt werden soll. Bei jedem KDCS-Aufruf übergeben Sie die Adresse des KDCS-Parameterbereichs, sowie bei manchen Aufrufen die Adresse eines Nachrichtenbereichs.
Im KDCS-Parameterbereich werden die Aufrufparameter an openUTM übergeben. Für den KDCS-Parameterbereich stehen Ihnen vordefinierte Sprach-spezifische Datenstrukturen zur Verfügung, für COBOL im COPY-Element KCPAC, für C/C++ in der Include-Datei kcpa.h. Wie Sie diesen Bereich für die einzelnen KDCS-Aufrufe versorgen müssen, ist in sprachunabhängiger Form im Kapitel „KDCS-Aufrufe" beschrieben.
Rückgabeinformationen übergibt openUTM nach jedem KDCS-Aufruf (außer PEND) im KB-Rückgabebereich. Die Auswertung insbesondere des Returncodes gibt Aufschluss über die erfolgreiche oder gescheiterte Ausführung und kann zu entsprechenden Steuerungsmaßnahmen im Programm benutzt werden (siehe auch Abschnitt „Programmierung von Fehlerroutinen").
Zusätzlich finden Sie nach jedem KDCS-Aufruf im KB-Kopf jeweils aktuelle Informationen über Benutzer, Vorgang, Teilprogramm und Kommunikationspartner.
KB-Kopf und KB-Rückgabebereich sind Teil des Kommunikationsbereichs (KB), siehe "Kommunikationsbereich (KB)". Die Adresse des KB stellt openUTM einem Teilprogramm beim Aufruf über einen Aufrufparameter zur Verfügung.
Für die Struktur der Bereiche KB-Kopf und KB-Rückgabebereich stehen Ihnen Sprachspezifische Datenstrukturen zur Verfügung - für COBOL im COPY-Element KCKBC, für C/C++ in der Include-Datei kcca.h.
Der erste UTM-Aufruf in einem Teilprogrammlauf ist der INIT-Aufruf. Mit diesem Aufruf leitet ein Teilprogramm die Zusammenarbeit mit openUTM ein. Vor dem INIT-Aufruf darf anderer Programmcode stehen. Nach dem INIT-Aufruf stellt openUTM dem Teilprogramm aktuelle, Ablauf-spezifische Informationen im KB-Kopf und im Nachrichtenbereich zur Verfügung.
Der letzte Aufruf in einem Teilprogrammlauf ist der PEND-Aufruf. Mit diesem Aufruf wird das Teilprogramm beendet; das Teilprogramm erhält danach die Kontrolle nicht wieder zurück.
Mit den verschiedenen Varianten des PEND-Aufrufs steuern Sie den Ablauf eines UTM-Vorgangs. Dazu haben Sie die folgenden Möglichkeiten:
PEND PR | setzt den Verarbeitungsschritt in einem anderen Teilprogramm fort ohne dass ein Nachrichtenaustausch mit Partner erfolgt. |
PEND PA | wirkt wie PEND PR. |
PEND PS | speziell für den Anmelde-Vorgang, ähnlich wie PEND PR. |
PEND KP | beendet den Verarbeitungsschritt, aber nicht die Transaktion. |
PEND SP | beendet die Transaktion, aber nicht den Verarbeitungsschritt. |
PEND RE | beendet den Verarbeitungsschritt und gleichzeitig die Transaktion. |
PEND FI | beendet Verarbeitungsschritt, Transaktion und Vorgang. |
PEND FC | beendet Transaktion und Vorgang und setzt den Verarbeitungsschritt in einem anderen Vorgang fort. |
PEND RS | bricht den Verarbeitungsschritt ab und setzt die Transaktion zurück auf den letzten Sicherungspunkt. |
PEND ER | bricht den Verarbeitungsschritt ab, setzt die Transaktion zurück, beendet den Vorgang und erzeugt einen UTM-Dump. Auf BS2000-Systemen wird das Anwendungsprogramm nachgeladen, auf Unix-, Linux- und Windows-Systemen wird es neu gestartet. |
PEND FR | wirkt wie PEND ER, ohne Nachladen bzw. Neustart des Anwendungsprogramms. |
Beachten Sie, dass viele Aktionen - wie z.B. das Senden der Ausgabe-Nachrichten an die Kommunikationspartner eines UTM-Vorgangs - von openUTM erst beim PEND-Aufruf ausgeführt werden und nicht schon während des Teilprogrammlaufs. Dieses Verhalten hat seine Ursache in der transaktionsorientierten Arbeitsweise von openUTM; bis zum Ende einer Transaktion können Sie entscheiden, ob die von einem Teilprogramm in dieser Transaktion durchgeführten Aktionen gültig gesetzt, oder aber rückgängig gemacht werden sollen.
Tritt in einer UTM-Transaktion ein schwerer Fehler auf, setzt openUTM selbstständig die ganze Transaktion auf den letzten Sicherungspunkt zurück und beendet den Vorgang (siehe auch openUTM-Handbuch „Konzepte und Funktionen“).