Anhand eines einfachen Beispiels wird im Folgenden der Ablauf der Aufrufe bei verteilten Dialogen über LU6.1 dargestellt. Dabei ist jeweils angegeben, welche Felder versorgt oder ausgewertet werden können bzw. müssen. Die Feld-Namen sind in der COBOL-Notation angegeben.
Das Auftraggeber-Programm besteht in diesem Beispiel aus zwei Teilprogrammen: im ersten Teil wird der Unterauftrag an den Auftragnehmer-Vorgang gegeben, im zweiten Teil wird die Antwort des Auftragnehmer-Vorgangs gelesen und ggf. die Antwort an das Terminal ausgegeben.
Wie in Abschnitt „Fehlerbehandlung im Teilprogramm" erläutert, wird ein Auftraggeber-Teilprogramm, das auf einen Sicherungspunkt folgt, nicht nur beim normalen Ablauf gestartet, sondern auch nach Rücksetzen einer verteilten Transaktion beim Vorgangs-Wiederanlauf. Aus diesem Grund wird im ersten Teil des Auftraggeber-Programms geprüft, ob eine Statusinformation vorliegt. Ein solcher Vorgangs-Wiederanlauf findet aber nur statt, wenn der Auftraggeber-Vorgang vor dem Start dieses Teilprogramms einen Sicherungspunkt gesetzt hat (mit oder ohne Beteiligung eines Auftragnehmer-Vorgangs).
INIT Auswerten: KCKNZVG --> R es handelt sich um einen Vorgangs-Wiederanlauf, eventuell liegt eine Statusinformation vor. MGET Eingabenachricht vom Terminal. Hat der Auftraggeber-Vorgang bereits einen Sicherungspunkt erreicht, so kann zusätzlich eine Statusinformation vorliegen. Auswerten: KCRPI --> Rückgabeinformation vom Auftragnehmer Leerzeichen es liegt keine Statusinformation vor >vgid es liegt eine Statusinformation vom Auftragnehmer-Vorgang mit der angegebenen Vorgangs-Identifikation vor. In diesem Fall ist die Statusinformation mit einem 2. MGET zu lesen. 2. MGET Lesen der Statusinformation, danach Fehlerbehandlung notwendig. Versorgen: KCOM <-- mit NT KCLA <-- mit der Länge 0 KCRN <-- mit der Vorgangs-Identifikation (>vgid) KCMF <-- mit Leerzeichen Auswerten: KCVGST --> Vorgangs-Status: I Auftragnehmer-Vorgang inaktiv E Auftragnehmer-Vorgang hat sich mit PEND ER/FR beendet Z Auftragnehmer-Vorgang wurde von openUTM mit PEND ER beendet R Auftragnehmer-Vorgang hat sich mit PEND RS beendet T Zeit ist abgelaufen (Timer) KCTAST --> Transaktionsstatus: I Transaktion in Auftragnehmer-Vorgang inaktiv R Transaktion in Auftragnehmer-Vorgang zurückgesetzt M Mismatch Wenn keine Statusinformation vorliegt: APRO Adressieren des Auftragnehmer-Vorgangs (wenn nicht schon geschehen) Versorgen: KCOM <-- mit DM für Dialog-Vorgang KCRN <-- mit dem LTAC des Auftragnehmer-Vorgangs KCPA <-- bei zweistufiger Adressierung: mit dem Namen der Partner-Anwendung KCPI <-- mit einer selbstgewählten Vorgangs-Identifikation (>vgid) KCLM <-- 0 MPUT an Auftragnehmer-Vorgang Versorgen: KCOM <-- NT oder NE KCRN <-- mit der Vorgangs-Identifikation (>vgid) KCMF <-- evtl. Formatkennzeichen für Auftragnehmer KCDF <-- binär null KCLM <-- Länge PEND (Ende erster Teil) Versorgen: KCOM <-- Ausprägung des PEND-Aufrufs: KP im Normalfall im Auftraggeber-Vorgang zu empfehlen RE Transaktionsende wird angefordert FI nicht erlaubt, weil noch Auftragnehmer offen ER/FR bricht auch Auftragnehmer-Vorgang ab! PA nach MPUT an Auftragnehmer-Vorgang verboten PR nach MPUT an Auftragnehmer-Vorgang verboten SP nach MPUT an Auftragnehmer-Vorgang verboten FC nach MPUT an Auftragnehmer-Vorgang verboten KCRN <-- Name des Folge-Teilprogramms des Auftraggebers (zweiter Teil des Auftraggeber-Programms)
INIT Auswerten: KCBENID --> Name der Session KCLOGTER --> Name der Partner-Anwendung KCTERMN --> Kennzeichen der Partner-Anwendung KCCP --> Kennzeichen für das verwendete Protokoll, bei LU6.1 wird '1' eingetragen KCRMF --> Formatkennzeichen aus erstem MPUT des Auftraggebers MGET Nachricht von Auftraggeber-Vorgang lesen Auswerten: KCRCCC --> KDCS-Fehlercode, 19Z bis 39Z können nicht auftreten KCRLM --> Länge aus MPUT des Auftraggebers (KCLM) KCRST 1.Byte --> Vorgangs-Status des Auftraggeber-Vorgangs: O Auftraggeber-Vorgang ist offen KCRST 2.Byte --> Transaktions-Status des Auftraggeber-Vorgangs O Transaktion ist offen (PEND KP bei Auftraggeber) P Transaktionsende eingeleitet (PEND RE) C Transaktion bei Auftraggeber beendet KCRMF wenn noch Folgeteile vorliegen: das Formatkennzeichen des nächsten Nachrichtenteils, sonst: das Formatkennzeichen des gelesenen Teils. MPUT unverändert Versorgen: KCOM <-- mit NT oder NE KCMF <-- Formatkennzeichen oder Leerzeichen KCLM <-- Länge der Nachricht KCRN <-- mit Leerzeichen, um die Nachricht an den Auftraggeber zu senden KCDF <-- beliebiger Wert, den der Auftraggeber beim MGET erhält PEND Ende Auftragnehmer-Teilprogramm Versorgen: KCOM <-- abhängig vom Transaktionsstatus: KP nur erlaubt bei KCTAST=O oder C RE beendet die Transaktion bei KCTAST=P bzw. leitet Transaktionsende ein bei KCTAST=O oder C FI Ende des Auftragnehmer-Vorgangs, sonst wie PEND RE ER/FR Ende des Auftragnehmer-Vorgangs, die Transaktion wird zurückgesetzt, der Auftraggeber wird informiert PA/PR keine Besonderheiten, kann nicht verwendet werden, um Nachricht an den Auftraggeber zu senden KCRN <-- ggf. (bei PEND KP oder PEND RE) Name des Folge-Teilprogramms des Auftragnehmer-Vorgangs
INIT Auswerten: KCRPI --> Vorgangs-Identifikation des Auftragnehmer-Vorgangs KCRMF --> Formatkennzeichen aus 1. MPUT des Auftragnehmers MGET Nachricht vom Auftragnehmer lesen Versorgen: KCOM <-- NT KCLA <-- Länge des Nachrichtenbereichs KCRN <-- Vorgangs-Identifikation aus KCRPI des INIT-Aufrufs KCMF <-- Formatkennzeichen aus KCRMF des INIT-Aufrufs Auswerten: KCRLM --> aktuelle Länge der Eingabenachricht KCRMF --> wenn noch Folgeteile vorliegen: das Formatkennzeichen des nächsten Nachrichtenteils, sonst: das Formatkennzeichen des gelesenen Teils. KCRDF --> Wert vom zugehörigen MPUT des Auftragnehmer-Vorgangs KCRPI --> Vorgangs-Iidentifikation, falls weitere Nachrichtenteile vorliegen KCRST 1.Byte --> Vorgangs-Status des Auftragnehmer-Vorgangs: O Auftragnehmer-Vorgang ist offen C Auftragnehmer-Vorgang ist beendet (PEND FI) KCRST 2.Byte --> Transaktionsstatus des Auftragnehmer-Vorgangs: O Transaktion ist offen (PEND KP) P Auftragnehmer hat Transaktionsende angefordert (mit PEND RE oder FI, PTC-Zustand) C Transaktion ist abgeschlossen (PEND RE oder FI) MPUT an das Terminal Versorgen: KCRN <-- mit Leerzeichen KCOM <-- mit NT oder NE KCLM <-- mit der Länge der Nachricht KCMF <-- mit dem Formatkennzeichen oder Leerzeichen KCDF <-- ggf. mit einer Bildschirmfunktion PEND Ende des Folge-Teilprogramms des Auftragnehmer-Vorgangs Versorgen: KCOM <-- abhängig von Status-Anzeigen in KCRST FI nur bei KCVGST=C erlaubt, beendet Vorgang und Transaktion RE beendet die Transaktion bei KCTAST=P, nicht erlaubt bei KCTAST=O (weil Nachricht an das Terminal) ER/FR setzt Transaktion zurück, auch der Auftragnehmer-Vorgang wird zurückgesetzt und beendet; einzige Ausnahme: KCTAST=C und KCVGST=C. KP nicht zu empfehlen, wenn KCTAST=P PA/PR verboten, da Nachricht an das Terminal gesendet wurde. KCRN <-- ggf. (bei PEND KP oder PEND RE) Name des Folge-Teilprogramms des Auftraggeber-Vorgangs