Verarbeitung asynchron starten: START

Anmerkung: Die veraltete Syntax des Start-Konstrukts ist am Ende dieses Dokuments beschrieben. Diese Beschreibung sollte nur noch zum Veständnis bestehender Anweisungen herangezogen werden. Bei der Codierung neuer Start-Anweisungen verwenden Sie bitte nur noch die aktuelle Syntax.

EXEC TAA START [<servicetyp> SERVICE] <servicename>
    IN <anwendung>][.<operation>]
    [SUSPEND FOR [DATE] < literal> | <Feldangabe> ]
    [STARTMODE { REGISTERONLY | DIRECT }]
    [ATTACH DOCUMENTS]  
    [STATE-ERROR = < literal> ]
    [STATE-OK = < literal> ]
    [GEVOID = CONSECUTIVE]
    [GEVO-PROPERTIES
        <prop-1> [ = < literal> |  <Feldangabe> ]
       [, <prop-n> [ = < literal> | <Feldangabe>]] ...     ]
    [WITH <parameter1> = <objekt1>
    [AND <parameter2> = <objekt2>] ... ] 
END-EXEC
 
<Feldangabe> = {COBOL-Variable | <objektname>.<feldname>[(indices)]}

Mit der Anweisung START können Verarbeitungen asynchron gestartet werden. Die asynchron gestartete Anwendung wird u.U. auf einer anderen Plattform ausgeführt als die startende Anwendung.

Voraussetzungen dafür, dass ein Baustein gestartet werden darf, sind:

  • In der Strt-Tabelle der MDB muß eingetragen sein, dass ein Baustein vom Typ des startenden Moduls einen Baustein von Typ des zu startenden Moduls aufrufen darf.
  • In der Schnittstelle des zu startenden Bausteins muß angegeben sein, dass der Baustein auch als Einstiegsbaustein genutzt werden darf.

Da für einige Angaben der START-Anweisung genaue Formatvorgaben einzuhalten sind, empfiehlt es sich, Start-Anweisungen nicht manuell zu codieren, sondern diese in ein Steuerungsmodul zu verlagern und von Control-Edge generieren zu lassen. Wenn Sie dennoch eine START-Anweisung manuell erstellen, sollten Sie für die formatgebundenen Angaben eine entsprechende Datenstruktur (z.B. „SYSTEMVARIABLEN“) verwenden, da ansonsten Probleme auftreten können, die sich erst beim Anlauf der gestarteten Verarbeitung bemerkbar machen.

Wenn eine Geschäftsvorfall-Steuerung (GSTR; GEVO oder GVTL) gestartet wírd, wird im Rahmen des Start-Konstrukts die Gevo-ID für diesen neuen Gevo ermittelt. Diese kann in dem Feld TC-START-GEVOID abgefragt werden.

Beschreibung der START-Argumente (mit Workflow-Properties)

Die Angabe des zu startenden Bausteins sowie die Übergabe der Parameterobjekte erfolgen in derselben Syntax wie beim Aufruf eines Bausteins (CALL). Die zu übergebenden Objekte müssen hinter den Gevo-Properties angeben werden, also am Ende der START-Anweisung.

Die Argumente INIT-WFLSTATE, ATTACH DOCUMENTS, STATE-ERROR, STATE-OK, GEVOID SUSPEND FOR und STARTMODE können in beliebiger Reihenfolgen angegeben werden, müssen aber vor der Angabe der Workflow-Eigenschaften stehen.

  • STARTMODE: Gibt an, ob der Gevo im Postkorb lediglich registriert werden soll, oder direkt anlaufen soll. Default ist REGISTERONLY.
  • ATTACH DOCUMENTS [a]: Die aktuell selektierten CTV-Schriftstücke sollen mit dem START-Request übergeben werden.
  • SUSPEND FOR: Wiedervorlagedatum. Wenn die Angabe erfolgt, muß es ein Literal oder eine COBOL-Variable sein, deren Inhalt mit dem TAA-Timestamp-Format übereinstimmt.
  • STATE-ERROR: Wenn State-Error angegeben ist, wird dieser Zustand zurückgeliefert, falls die Ausführung des Start-Konstrukts fehlschlägt. State-Error muss einer der Zustände aus der Modulschnittstelle des zu startenden Moduls sein. Das Modul ist danach selbst für die weitere Reaktion auf den Fehler verantwortlich. Ist State-Error nicht angegeben, wird bei fehlgeschlagenem Start des Moduls der Workflow-Zustand auf Fehler gesetzt.
  • STATE-OK: Wenn StateOK angegeben ist, wird dieser Zustand zurückgeliefert, wenn der Start-Befehl fehlerfrei ausgeführt werden konnte.
  • GEVOID CONSECUTIVE [a][b] : Wenn das zu startende Modul vom Typ GSTR ist, können Sie hiermit veranlassen, dass eine GevoID vergeben wird, die aus der GEVOID des startenden Moduls abgeleitet wird.

INIT-WFLSTATE: obsolet, wird ignoriert.

Die mit Fußnote[a] versehenen Argumente sind nicht bei der Hallesche verfügbar.

Anschliessend werden die Workflow-Eigenschaften übergeben, eingeleitet durch das Schlüsselwork GEVO-PROPERTIES. Wird mehr als eine Eigenschaft angegeben, werden die Angaben durch Komma getrennt.

Wird nur <prop> angegeben, so wird der Eigenschaft der zur Laufzeit aktuelle Wert zugewiesen. Diese Angabe ist nur zulässig, wenn diese Eigenschaft auch in der Schnittstelle des aufrufenden Moduls definiert ist.

Einigen Workflow-Properties sind TAA-Systemproperties zugeordnet, die bei der Bearbeitung eines Start-Requests ausgewertet werden. Davon werden wiederum einige bei Ausführung des Start-Konstruktus automatisch mit den Werten bestückt, sofern sich nicht in dem Start-Konstrukt explizit gesetzt sind.

Wflp-Name automatisch bestückt Entsprechung in alter Start-Syntax Name der Systemproperty
KUNDE aus aktuellem Modul CLIENT $BcCustomer
ORDNUNGSBEGRIFF aus aktuellem Modul CATEGORY $BcOrdinal
VERMITTLER aus aktuellem Modul - $BcAgent
GEVO-VERANTWORTLICHER-OE aus aktuellem Modul GEVO-RESP $BcRespOe
PRUEFTAGE - CHECKDAYS $BcCheckDays
GEVONAME - GEVO-TYPE $BcName
PARTNER-NACHNAME - - $BcCustomerLName
PARTNER-VORNAME - - $BcCustomerFName
AKTUELLER-OE - CURRENT-RESP OE $CurUserOE
INFODATUM - - $BcInfoDate

Bei der Generierung des START werden für als Parameter zugewiesenen Objekte bestimmte Objektoperationen automatisch erzeugt, und zwar (vor Ausführung des Start):

Rolle (aufg. Modul) Objektart (aufg. Modul) Klasse (akt. Modul) Rolle (akt. Modul) Operation (akt. Modul)
REF MOD DEL Parm Global REC MOD CRE DEL PUT
REF MOD DEL Lokal REC - PUT
alle alle LST - keine

Syntax ohne Workflow-Properties (nur noch aus Kompatibilitätsgründen unterstützt):

EXEC TAA START [<servicetyp> SERVICE] <servicename>
    IN <anwendung>][.<operation>]
    [WITH <parameter1> = <objekt1>
    [AND <parameter2> = <objekt2>] ... ] 
    [GEVO-RESP [<literal> | <Feldangabe>]
    [OE <literal> | <Feldangabe>] ]
    [CURRENT-RESP [<literal> | <Feldangabe> ]
    [OE < literal> | <Feldangabe> ] ]
    [GEVO-TYPE < literal> | <Feldangabe>]
    [GEVO-TITLE < literal> | <Feldangabe> ]
    [CLIENT < literal> | <Feldangabe> ]
    [CATEGORY < literal> | <Feldangabe> ]
    [INIT-WFLSTATE <literal> ]
    [CHECKDAYS < num. literal> | <num. cobol-variable >]
    [SUSPEND FOR [DATE] < literal> | <Feldangabe> ]
    [STARTMODE { REGISTERONLY | DIRECT }]

    [ATTACH DOCUMENTS]
    [STATE-ERROR = < literal>]

    [STATE-OK = < literal> ]

END-EXEC

Beschreibung der START-Argumente (ohne Workflow-Properties)

Die Angabe des zu startenden Bausteins sowie die Übergabe der Parameterobjekte erfolgen in derselben Syntax wie beim Aufruf eines Bausteins (CALL).

Die anderen Angaben sind:

  • GEVO-TYPE: Ist beim Start eines GEVO wichtig, damit der richtige Verarbeitungsablauf innerhalb der Geschäftsvorfallsteuerung gestartet wird. Der Inhalt muß übereinstimmen mit den Angaben in der Gevotyp-Tabelle in Ihrem System. Das Format muß übereinstimmen mit der Definition des Feld GVT-GEVOT-PK in der SYSTEMVARIABLEN-Struktur.
  • GEVO-TITLE: Wird beim Anstoßen der gestarteten Verarbeitung als Überschrift benutzt.
  • GEVO-RESP, CURRENT: Mit GEVO-RESP können Sie festlegen, welcher Sachbearbeiter und/oder welche Organisationseinheit für den Gevo verantwortlich sind. Wenn keine Angabe gemacht wird, wird, falls ein Systvar-Objekt vorhanden ist, der GEVO-RESP von dort als Default übernommen.
  • CURRENT-RESP legt fest, welcher Sachbearbeiter und/oder welche Organisationseinheit für den ersten Arbeitsgang des Gevos verantwortlich sind. Für beide Angaben gilt: Sowohl der Benutzername als auch die Organisationseinheit sind optional; die Angabe der Organisationseinheit wird durch „OE“ eingeleitet, z.B., bei Übernahme der Angaben aus der SYSTEMVARIABLEN-Struktur:
GEVO-RESP OE  SYSTVAR-000-OE-K-1
oder
GEVO-RESP SYSTVAR-BEN-BEN-ID-1 OE SYSTVAR-000-OE-K-1 
oder
GEVO-RESP SYSTVAR-BEN-BEN-ID-1

Benutzername und OE können COBOL-Variablen oder Literale sein. Als Inhalt wird im Moment eine ID erwartet, die mit der Definition des Feld BEN-BEN-ID-1 bzw. 000-OE-K-1 in der SYSTEMVARIABLEN-Struktur übereinstimmt. Wird statt der ID ein Name angegeben, wird die Zuordnung zur Zeit noch nicht korrekt erfolgen.

  • CLIENT: Entspricht der „Kundennummer“ in der SYSTEMVARIABLEN-Struktur. Wenn keine Angabe gemacht wird, wird, falls ein Systvar-Objekt vorhanden ist, die Kundennummer von dort als Default übernommen. Wird der CLIENT angegeben, muß die Angabe dem Format aus der SYSTEMVARIABLEN-Struktur entsprechen.
  • CATEGORY: Entspricht dem Ordnungsbegriff in der SYSTEMVARIABLEN-Struktur. Wenn keine Angabe gemacht wird, wird, falls ein Systvar-Objekt vorhanden ist, der Ordnungsbegriff von dort als Default übernommen. Wird die CATEGORY angegeben, muß die Angabe dem Format aus der SYSTEMVARIABLEN-Struktur entsprechen.
  • CHECKDAYS: Prüfdatum. Wird im Moment zwar übergeben, aber nicht ausgewertet. Wenn die Angabe erfolgt, muß es ein numerisches Literal oder eine numerische COBOL-Variable sein.
  • Die Argumente INIT-WFLSTATE, ATTACH DOCUMENTS, SUSPEND FOR und STARTMODE sind auch in dieser Syntax gültig, s. Beschreibung oben (mit Workflow-Properties).

a) Nicht für Hallesche!
b) ab TAA Version 8.04
cobref:cob:start2 · Zuletzt geändert: 09.08.2024 13:25

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