Abmelden eines Bausteins: UNREGISTER

  EXEC TAA UNREGISTER END-EXEC.

Mit der UNREGISTER-Anweisung meldet sich der Baustein von der Infrastruktur ab. Die Infrastruktur geht nun davon aus, dass der Service beendet ist, und entfernt u.a. alle von dem Service angelegten lokalen Objekte. Bausteine, die auf die Beendigung dieses Services warten, werden, soweit möglich, in diesem Moment wieder aktiviert.

UNREGISTER wird in der Regel die letzte auszuführende Anweisung in der PROCEDURE DIVISION sein, unmittelbar vor GOBACK. Nachfolgende Statements werden nicht mehr ausgeführt.

Innerhalb des EXEC TAA UNREGISTER wird auch dafür gesorgt, dass die von dem Modul benutzten TAA-Objekte (Parameter und globale Objekte) entsprechend ihrer Rolle an die Infrastruktur zurückgeliefert werden; dafür werden bestimmte Objektoperationen automatisch erzeugt:

Klasse Rolle Operation
REC MOD CRE PUT
REC DEL DELETE
LST, REF DEL RESETCONTENTS

Beispiel

Abmelden mit Nachricht an Workflow Management System

EXEC TAA UNREGISTER SUSPEND [ASYNC]
  [FOR 
    [DATE {<Feldangabe> | <Literal>}]
    [[AND] OE {<Feldangabe> | <Literal>} ]
    [[AND] GEVO-OE {<Feldangabe> | <Literal>}
END-EXEC.

EXEC TAA UNREGISTER SUSPEND WITH FAULT END-EXEC.

EXEC TAA UNREGISTER CONFIRM
    [FOR DATE {<Feldangabe> | <Literal>}]
END-EXEC.

EXEC TAA UNREGISTER RESET
  [FOR OE {<Feldangabe> | <Literal>} ]
    [[AND] GEVO-OE {<Feldangabe> | <Literal>}
END-EXEC.

Datum und Organisationseinheit können als Literal oder als Fedlangabe übergeben werden.

Format für <datum>: „JJJJ-MM-TT“, Feld Größe X(10)

Format für <oe-name>: beliebiger String, Feld Größe X(14)

  <Feldangabe> = {COBOL-Variable | <objektname>.<feldname>[(indices)]}

Wenn Ihr Modul unterhalb eines Workflow Management Systems läuft, können Sie vorsehen, dass bei Ende des aktuellen Moduls der gerade laufende Arbeitsgang unterbrochen wird, um z.B. eine Frist abzuwarten, oder den Vorgang bei einem anderen Mitarbeiter weiterbearbeiten zu lassen.

Folgende Varianten sind dafür vorgesehen:

UNREGISTER SUSPEND [.......]

SUSPEND bedeutet, dass der Arbeitsgang unterbrochen wird. Er kann von der zuständigen Organisationseinheit (z.B. Sachbearbeiter, oder Abteilung zu einem späteren Zeitpunkt mit den Daten neu aufgenommen werden, die vorlagen, als er unterbrochen wurde. Die Infrastruktur sorgt automatisch dafür, dass der Kontrollfluss bis zur Steuerungsebene zurückgeführt wird.

SUSPEND FOR OE <oe-name> bedeutet, dass der Arbeitsgang von dem gerade damit beschäftigten Sachbearbeiter nicht mehr weiterbearbeitet werden soll; es soll jetzt eine andere Organisationseinheit daran weiterarbeiten. Der Arbeitsgang erscheint im Postkorb der Organisationseinheit, die ihn weiter bearbeiten soll.

Im Anschluss an die OE-Angabe kann eine Benutzer-ID angegeben werden, um den Arbeitsgang einem bestimmten Sachbearbeiter zuzuordnen. Dabei gelten die ersten 14 Stellen als OE-Angabe, die nachfolgenden 8 Stellen als Benutzer-ID. Wenn die OE-Angabe kürzer als 14 Stellen ist, müssen die dazwischenliegenden Stellen mit Leerzeichen aufgefüllt werden, z.B.

EXEC TAA
Unregister Suspend For OE '01091006      AL13270'
END-EXEC

SUSPEND FOR DATE <datum> bedeutet, dass der Arbeitsgang für den angegebenen Termin auf Wiedervorlage liegt. Die Organisationseinheit, in deren Postkorb er liegt, kann ihn jederzeit wieder aufnehmen; spätestens zu dem angegebenen Zeitpunkt legt das WFM-System ihn automatisch wieder vor:

Mit „SUSPEND FOR DATE <datum> AND OE <oe-name>“ können diese beiden Angaben kombiniert werden: der Arbeitsgang erscheint im Postkorb der neuen Organisationseinheit und wird zu dem angegebenen Zeitpunkt wieder vorgelegt.

SUSPEND FOR GEVO-OE <oe-name> [a] bedeutet, dass die Verantwortung für den gesamten Geschäftsvorfall einer anderen Organisationseinheit übertragen werden soll. Auch diese Angabe ist mit den Angaben DATE und OE kombinierbar. Das Format ist gleich wie bei der OE-Angabe.

Der Zusatz ASYNC [b] bewirkt, dass der Arbeitsgang asynchron wieder aufgenommen wird: Zum angegebenen Datum wird der Arbeitsgang auf dem Server wieder angestartet, ohne dass eine explizite Wiederaufnahme aus dem Postkorb notwendig ist.

Status im Postkorb nach SUSPEND: in Bearbeitung

UNREGISTER SUSPEND WITH FAULT

SUSPEND WITH FAULT wird gesetzt, wenn die Unterbrechung aufgrund eines Fehlers erfolgte, die ein Weiterarbeiten zu diesem Zeitpunkt unmöglich macht (z.B. war die Verbindung zum Host unterbrochen). Die zum Arbeitsgang gehörigen Daten werden gesichert, und der Arbeitsgang kann wieder aufgenommen werden, wenn der Fehler beseitigt ist. Status im Postkorb: „Fehler“.

Status im Postkorb nach SUSPEND WITH FAULT: Fehler

UNREGISTER CONFIRM [FOR DATE <datum>]

Diese UNREGISTER-Anweisung besagt, dass nach Ende des Arbeitsgangs zwar alle Arbeiten daran erledigt sind, dass aber der Arbeitsgang noch nicht abgeschlossen ist, weil noch eine dazugehörige Verarbeitung durchgeführt werden muss (z.B. zugehörige Dokumente drucken). Der Arbeitsgang taucht dann bei der zuständigen weiterhin im Postkorb auf. Die Anwendung, die die fehlende Verarbeitung durchführt, kann nach deren Ende den Arbeitsgang im WFM-System „bestätigen“, indem sie ihn auf erledigt setzt.

Wenn ein Datum angegeben ist, so betrachtet das WFM-System den Arbeitsgang spätestens zu diesem Zeitpunkt als erledigt, auch wenn noch keine Bestätigung erfolgte. Wenn die Bestätigung unbedingt erforderlich ist, darf deshalb kein Datum angegeben werden.

Der Kontrollfluss geht weiter wie beim „normalen“ UNREGISTER; der CONFIRM bewirkt keine Unterbrechung.

Status im Postkorb nach CONFIRM: zur Abarbeitung anstehend

UNREGISTER RESET [FOR OE ...]

Hiermit wird dem WFM-System mitgeteilt, dass der Sachbearbeiter den Arbeitsgang abgebrochen hat. Alle Daten werden auf den Stand zurückgesetzt, in dem sie zu Beginn des Arbeitsgangs waren. Der Arbeitsgang wird wieder zur Bearbeitung in den Postkorb gestellt; seine Bearbeitung muss von vorn begonnen werden. Die Infrastruktur sorgt automatisch dafür, dass der Kontrollfluss bis zur Steuerungsebene zurückgeführt wird.

Wenn „FOR OE <oe-name>“ angegeben ist, bedeutet das, dass die angegebene Organisationseinheit die neuerliche Bearbeitung vornehmen soll.

ab V8.05Wenn „GEVO-OE <oe-name>“ angegeben ist, bedeutet das, dass an die angegebene Organisationseinheit die Geschäftsvorfall-Verantwortung übertragen wird.

Status im Postkorb nach RESET: Zugeordnet

UNREGISTER (ohne Zusatz)

Bedeutet, dass der Arbeitsgang abgeschlossen ist; Der Kontrollfluss geht bei der nächsten Anweisung im aufrufenden Modul weiter.

Status im Postkorb: „Erledigt“.

Beispiel

sample.cbl
IDENTIFICATION DIVISION.
    EXEC TAA IDENTIFY EFUN SERVICE AF-DATEN-TBF-VERSORGEN
     IN LEVERT END-EXEC.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
    DECIMAL-POINT IS COMMA.
DATA DIVISION.
WORKING-STORAGE SECTION.
* ......
LINKAGE SECTION.
PROCEDURE DIVISION.
MAIN SECTION.
    EXEC TAA REGISTER END-EXEC
    SET TC-STATE-NICHT-OK OF ME TO TRUE
    EVALUATE TRUE
    WHEN TC-EVENT-DURCHFUEHREN
       PERFORM INIT
       PERFORM ANTRAG-VERTRAG
       SET TC-STATE-OK OF ME TO TRUE
    WHEN OTHER
       EXEC TAA SET AND RAISE SEVERE GROUP APPLERR CODE 3
          ARGUMENTS = (TC-EVENT)
       END-EXEC
    END-EVALUATE
    EXEC TAA UNREGISTER END-EXEC.

a) ab TAA Version 8.05
b) ab TAA Version 7.06
cobref:cob:unregister · Zuletzt geändert: 15.04.2015 11:31

Copyright © 1992-2024 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum