Um Missbrauch der Workfloweigenschaften zuvor zu kommen, gibt es 2 Tabellen in der Entwicklungsdatenbank die für die Workfloweigenschaften von Bedeutung sind:
WFLP - Workfloweigenschaften:
In dieser Tabelle werden alle mögliche Workfloweigenschaften definiert, die überhaupt in den Anwendungen benutzt werden können. Eine genaue Beschreibug finden Sie hier.
BCTP - Geschäftsvorfalltyp-Workfloweigenschaft
In dieser Tabelle wird festgehalten, welche Workfloweigenschaften für welche Geschäftsvorfalltypen verwendet werden können. Um Workfloweingenschaften für alle Geschäftsvorfalltypen freizugeben, benutzen Sie * als Wert für die Spalte BcType.
Die WFLP-Tabelle wird verwendet, um in dem Schnittstellendialog zu spezifizieren, welche Eigenschaften ein Baustein verwendet, oder in dem Baustein gesetzt werden. Die verwendeten Workfloweigenschaften werden dann zur Generierungszeit und auch zur Laufzeit gegen diese Information geprüft.
Die BCTP-Tabelle wird nur zur Laufzeit verwendet, um die Verwendung von Workfloweigenschaften zu prüfen.
Neben dem Namen der Workfloweigenschaft enthält diese Tabelle auch Informationen darüber, wie diese Eigenschaft zu verwenden ist. Hierzu gibt es die Spalten Flags
und SysID
.
Die Spalte Flags
enthalt eine Kombination von einem oder mehreren der folgenden Werte:
Flag1) | Wert | Bemerkung |
---|---|---|
TAA_WFLP_NUMERIC | 1 | Wenn dieser Flag gesetzt ist, wird der Inhalt dieser Eigenschaft als numerischer Wert interpretiert. Ist sie nicht gesetzt, wird der Inhalt als Zeichenfolge interpretiert. |
TAA_WFLP_BPPROP | 2 | Dieser Flag kennzeichnet die Eigenschaft als eine Arbeitsgangeigenschaft, anstatt eine Eigenschaft zum Geschäftsvorfall. Dies hat auch zu Folge, dass der Inhalt nach Beendigung des Arbeitsganges verschwindet. Dieser Flag wird in der Regel nur von bestimmten Systemeigenschaften verwendet. |
TAA_WFLP_DATE | 4 | Wenn dieser Flag gesetzt ist, wird der Inhalt dieser Eigenschaft als Datumswert interpretiert. Der Flag ist kombinierbar mit TAA_WFLP_TIME um den Wert dieser Eigenschaft mit einem Datum und einer Uhrzeit zu versehen. |
TAA_WFLP_TIME | 8 | Wenn dieser Flag gesetzt ist, wird der Inhalt dieser Eigenschaft als Uhrzeitswert interpretiert. Der Flag ist kombinierbar mit TAA_WFLP_DATE um den Wert dieser Eigenschaft mit einem Datum und einer Uhrzeit zu versehen. |
TAA_WFLP_TIMESTAMP | 16 | Wenn dieser Flag gesetzt ist, wird der Inhalt dieser Eigenschaft als Timestamp interpretiert. |
TAA_WFLP_SIGNED | 32 | Wenn dieser Flag, in Kombination mit TAA_WFLP_NUMERIC, gesetzt ist, wird der Inhalt als numerischer Wert mit Vorzeichen interpretiert.2) |
Außerdem enthält diese Tabelle eine Spalte SysID, in der die Workflow-Eigenschaften gekennzeichnet sind, die von der Infrastruktur versorgt werden, oder für die Infrastruktur eine spezielle Bedeutung haben. Wenn diese Spalte einen Wert ungleich 0 enthält, handelt es sich hier um eine Systemeigenschaft, und an Hand des Wertes weiß die Infrastruktur, um welche Systemeigenschaft es sich handelt. Hierdurch kann der Name auch für diese Eigenschaften frei vergeben werden. Folgende Systemeigenschaften sind derzeitig definiert:
Wert | Bedeutung |
---|---|
1 | GUID des Geschäftsvorfalls, wird intern von der Infrastruktur vergeben. |
2 | Geschäftsvorfallnr, wird vom Geschichtsbuch (GEVES) vergeben. |
3 | Geschäftsvorfalltyp, z.B. aus dem Startkonstrukt |
4 | Verantwortlicher OE für den Geschäftsvorfall. |
5 | Verantwortlicher Sachbearbeiter für den Geschäftsvorfall. |
6 | Vermittler, kommt aus Systvar.Gve-Rgs-Vmi |
7 | Bemerkung, kommt aus Systvar.Gve-Bem |
8 | Kundennummer, kommt aus Systvar.Kundennummer bzw. Systvar.000-Ptn-K |
9 | Gesamtordnungsbegriff, kommt aus Systvar.Ordnungsbegriff |
10 | Infodatum, kommt aus Systvar.Gvf-Inf-D0 |
11 | Firstdatum, kommt aus Systvar.Gvf-Gevo-Fri-D0 |
12 | Arbeitsgangsnummer, besteht aus Geschäftsvorfallnr und einer 4-stelligen fortlaufenden Nummer |
13 | Arbeitsgangstyp |
14 | Verantwortlicher OE für den Arbeitsgang |
15 | Verantwortlicher Sachbearbeiter für den Arbeitsgang |
16 | Aktuelle Arbeitsgangstatus in GEVES Geschichtsbuchformat, kommt aus Systvar.Vst-Vrg-St-K |
17 | Datum zu Arbeitsgangstatus, kommt aus Systvar.Vor-St-D0 |
18 | Kommt aus Systvar.Vor-Vrg-Ref-Lnr |
19 | Benutzerid des aktuellen Sachbearbeiters, kommt aus Systvar.Ben-Ben-ID |
20 | Anrede des aktuellen Sachbearbeiters, kommt aus Systvar.Epe-Ben-Anr |
21 | Nachname des aktuellen Sachbearbeiters, kommt aus Systvar.Epe-Ben-Nnam-Nam1 |
22 | Vorname des aktuellen Sachbearbeiters, kommt aus Systvar.Epe-Ben-Vnam-Nam1 |
23 | Kurzname des aktuellen Sachbearbeiters, kommt aus Systvar.Epe-Ben-Nnam-Kurz |
24 | Durchwahl des aktuellen Sachbearbeiters, kommt aus Systvar.Epe-Duw |
25 | Angestelltenverhältnis des aktuellne Sachbearbeiters, kommt aus Systvar.Epe-An-Vhael |
26 | Abteilungsnummer Leben des aktuellen Sachbearbeiters, kommt aus Systvar.Epe-Abt-Nr-L |
27 | Abteilungsnummer Sach des aktuellen Sachbearbeiters, kommt aus Systvar.Epe-Abt-Nr-S |
28 | Organisationseinheit des aktuellen Sachbearbeiters, kommt aus Systvar.Org-Oe-K |
29 | Kurzbezeichnung der Organisationseinheit des aktuellen Sachbearbeiters, kommt aus Systvar.Org-Oe-Kbz |
30 | Langbezeichnung der Organisationseinheit des aktuellen Sachbearbeiters, kommt aus Systvar.Org-Oe-Bz |
31 | Telefonnummer der Organisationseinheit des aktuellen Sachbearbeiters, kommt aus Systvar.Org-Oe-Tel |
32 | Faxnummer der Organisationseinheit des aktuellen Sachbearbeiters, kommt aus Systvar.Org-Oe-Fax |
33 | Bemerkung zu Organisationseinheit des aktuellen Sachbearbeiters, kommt aus Systvar.Org-Oe-Hinw-Oe |
34 | Benutzerid für BS2000 des aktuellen Sachbearbeiters, kommt aus Systvar.Epe-Ben-Id-Bs2 |
35 | Benutzerid für das Archiv des aktuellne Sachbearbeiters, kommt aus Systvar.000-Ach-Ben-Id |
36 | kommt aus Systvar.000-Aufr-Modul |
37 | kommt aus Systvar.000-Anw-Aufr-Module |
38 | Prüftage (START-Konstrukt) |
39 | Bezeichnung des Geschäftsvorfalls |
40 | Parent-Geschäftsvorfall |
41 | Verbose Flag |
42 | Kundenvorname, kann beim Startkonstrukt übergeben werden |
43 | Kundennachname, kann beim Startkonstrukt übergeben werden |
44 | Registrierungsdatum |
45 | Anzahl der unterschiedlichen Sachbearbeiter |
46 | Anzahl Wechsel der Sachbearbeiter |
47 | Anzahl Wechsel der verantwortlichen OE für den Geschäftsvorfall |
48 | Anzahl der unterschiedlichen Organisationseinheiten |
49 | Anwendung des Geschäftsvorfalltyps |
50 | Kurzname des Geschäftsvorfalltyps |
51 | Stufe |
52 | Name des Webservice, der zur Zeit ausgeführt wird |
53 | Ausgelöste Methode des Webservice, der zur Zeit ausgeführt wird |
54 | Gesellschaftsschlüssel des Gesamtordnungsbegriffs, kommt aus Systvar.Vbg-Gss-K |
55 | Artschlüssel des Gesamtordnungsbegriffs, kommt aus Systvar.X3x-Ob-Art-K |
56 | Ordnungsbegriff des Gesamtordnungsbegriffs, kommt aus Systvar.Gob-Ob |
57 | <html>
</html>GUID des zuletzt eingestellten Startrequests (siehe TFS134125) |
58 | <html>
</html>Wird der Geschäftsvorfall maschinell ausgeführt? (siehe hier) |
59 | Empfangsart (siehe hier)3) |
60 | Sachbearbeiter, der den Gevo angelegt hat (siehe hier)4) |
61 | OE, in der der Gevo empfangen wurde (siehe hier)5) |
62 | SingleProcess Flag6) |
Um zur Laufzeit auf die Workfloweigenschaften zu zugreifen, gibt es neue API Funktionen:
LPCSTR TAAFUNC taaImBcPropertyStringGet (HTAASTME hStme, LPCSTR lpszProp); BOO TAAFUNC taaImBcPropertyStringSet (HTAASTME hStme, LPCSTR lpszProp, LPCSTR lpszValue); DWORD TAAFUNC taaImBcPropertyDwordGet (HTAASTME hStme, LPCSTR lpszProp); BOOL TAAFUNC taaImBcPropertyDwordSet (HTAASTME hStme, LPCSTR lpszProp, DWORD dwValue); LPCSTR TAAFUNC taaImBpPropertyStringGet (HTAASTME hStme, LPCSTR lpszProp); BOOL TAAFUNC taaImBpPropertyStringSet (HTAASTME hStme, LPCSTR lpszProp, LPCSTR lpszValue); DWORD TAAFUNC taaImBpPropertyDwordGet (HTAASTME hStme, LPCSTR lpszProp); BOOL TAAFUNC taaImBpPropertyDwordSet (HTAASTME hStme, LPCSTR lpszProp, DWORD dwValue);
Die Funktionen, um von COBOL-Modulen aus auf die Workfloweigenschaften zuzugreifen, sind in der TAA_COBOL-Hilfe beschrieben.
Wenn bei dem Aufruf einer dieser Funktionen ein Fehler auftritt, wird eine der folgende Conditions aus der Meldungsgruppe TAAIM1 geraised:
Code | Severity | Meldungstext | Bedeutung |
---|---|---|---|
0 | Severe | Ungültiger Bausteinbezug übergeben. | Das Argument hStme ist nicht (mehr) gültig. |
1 | Severe | Unbekannte Workflow-Eigenschaft „%1“. | <lpszProp> konnte in der WFLP-Tabelle nicht gefunden werden. |
2 | Error | „%1“ nicht in Bausteinschnittstelle angegeben. | <lpszProp> ist nicht in der Schnittstelle des aktuellen Baustein angegeben, und der Zugriff wird deshalb verweiget. |
3 | Severe | „%1“ ist keine Arbeitsgangeigenschaft. | Es wird versucht mit einer der taaImBpProperty… Methoden auf eine Workflow-Eigenschaft zu zugreifen, obwohl das Flag TAA_WFLP_BPPROP nicht gesetzt ist. |
4 | Severe | „%1“ ist keine Geschäftsvorfalleigenschaft. | Es wird versucht mit einer der taaImBcProperty… Methoden auf eine Workflow-Eigenschaft zu zugreifen, obwohl das Flag TAA_WFLP_BPPROP gesetzt ist. |
5 | Error | „%1“ ist für Geschäftsvorfalltyp nicht definiert. | Es konnte keinen EIntrag in der BCTP-Tabelle gefunden werden, der besagt das <lpszProp> in dem aktuellen Geschäftsvorfalltyp freigegeben ist. |
6 | Severe | Ungültiger Zugriff. | Es wird versucht eine Workflow-Eigenschaft als Zeichenfolge zu interpretieren, obwohl diese als numerisch gekennzeichnit ist, oder umgekehrt. |
7 | Error | „%1“ kann nicht geändert werden. | <lpszProp> kann nicht gesetzt werden, da sie entweder nicht in der Bausteinschnittelle entsprechend gekennzeichnet ist, oder es handelt sich um eine Systemeigenschaft, die von der Infrastruktur versorgt wird. |
8 | Severe | Unbekannte Systemeigenschaft. | <lpszProp> ist in der WFLP-Tabelle als ein Systemeigenschaft gekennzeichnet, die der Infrastruktur nicht bekannt ist. |
Verwenden Sie folgende SQL Statements für die notwendigen Änderungen in der TAA Metadatenbank. Diese Änderungen gehen von eine Tabelle in der Access MDB aus; wenn die Tabelle nicht in Access gespeichert werden soll, müssen diese Queries entsprechend angepasst werden.
Außerdem muss für die Modultypen, die ihrer Schnittstelle Workflow-Properties referenzieren können sollen, in der Tabelle edbBstn in der Spalte InterfaceDialog der Wert 512 (Hex 200) Bestandteil des Gesamtwertes sein.
INSERT INTO edbBstn ( Name, Bezeichnung, Suffix, Präfix, Zielsystem, Aufrufbar, Baustein_Kategorie, Parent, EdbInt, Version, Interface_Version, Header_Record, Anzahl_Felder, Table_Mode, Flags ) SELECT "WFLP", "Workfloweigenschaft", "GSE", "ASAA", "DMR", 0, 0, "NETW", 38, 1, 0, 1, 4, 1, 16; INSERT INTO edbTdef ( EdbInt, Feldnummer, Feldname, Cluster, POSITION, Länge, Typ, Rochadetyp, LinkBstn, Redundant, Bezeichnung, Flags ) SELECT 38, 0, "NAME", 1, 0, 32, 1, 0, 0, 0, "Name", 0; INSERT INTO edbTdef ( EdbInt, Feldnummer, Feldname, Cluster, POSITION, Länge, Typ, Rochadetyp, LinkBstn, Redundant, Bezeichnung, Flags ) SELECT 38, 1, "UMS", 2, 0, 53, 1, 0, 0, 0, "Bezeichnung", 0; INSERT INTO edbTdef ( EdbInt, Feldnummer, Feldname, Cluster, POSITION, Länge, Typ, Rochadetyp, LinkBstn, Redundant, Bezeichnung, Flags ) SELECT 38, 2, "SYSID", 1, 2, 4, 2, 0, 0, 0, "SystemID", 0; INSERT INTO edbTdef ( EdbInt, Feldnummer, Feldname, Cluster, POSITION, Länge, Typ, Rochadetyp, LinkBstn, Redundant, Bezeichnung, Flags ) SELECT 38, 3, "FLAGS", 1, 1, 4, 2, 0, 0, 0, "Flags", 0; CREATE TABLE edbWflp ( Name VARCHAR (32) NOT NULL, Bezeichnung VARCHAR (64), SysID INT NOT NULL, Flags INT NOT NULL, CONSTRAINT PK_edbWflp PRIMARY KEY ( Name ) ); INSERT INTO edbBstn ( Name, Bezeichnung, Suffix, Präfix, Zielsystem, Aufrufbar, Baustein_Kategorie, Parent, EdbInt, Version, Interface_Version, Header_Record, Anzahl_Felder, Table_Mode, Flags ) SELECT "BCTP", "Geschäftsvorfalltyp-Workflowproperty", "GSE", "ASAA", "DMR", 0, 0, "NETW", 39, 1, 0, 1, 2, 1, 16; INSERT INTO edbTdef ( EdbInt, Feldnummer, Feldname, Cluster, POSITION, Länge, Typ, Rochadetyp, LinkBstn, Redundant, Bezeichnung, Flags ) SELECT 39, 0, "BCTYPE", 1, 0, 12, 1, 0, 0, 0, "Geschäftsvorfalltyp", 0; INSERT INTO edbTdef ( EdbInt, Feldnummer, Feldname, Cluster, POSITION, Länge, Typ, Rochadetyp, LinkBstn, Redundant, Bezeichnung, Flags ) SELECT 39, 1, "WFLP", 1, 1, 32, 1, 0, 0, 0, "Workfloweigenschaft", 0; CREATE TABLE edbBctp ( BcType VARCHAR (12) NOT NULL, Wflp VARCHAR (32) NOT NULL, CONSTRAINT PK_edbBctp PRIMARY KEY ( BcType, Wflp ) ); INSERT INTO edbBstn ( Name, Bezeichnung, Suffix, Präfix, Zielsystem, Aufrufbar, Baustein_Kategorie, Parent, EdbInt, Version, Interface_Version, Header_Record, Anzahl_Felder, Table_Mode, Sequenz, Flags ) SELECT "MWFL", "Workfloweigenschaft", "", "", "", 0, 4, "MODL", 312, 1, 0, 920, 2, 4, 10, 0; INSERT INTO edbTdef ( EdbInt, Feldnummer, Feldname, Cluster, POSITION, Länge, Typ, Rochadetyp, LinkBstn, Redundant, Bezeichnung, Flags ) SELECT 312, 0, "NAME", 1, 0, 32, 1, 0, 0, 0, "Name", 0; INSERT INTO edbTdef ( EdbInt, Feldnummer, Feldname, Cluster, POSITION, Länge, Typ, Rochadetyp, LinkBstn, Redundant, Bezeichnung, Flags ) SELECT 312, 1, "READONLY", 1, 1, 1, 3, 0, 0, 0, "Readonly", 0;
Int32
anstatt UInt32