Start-Request

Der Start-Request dient dazu, die Ausführung einer Verarbeitung asynchron zu veranlassen.

Veranlassen der Erstellung eines Requests

Konstrukt "Folgesteuerung starten" in ControlEdge

Der Dialog für das Erfassen eines Konstrukts Folgesteuerung starten in ControlEdge basiert auf dem Dialog für den Bausteinaufruf: Auch für die zu startende Folgeverarbeitung werden Ereignis und Parameterobjekte übergeben.

Über den Erweitert-Knopf gelangen Sie in einen weiteren Dialog, in dem die zusätzlichen Angaben für das Starten einer Folgeverarbeitung gemacht werden können:

  • Die Angabe „Gevo nur registrieren, nicht starten“ bewirkt, dass die Folgesteuerung nicht direkt anläuft, sondern nur in in den Postkorb eingestellt wird.
  • Zu „aktuelles Schriftgut übergeben“ s. hier.
  • Fortlaufende Gevo-ID anfordern“ (nur beim Start von Geschäftsvorfallsteuerungen) bewirkt, dass eine GevoID angefordert wird, die von der ID des startenden Geschäftsvorfalls abgeleitet ist.
  • Bei … Zustand setzen“: Gibt an, welchen Zustand die Infrastruktur setzen soll, wenn der Request erfolgreich gespeichert wurde bzw. nicht erstellt werden konnte. Dieser Zustand kann vom Aufrufenden Modul im Code ausgewertet werden.
  • Aufnehmen zum Termin“: Hier können Sie einen Termin ermitteln lassen, zu dem die mit diesem Konstrukt erstellten Requests aufgenommen werden sollen. Die Terminangaben sind immer relativ zum Zeitpunkt der Ausführung.

Die Eigenschaften können wie folgt besetzt werden:

  • wird nicht bestückt: Die Eigenschaft wird nicht in den erstellten Request aufgenommen.
  • aus der gleichen Eigenschaft des aktuellen GeVos: Der zur Laufzeit aktuelle Inhalt derselben Eigenschaft in dem aktuellen Gevo wird als Wert der Eigenschaft in den erstellten Request übernommen. Diese Angabe ist nur zulässig, wenn die Eigenschaft auch in der Schnittstelle des aktuellen Steuerungsmoduls definiert ist.
  • aus dem Objekt: der Wert wird zur Laufzeit aus dem angegebenen Feld eines TAA-Objekts übernommen.
  • mit dem Wert: Hier kann ein Literal angeben werden, welches unverändert übernommen wird.

Für die Eigenschaften Kunde, Ordnungsbegriff, Vermittler, Gevo-Verantwortlicher-OE werden, falls keine Zuordnung erfolgt, die aktuellen Inhalte aus dem Systvar-Objekt bzw. aus den Eigenschaften des aktuellen Gevos übernommen.1)

EXEC TAA START in COBOL

Für das Starten einer Folgeverarbeitung steht in COBOL eine EXEC TAA-Schnittstelle zur Verfügung, die u.A. in den vom Steuerungsgenerator erzeugten COBOL-Steuerungen genutzt wird. Die Syntax ist lesen Sie bitte in der Cobol-Dokumentation nach.

InitStartRequest in .NET

Auch in der .NET Assembly((seit V7.03) der Start Befehl zur Verfügung. Die Syntax lesen Sie bitte hier nach.

Ein Baustein kann nur gestartet werden, wenn...

  • … im Schnittstellendialog das Feld Darf auch als Einstiegsbaustein benutzt werden angekreuzt ist:

  • … das aufrufende Modul das gerufene Modul laut Strt-Tabelle in der MDB aufrufen darf.

Zusätzlich kann angegeben werden, ob der Request mit der Anwendungsversion gestartet werden soll, mit der der Request erstellt wurde, oder ob versucht werden soll, den Request mit der aktuellen Anwendung zu starten. In diesem Fall wird versucht, Datenobjekte, die sich geändert haben, zu konvertieren.

Um zu erzwingen, dass mit der vorgegebenen Version gestartet wird, kreuzen Sie das Feld „versionskonform zuordnen“ an.

Request-Ausführung im LAN

Request-Datenbank

Um Requests im LAN ausführen zu können, muss zunächst eine Datenbank eingerichtet werden, in die die Auftragssätze eingestellt werden können.

Der Name der Datenbank wird in der Config-Section der TAA-Registry in dem Eintrag ReqDB angegeben, z.B. „ReqDb“=„TAARequest“; Default ist „TAAREQ“.

Der Name der Tabelle, die die Auftragssätze enthält, kann über den Eintrag RequestTabelle, ebenfalls in der Config-Section, verändert werden; Default ist „REQUEST“.

Die Tabelle muss gemäß folgender DDL aufgebaut sein:

sample.sql
CREATE TABLE [dbo].[Request] (
    [REQ_GUID]         [CHAR] (38)     NOT NULL ,
    [REQ_TS_EIN]       [CHAR] (26)     NOT NULL ,
    [REQ_WSNAME]       [CHAR] (15)     NOT NULL ,
    [REQ_USER]         [VARCHAR] (256) NOT NULL ,
    [REQ_ENV]          [CHAR] (6)      NOT NULL ,
    [REQ_PRNT_GVID]    [CHAR] (22)     NOT NULL ,
    [REQ_GEVO_ID]      [CHAR] (22)     NOT NULL ,
    [REQ_GEVO_OE]      [CHAR] (14)     NOT NULL ,
    [REQ_GEVO_ARBG_OE] [CHAR] (14)     NOT NULL ,
    [REQ_GEVO_OB]      [CHAR] (26)     NOT NULL ,
    [REQ_GEVO_KUNDE]   [CHAR] (9)      NOT NULL ,
    [REQ_APPL]         [CHAR] (12)     NOT NULL ,
    [REQ_MODL]         [CHAR] (32)     NOT NULL ,
    [REQ_REGONLY]      [CHAR] (1)      NOT NULL ,
    [REQ_CHECKDATE]    [CHAR] (26)     NOT NULL ,
    [REQ_CHECKDAYS]    [INT]           NOT NULL ,
    [REQ_TS_PROC]      [CHAR] (26)     NOT NULL ,
    [REQ_FLAG]         [SMALLINT]      NOT NULL ,
    [REQ_MLDG_GRP]     [CHAR] (12)     NOT NULL ,
    [REQ_MLDG_NR]      [SMALLINT]      NOT NULL ,
    [REQ_BLOB_SIZE]    [INT]           NOT NULL ,
    [REQ_BLOB]         [image]         NOT NULL ,
 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
 GO 
 
ALTER TABLE [dbo].[Request] WITH NOCHECK ADD 
 
CONSTRAINT [PK_Request] PRIMARY KEY CLUSTERED 
( 
[REQ_GUID], 
[REQ_TS_EIN] 
) ON [PRIMARY] 
GO 

Inhalt der Felder

GUID Global Unique ID der Instanz, die den Request eingestellt hat
TS_EIN Zeitpunkt, zu dem der Request in die Datenbank eingestellt wurde (Timestamp)
WSNAME Name der Workstation, von der aus der Request eingestellt wurde
USER ID des Benutzers, der den Request eingestellt hat
ENV Anwendungsumgebung, unter der der Request eingestellt wurde (EnvSpec-Eintrag in der TAA-Registry)
PRNT_GVID Gevo-ID des Gevos, der das TAA-Modul aufgerufen hat, von dem aus der Request eingestellt wurde (insofern das Modul nicht selbst ein GEVO ist)
GEVO_ID Falls der Request von einem Gevo eingestellt wurde, ID dieses Gevos
GEVO_OE ID der Organisationseinheit, die für die Bearbeitung des Gevos zuständig ist (Angabe im START-Konstrukt)
GEVO_ARGB_OE ID der Organisationseinheit, die für die Bearbeitung des aktuellen Arbeitsgangs des Gevos zuständig ist (Angabe im START-Konstrukt)
GEVO_OB Ordnungsbegriff (Angabe im START-Konstrukt)
GEVO_KUNDE Kunde (Angabe im START-Konstrukt)
APPL Anwendung, zu der das für den Request auszuführende Modul gehört (Angabe im START-Konstrukt)
MODL Modul, welches für den Request auszuführen ist (Angabe im START-Konstrukt)
REGONLY 1 = nur im Postkorb registrieren, 0 = direkt ausführen (Angabe im START-Konstrukt)
CHECKDATE Wiedervorlagetermin (Angabe im START-Konstrukt)
CHECKDAYS Anzahl Tage bis Wiedervorlage (Angabe im START-Konstrukt)
TS_PROC Zeitpunkt der Abarbeitung des Requests (Timestamp)
FLAG Abarbeitungszustand; Bedeutung der Flags s. unten
MLDG_GRP Meldungsgruppe der zuletzt aufgetretenen Condition (z.Zt. nicht benutzt)
MLDG_NR Meldungsnummer der zuletzt aufgetretenen Condition (z.Zt. nicht benutzt)
BLOB_SIZE Größe des Blobs, der die Request-Daten enthält
BLOB Blob, der die Request-Daten enthält

Abarbeiten der Requests

Die TAA-Infrastruktur beinhaltet einen Dienst, der, wenn er aktiviert ist, ständig den Eingang neuer Requests überwacht und deren Abarbeitung veranlasst. Dieser Dienst wird gestartet mit „taasrvc reqon“ und gestoppt mit „taasrcv reqoff“. Im TAA Explorer können Sie kontrollieren, ob der Dienst aktiv ist: Wenn ja, läuft dort ein Prozess mit dem Titel „Dispatcher for TAA Request for Start Service“.

Den Abarbeitungszustand der Requests bzw. das Ergebnis ihrer Ausführung wird in der Request-Datenbank festgehalten. In dem Feld REQ_FLAG wird der Status des Requests protokolliert:

1 Der Auftragssatz wurde aus der Datenbank gelesen und in die Work-Queue eingestellt.
2 Der Auftrag wurde von einem Thread aus der Work-Queue aufgenommen.
3 Der Im Request angegebene Baustein wurde ohne Oops-Meldungen ausgeführt.
4 Der im Request angegebene Baustein wurde ausgeführt, aber aber mit Oops-Meldungen.
5 Bei der Beschaffung von Informationen zur Ausführung des Requests ist ein Fehler aufgetreten, der die Ausführung unmöglich macht. Wahrscheinlich ist der Inhalt des Datenbanksatzes fehlerhaft.
6 Ein Fehlerzustand ist aufgetreten während des Versuchs, den angegebenen Baustein auszuführen.
1)
Je nachdem, auf welcher Plattform die Steuerung ausgeführt wird (z.B. mit OM/Neu), kann es notwendig sein, dass dafür die Systvar in der Schnittstelle angegeben sein muss.
faq:allg:startreq · Zuletzt geändert: 17.02.2020 08:16

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