Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Programmierhilfen

openUTM stellt den Teilprogrammen eine Reihe von Informationen zur Verfügung, die ausgewertet und für die Steuerung der Kommunikation verwendet werden können:

  • nach dem INIT-Aufruf

  • nach dem Lesen der Dialog-Nachricht mit MGET

Nach dem INIT-Aufruf kann man u.a. aus dem Kommunikationsbereich entnehmen,

  • unter welcher Benutzerkennung bzw. unter welchem Session-Namen das Teilprogramm gestartet wurde (Feld KCBENID/kcuserid)

  • welches Kommunikationsprotokoll der Partner verwendet (Feld KCCP, bei LU6.1 ist hier 1 eingetragen)

  • ob es sich um einen Vorgangs-Wiederanlauf handelt (KCKNZVG/kccv_status enthält dann den Wert "R").

Nach dem MGET-Aufruf gibt openUTM im Feld KCVGST/kcpcv_state den Status des Partner-Vorgangs und im Feld KCTAST/kcpta_state den Status der Partner-Transaktion zurück.

Für COBOL ist ein übergeordnetes Statusfeld KCRST definiert, das die Felder KCVGST und KCTAST enthält.

Mit Hilfe dieser Stati lässt sich z.B. feststellen, ob der Partner-Vorgang bereits Transaktionsende angefordert hat und auf die Beendigung der verteilten Verarbeitung wartet. Dadurch kann einerseits der Programmlauf so gesteuert werden, dass die Einhaltung der Programmierregeln auch ohne genaue Kenntnis des Sicherungsverhaltens des Partners garantiert werden kann, andererseits besteht auch die Möglichkeit, im Auftraggeber-Vorgang auf Fehler im Auftragnehmer-Vorgang zu reagieren. Die möglichen Stati entnehmen Sie den beiden folgenden Tabellen.

Vorgangs-Status des Partners

KCVGST/kcpcv_state 

Bedeutung

I

(inactive):
Der Vorgang ist inaktiv, d.h. er ist noch nicht gestartet worden oder er konnte nicht gestartet werden, z.B. weil der TAC in der Partner-Anwendung unbekannt ist.

O

(open):
Der Vorgang ist offen.

C

(closed):
Der Vorgang hat sich mit PEND FI beendet.

R

(reset):
Der Vorgang wurde vom Programm mit PEND RS beendet.

E

(error):
Der Vorgang wurde vom Programm mit PEND ER/FR beendet.

Z

der Vorgang wurde von openUTM wegen eines Fehlers beendet. 

T

(timeout):
Der Vorgang wurde bzw. wird fehlerhaft beendet, da innerhalb der generierten Wartezeit keine Antwort eingetroffen ist, oder da innerhalb der generierten Wartezeit keine freie Session belegt werden konnte.

Transaktionsstatus des Partners

KCTAST/kcpta_state

Bedeutung

I

(inactive):
Es existiert keine Transaktion, da auch kein Vorgang existiert.

O

(open):
Die Transaktion ist offen; der letzte Verarbeitungsschritt wurde mit PEND KP beendet.

P

(prepare to commit):
Der Vorgang hat Transaktionsende angefordert, die verteilte Transaktion ist jedoch noch nicht beendet. In dieser Situation wartet der Vorgang auf eine Quittung, die er erhält, sobald die verteilte Transaktion beendet ist. Solange bleiben, ähnlich wie beim PEND KP, Betriebsmittel gesperrt (GSSB, TLS).

C

(closed):
Die letzte verteilte Transaktion, an der der Vorgang beteiligt war, ist beendet.

R

(reset):
Die verteilte Transaktion und damit auch die lokale Transaktion wurde zurückgesetzt.

M

(mismatch):
Die an einer verteilten Transaktion beteiligten Vorgänge können sich beim Vorgangswiederanlauf nicht auf einen gemeinsamen Sicherungspunkt einigen. Dies kann nur bei einem Timeout oder nach Beendigung und Start einer UTM-F-Anwendung auftreten.