Instanzen dieser Klasse sind immer mit einer ModlEnv
-Klasse verbunden, welche eine Instanz dieser Klasse zur Eigenschaft Bp
liefert. Manche Eigenschaften und Methoden an diese TAA.BpObject
-Klasse sind in Zusammenhang mit dem ModlEnv
-Objekt zu betrachten.
Anhand der Klasse TAA.BpObject
(BP = Business Process, Arbeitsgang) können Eigenschaften des Arbeitsgangs gesetzt und verändert werden. Die meisten dieser Eigenschaften betreffen das Verhalten beim bzw. nach dem Unregister.
Ein Geschäftsvorfall besteht i.d.R. aus mehreren Arbeitsgängen, in denen eines oder mehrere Module ausgeführt werden. Ein Arbeitsgang, der auszuführen ist, erscheint im Postkorb der betroffenen Organisationseinheit (Abteilung, oder Sachbearbeiter) unter seinem Arbeitsgangnamen; Modulnamen sind im Postkorb nicht sichtbar.
Ihr Modul ist Bestandteil eines Arbeitsgangs, wenn es in einem Geschäftsvorfall unterhalb eines Workflow Management Systems abläuft. Nur dann werden auch diese Methoden und Eigenschaften zur Laufzeit wirksam.
Die Klasse BpObject
enthält alle Methoden und Eigenschaften, über die Informationen zu dem aktuellen Arbeitsgang abgefragt und verändert werden können. Insbesondere 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.
Ein Arbeitsgang, der bei einer Organisationseinheit im Postkorb steht, kann einen von folgenden Stati haben:
Status | Wird erreicht durch: |
---|---|
Erledigt, Aktiv | keine besonderen Angaben in den Modulen |
Unterbrochen | ein Modul setzte Suspend, oder SuspendAsynchronous |
zur Abarbeitung anstehend | ein Modul setzte Confirm |
zugeordnet | vor Beginn des Arbeitsgangs, oder ein Modul setzte Reset |
Fehler | ein Modul setzte Fault |
Die Klasse kennt nachfolgend beschriebene Eigenschaften und Methoden.
String Name { get; }
Diese Eigenschaft liefert den Namen des Arbeitsgangs. Der Name ist derjenige, der im Postkorb des Sachbearbeiters angezeigt wird.
String Title { get; }
Diese Eigenschaft liefert den Titel des Arbeitsgangs.
bool IsConfirm { get; } bool IsFault { get; } bool IsReset { get; } bool IsSuspend { get; }
Über diese Eigenschaften können Sie abfragen, ob bereits einer dieser Stati für den Arbeitsgang von einem Baustein gesetzt wurde. Der Wert ist true
, wenn die Eigenschaft gesetzt wurde.
Wichtig ist diese Abfrage vor allem nach einem doCall
, um festzustellen, ob ein anderer Baustein den Arbeitsgang unterbrochen oder zurückgesetzt hat: Wenn ja, muss die Kontrolle sofort an den Aufrufer zurückgegeben werden (bis zur Gevo-Steuerungsebene zurück, wo die Unterbrechung verwaltet wird).
Wenn IsFault
oder IsReset
= true
ist, ist auch die Eigenschaft IsSuspend
= true
.
System.Boolean Active()
Die Methode versucht, den WorkflowState dieses Arbeitsgangs auf „Active“ zu setzen.
Dies ist nur sinnvoll in NTRY
-Bausteinen, um nach Auftreten von Fehlern, die zum einem WorkflowState Fehler o.ä. geführt haben, die Verarbeitung in anderen TAA-Modulen fortsetzen zu können.
In anderen TAA-Bausteinen (AFUN
usw.) wird der Workflow-State von der TAA-Infrstruktur ausgewertet und entsprechend darauf reagiert, sodass dort ein Verändern auf Active zu unvorhergesehenem Laufzeitverhalten der Anwendung führen kann.
Boolean Suspend() Boolean Suspend(DateTime dtDate) Boolean Suspend(String sOE) Boolean Suspend(String sOE, DateTime dtDate) Boolean Suspend(String sOE, String sDate) Boolean Suspend(String sOE, DateTime dtDate, String GevoOE) Boolean Suspend(String sOE, String sDate, String GevoOE)
Wenn Sie für einen Arbeitsgang die Methode Suspend
ausführen, wird der Arbeitsgang nach dem Unregister unterbrochen. Er wird im Postkorb der bearbeitenden Organisations-Einheit als „in Bearbeitung“ gekennzeichnet, und kann zu einem späteren Zeitpunkt neu aufgenommen werden, mit den Daten, die vorlagen, als er unterbrochen wurde.
Wenn der Arbeitsgang von einem anderen als dem gerade damit beschäftigten Sachbearbeiter weiterbearbeitet werden soll, geben Sie im Argument sOE
die neue Organisationseinheit an. Der Arbeitsgang erscheint dann - mit dem Status „in Bearbeitung“ - im Postkorb der Organisationseinheit, die ihn weiter bearbeiten soll.
Wenn Sie im Argument dtDate
oder sDate
ein Datum angeben, wird der Arbeitsgang für den angegebenen Termin auf Wiedervorlage gelegt. 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 (Status im Postkorb: „in Bearbeitung“).
Wenn Sie eine Variante des Aufrufes mit dem Argument GevoOE
benutzen, erhält die hier festgelegte Organisationseinheit die Gevo-Verantwortung.
Beispiel:
Me.Bp.Suspend("Verkauf", "2003-10-23"); Me.Unregister();
Boolean SuspendAsynchronous() Boolean SuspendAsynchronous(DateTime dtDate) Boolean SuspendAsynchronous(String sDate)
Diese Methode1) funktioniert wie Suspend, allerdings mit der Besonderheit, dass der Geschäftsvorfall direkt oder zu einem späteren Zeitpunkt auf einem speziell dafür eingerichteten Server wieder aufgenommen und weiterverarbeitet wird. Im Postkorb wird eine solcher Arbeitsgang mit dem Zustand „zur Abarbeitung anstehend“ gekennzeichnet, und kann hier auch vom Sachbearbeiter wieder aufgenommen werden.
Wenn Sie im Argument dtDate
bzw. sDate
ein Datum angeben, findet die automatische Weiterverarbeitung zu diesem Datum statt. Ist kein Datum angegeben, so findet sie zum frühestmöglichen Zeitpunkt statt
Boolean Fault()
Fault sollten Sie angeben, wenn ein Fehler aufgetreten ist, der ein Weiterarbeiten zu diesem Zeitpunkt unmöglich macht (z.B. eine Netzwerkressource stand nicht zur Verfügung). Der Arbeitsgang wird dann nach dem Unregister 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“.
Boolean Confirm() Boolean Confirm(DateTime dtDate) Boolean Confirm(String sDate)
Wenn Sie für einen Arbeitsgang die Methode Confirm
ausführen, erwartet das Workflow Management System eine Bestätigung, bevor der Arbeitsgang als abgeschlossen betrachtet wird. Der Arbeitsgang taucht dann bei der zuständigen Organisationseinheit2) mit dem Kennzeichen „zur Abarbeitung anstehend“ im Postkorb auf. Dies kann der Fall sein, wenn z.B. ein Brief ausgedruckt und abgeschickt werden muss, oder wenn ein Batch-Programm die Erledigung bestätigen muss.
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 normal weiter. Ein anderer Baustein kann während der weiteren Bearbeitung des Arbeitsgangs den Confirm
-Status überschreiben, indem er einen anderen Arbeitsgang-Status setzt (z.B. mit Suspend, Fault).
Boolean Reset() Boolean Reset(String sOE)
Mit der Methode Reset
teilen Sie dem WFM-System mit, dass der Sachbearbeiter den Arbeitsgang abgebrochen hat. Der Arbeitsgang wird dann nach dem Unregister unterbrochen. Das WFM-System sorgt dafür, dass sämtliche Daten auf den Stand zurückgesetzt werden, in dem sie zum Beginn des Arbeitsgangs vorlagen. Der Arbeitsgang wird wieder zur Bearbeitung in den Postkorb gestellt; seine Bearbeitung muss von vorn begonnen werden (Statusangabe im Postkorb: „Zugeordnet“). Die Infrastuktur sorgt automatisch dafür, dass der Kontrollfluss bis zur Steuerungsebene zurückgeführt wird.
Wenn das Argument sOE
angegeben ist, bedeutet das, dass die angegebene Organisationseinheit die erneute Bearbeitung vornehmen soll.