Ansicht
Dokumentation

C14WF_WORKFLOWS_START - EHS: die Workflow-Abläufe im EH&S starten

C14WF_WORKFLOWS_START - EHS: die Workflow-Abläufe im EH&S starten

Addresses (Business Address Services)   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Workflow im EH&S-System: Einführung

(Dokument für den Kunden (Rohfassung vom 25.2.99))

Anmerkung zum Dokument:

Dieses Dokument beschreibt in erster Linie die EH&S-spezifischen Funktionalitäten im Zusammenhang mit dem Thema Workflow Es soll keine Dokumentation der Workflow-Funktionalität im SAP-System an sich sein. Letztere ist bereits ausführlich im SAP-Standard dokumentiert. Diese Dokumentation kann folgendermaßen angezeigt werden:

Starten Sie die Transaktion SWLD
Rufen Sie den Menüpunkt Hilfe -> Hilfe zur Anwendung auf.

Im untenstehenden Text wird bei Bedarf auf diese Standarddokumentation verwiesen.

Version 1 (Stand 25.2.1999):

Unter dem Sammelbegriff 'EH&S-Workflow' sind eine Reihe von Werkzeugen zusammengefaßt, die den Kunden bei der Erstellung von Workflow-Definitionen (siehe Standarddokumentation) innerhalb des EH&S-Systems unterstützen sollen. In der 1. Version wird dabei vor allem die Pflege von Eigenschaften von Stoffen automatisiert. Ganz grob gesprochen finden folgende Vorgänge beim Anlegen, Starten und Abarbeiten von Workflow-Abläufen statt (eine detailierte Beschreibung der einzelnen Punkte folgt weiter unten):

1.
Der Kunde legt zunächst eine Workflow-Definition an, indem er einfach die EH&S-Beispiel-Workflow-Definition EHS_DEMO kopiert. Er erhält auf diese Weise eine Workflow-Definition mit einem einzelnen Workflow-Schritt (siehe Standarddokumentation). Dieser ruft eine EH&S-Standard-Methode zur Bearbeitung von Stoffeigenschaften auf. Der Kunde muß nun seine Workflow-Definition manuell nachbearbeiten um unter anderem festzulegen, welche zuständigen Sachbearbeiter vom Workflow-Schritt benachrichtigt werden sollen. Ferner legt er im EH&S-Customizing fest:
- Bei welchen Ereignissen der Workflow gestartet werden soll
(z.B. nur bei Änderungen an Identifikatoren oder an der
Eigenschaft 'Dichte').
- Welche Eigenschaften von den Sachbearbeitern gepflegt werden
sollen, falls der Workflow sie benachrichtigt. Diese Liste
von Eigenschaften wird 'Aufgabenprofil' genannt und dem
Workflow-Schritt zugeordnet.

2.
Ein Hintergrund-Job des EH&S-Systems läuft periodisch (z.B. jede Nacht) ab und sammelt zunächst alle Änderungsbelege auf, die aufgrund von Änderungen an Stoffdaten seit dem letzten Start des Jobs erzeugt worden sind.

3.
Der Job prüft nun für jeden geänderten Stoff nach, ob an ihm eine workflow-relevante Änderung gemacht worden ist. Dazu zieht er die Ereignisse heran, die der Kunde in Punkt 1. im EH&S-Customizing seiner Workflow-Definition zugeordnet hat. Alle Stoffe, die diese Prüfung bestanden haben, werden in einer sog. Stoffmenge zusammengefaßt, die dann dem Workflow des Kunden übergeben wird. Schließlich startet der Job den Workflow.

4.
Der Workflow-Ablauf erzeugt nun für jede Kombination

( Stoff der Stoffmenge, Eigenschaft im Aufgabenprofil )

ein Workitem (siehe Standarddokumentation), das an alle Sachbearbeiter geschickt wird, die der Kunde in Punkt 1. seiner Workflow-Definition zugeordnet hat. Die Sachbearbeiter finden die Workitems als Mails in ihrem Posteingang vor.

5.
Wenn nun ein Sachbearbeiter ein solches Workitem ausführt, so wird direkt der Bewertungsdialog der Transaktion 'Stoff bearbeiten' des EH&S-Systems für die zugehörige Kombination (Stoff, Eigenschaft) angezeigt, und der Sachbearbeiter kann die Eigenschaft des Stoffes prüfen und korrigieren. (Hier gemachte Änderungen erzeugen natürlich ebenfalls Änderungsbelege, die dann beim nächsten Lauf des Hintergrund-Jobs zu neuen Workflows führen können.)

Es folgt nun die Beschreibung der obenstehenden Punkte im Detail.

zu 1.
Der Kunde legt eigene Workflow-Definitionen am bequemsten an, indem er die EH&S-Beispiel-Workflow-Definition EHS_DEMO (mit dem internen Schlüssel WS11200006) kopiert. (Dies geschieht mit der Transaktion SWLD. Zum Kopieren und Pflegen von Workflow-Definitionen betrachte man die Standarddokumentation.) Er kann so beliebig viele Definitionen anlegen. Der Kunde erhält so eine Workflow-Definition, die aus einem Schritt (mit der internen Nummer 000004) besteht. (Diesem Schritt ist die Standardaufgabe (siehe Standarddokumentation) EHS_DEMO_TSK (mit dem internen Schlüssel TS11200005) zugeordnet. (In der hier beschriebenen Version 1 des EH&S-Workflows darf es in einer Workflow-Definition nur höchstens einen Workflow-Schritt geben, der auf diese Standardaufgabe verweist!))

Der Kunde muß nun die Bearbeiterzuordnung seines Workflow-Schrittes pflegen. Dazu wird der Workflow-Schritt mit einer sog. Planstelle im Modul HR verknüpft. (Dies wird ausführlich in der Standarddokumentation beschrieben.) Auf diese Weise legt er fest, welche Sachbearbeiter vom Workflow-Schritt benachrichtigt werden sollen. Insbesondere hat der Kunde dazu die Rubriken 'Bearbeiterzuordnung' und 'Zuständige' seines Workflow-Schrittes manuell zu überarbeiten.

Desweiteren muß der Kunde einige Einstellungen im EH&S-Customizing pflegen, die er seiner Workflow-Definition zuordnet. Zunächst einmal ordnet er der Definition eine sog. Startbedingung mit dem Customizing-Punkt 'Startbedingung festlegen' zu. (Bei diesem Punkt ist eine ausführliche Dokumentation hinterlegt worden.) Insbesondere ist hier bei den Feldern 'Standardobjekttyp', 'Objektid Standardobjekt' die Workflow-Definition einzutragen. Zum Beispiel könnte man die Werte WS bzw. 11200006 in die jeweiligen Felder eintragen.

Die Startbedingung enthält zum einen eine Liste von sog. Startereignissen (die mit 'oder' verknüpft werden). Hier legt der Kunde fest, wann der Workflow für einen Stoff gestartet werden soll. (Der in Punkt 2. erwähnte Hintergrund-Job ermittelt die Stoffe, an denen seit seinem letzten Lauf Daten geändert worden sind. Der Job übergibt die Stoffe den Workflow-Abläufen und startet diese dann. Ein Stoff wird aber nur dann einem Workflow-Ablauf übergeben, wenn er dessen Startbedingung erfüllt!) Z.B. könnte man bei einer Startbedingung die Startereignisse

ESTRI (Identifikatoren), SAP_EHS_1013_001 (Aggregatzustand),
SAP_EHS_1013_005 (Dichte)

eintragen. Dies würde dann konkret folgendes bedeuten:

Ein Stoff wird genau dann dem Workflow-Ablauf übergeben,
- wenn einer seiner Identifikatoren geändert wurde, oder
- wenn er bei der Eigenschaft 'Aggregatzustand' geändert wurde, oder
- wenn er bei der Eigenschaft 'Dichte' geändert wurde.

Zum Beispiel würde dann ein Stoff dem Workflow-Ablauf übergeben, wenn eine der folgenden Datenänderungen an ihm vorgenommen worden sind:

- Der Text einer seiner Identifikatoren wurde geändert (innerhalb der
ersten 132 Zeichen oder im Langtext).
- Die Stofflistenzuordnung einer seiner Identifikatoren wurde
geändert.
- Zur Eigenschaft 'Aggregatzustand' wurde eine neue Bewertungsinstanz
angelegt.
- Die Beurteilung einer Bewertungsinstanz zur Eigenschaft
'Aggregatzustand' wurde geändert.
- Ein Freitext einer Bewertungsinstanz zur Eigenschaft 'Dichte' wurde
geändert.

Zum anderen enthält die Startbedingung eine Liste von Bewertungsarten. Ein Stoff besteht eine Startbedingung nur dann, wenn er in jeder Bewertungsart, die in der Liste vorkommt, bewertet ist.

Schließlich kann man bei einer Startbedingung noch einen User-Exit hinterlegen, um die obigen Prüfungen noch durch selbstprogrammierte zu ergänzen.

Als nächstes ordnet der Kunde seinem Workflow-Schritt ein sogenanntes Aufgabenprofil mit dem Customizing-Punkt 'Aufgabenprofil festlegen' zu. (Bei diesem Punkt ist eine ausführliche Dokumentation hinterlegt worden.) Dieses Profil besteht im wesentlichen aus einer Liste von Bewertungsarten. Für jeden Stoff, der dem Workflow-Schritt zur Bearbeitung übergeben wird und für jede Bewertungsart in der Liste wird ein Workitem generiert und an die zuständigen Sachbearbeiter geschickt. (In der hier beschriebenen Version 1 des EH&S-Workflows darf es zunächst nur ein Aufgabenprofil pro Workflow-Definition geben.) Insbesondere ist hier bei den Feldern 'Standardobjekttyp', 'Objektid Standardobjekt', 'Knotennummer' der Workflow-Schritt einzutragen. Zum Beispiel könnte man die Werte WS bzw. 11200006 bzw. 4 in die jeweiligen Felder eintragen.

Anmerkung: Die Startereignisse und Bewertungsarten der Startbedingungen und Aufgabenprofile können bequem mit dem Eigenschaftsbaum gepflegt werden.

zu 2.
Der Kunde muß den Report RC1WFSUB als Hintergrund-Job einplanen. (Dies ist in dem Customizing-Punkt 'Job zum Start des Workflows einrichten' ausführlich beschrieben.) Der Job könnte dann z.B. jede Nacht um 23:55 Uhr eingeplant werden. Er selektiert alle Änderungsbelege, die aufgrund von Änderungen an Stoffdaten seit seinem letzten Lauf erzeugt worden sind. Der Job merkt sich den Zeitpunkt seines letzten Laufs in den beiden Umgebungsparametern WF_SUB_DATE_FROM und WF_SUB_TIME_FROM. Wird der EH&S-Workflow zum ersten Mal beim Kunden eingerichtet, so muß in diese Parameter manuell ein sinnvoller Zeitpunkt eingetragen werden (z.B. das aktuelle Tagesdatum und die aktuelle Uhrzeit). Der Job überschreibt dann diese Parameterwerte bei jedem Lauf mit dem Zeitpunkt seines Starts. Außerdem muß noch der Umgebungsparameter WF_SUB_FLG_ACTIVE manuell gesetzt werden. Mit ihm kann der EH&S-Workflowkomplett ein- oder ausgeschaltet werden. (Das Einrichten der Umgebungsparameter ist im Customizing-Punkt 'User-Exit und Umgebungsparameter prüfen' ausführlich beschrieben.)

zu 3.
Der Hintergrund-Job ermittelt aus den Änderungsbelegen die Stoffe, an denen Änderungen vorgenommmen wurden. Dann prüft er für jeden Stoff, ob dieser die Startbedingung der Workflow-Definition des Kunden erfüllt. Alle Stoffe, die diese Prüfung bestanden haben, werden dann dem Workflow übergeben, und der Job startet den Workflow mit dem Funktionsbaustein SAP_WAPI_START_WORKFLOW. Der Job startet nur solche Workflows, zu denen eine Startbedingung im EH&S-Customizing gepflegt wurde!

zu 4.
Für jede Kombination Stoff <-> Bewertungsart im Aufgabenprofil wird ein Workitem generiert und an die zuständigen Sachbearbeiter geschickt. Ein Sachbearbeiter kann dann ein Workitem annehmen (siehe Standarddokumentation). Es erscheint dann nur noch in seinem Posteingang und verschwindet aus den Eingängen der anderen Sachbearbeiter.

zu 5.
Führt ein Sachbearbeiter mit dem Druckknopf 'Ausführen' ein Workitem aus, so wird der Bewertungsdialog der Transaktion 'Stoff bearbeiten' gestartet, und der Sachbearbeiter kann die zum Workitem gehörige Stoffeigenschaft prüfen und korrigieren. Korrekturen an den Daten werden dabei genauso verarbeitet und verbucht, als wäre der Sachbearbeiter direkt über die Dialoge Recherche, Trefferliste, Eigenschaftsbaum der Transaktion 'Stoff bearbeiten' (CG02) in den Bewertungsdialog hinein navigiert. (Programmtechnisch wird tatsächlich intern vom Workitem dasselbe ABAP-Coding gerufen, das auch der Eigenschaftsbaum ruft, wenn er den Benutzer in den Bewertungsdialog führen will.) Insbesondere werden diegleichen Änderungsbelege erzeugt, die dann wieder zu neuen Workflows beim nächsten Lauf des Hintergrund-Jobs führen können. Wird der Bewertungsdialog von einem Workitem aus gestartet, so ist es aus technischen Gründen leider nicht möglich in die übergeordneten Dialoge Recherche, Trefferliste, Eigenschaftsbaum, ... zu navigieren. Dafür erscheint ein zusätzlicher Druckknopf 'Workitem-Kontext'. Dieser Druckknopf soll dem Sachbearbeiter Informationen darüber liefern, warum er das Workitem erhalten hat. In der hier beschriebenen Version 1 des EH&S-Workflows wird hier eine Liste von Änderungsbelegen angezeigt. Es handelt sich dabei um diejenigen Änderungsbelege, die der Hintergrund-Job bei seinem letzten Lauf zum aktuellen Stoff ermittelt hat. In diesen Belegen ist also auf jeden Fall auch diejenige Änderung protokolliert, die zur Generierung des Workitems geführt hat. Beendet der Sachbearbeiter den Bewertungsdialog, so erscheint ein kleines Popup (das von der Standard-Workflow-Komponente des SAP-Systems angezeigt wird), das ihn fragt, ob er das Workitem endgültig beenden oder später mit seiner Bearbeitung fortfahren ('Abbrechen') will.

Anmerkung: Das direkte Anzeigen des Bewertungsdialoges steht dem Kunden auch als BOR-Methode für selbstprogrammierte Workflow-Schritte zur Verfügung. Es handelt sich dabei konkret um die Methode ValuationDialogCall des BOR-Objekttypen Substance (mit dem internen Schlüssel BUS1077). Beim Aufruf der Methode sollten mindestens die Parameter ISubid und IEstcat befüllt werden.

Behandlung von Änderungsnummer und Stichtag im EH&S-Workflow:

Bei den Änderungsbelegen wird (seit Release EHS 2.5a) vermerkt, mit welcher Änderungsnummer und mit welchem Stichtag die Änderung durchgeführt wurde. Der Hintergrund-Job, der ja die Stoffe ermittelt, die seit seinem letzten Lauf geändert worden sind, ermittelt genauer alle Kombinationen ( Änderungsnummer, Stichtag, Stoffschlüssel ), die die Änderungen repräsentieren. Tatsächlich werden dann diese dem Workflow-Ablauf zur Abarbeitung übergeben. Es wird daher genauer zu jeder Kombination

( Änderungsnummer, Stichtag, Stoffschlüssel, Bewertungsart im
Aufgabenprofil )

ein Workitem generiert. Beim Ausführen des Workitems wird der Bewertungsdialog dann zu dieser Änderungsnummer und zu diesem Stichtag gerufen. (Der Sachbearbeiter wird darüber bei Beginn seiner Arbeit mit einer entsprechenden Meldung informiert.)
------------------------------------------------------------------------

Ergänzende Anmerkungen und Hinweise zu Workflow

Hat man in einem eine Workflow-Definition durch Kopieren angelegt, so ist es mitunter erforderlich (z.B. in einem Testsystem) das organisatorische Umfeld des SAP-Systems aufzufrischen, bevor man die neue Definition benutzen kann. Das organisatorische Umfeld kann wie folgt aufgefrischt werden:

Transaktion SWUS
-> Druckknopf 'Organisatorisches Umfeld auffrischen'

Bei der Pflege der Bearbeiterzuordnungen einer Workflow-Definition,
die durch Kopieren aus EHS_DEMO (WS11200006) enstanden ist, empfehlen
wir Ihnen die folgende Vorgehensweise:

Zunächst einmal müssen Sie die Bearbeiterzuordnung der gesamten
Workflow-Definition pflegen. Dazu lassen Sie sich die Grunddaten
der Definition anzeigen und klicken die Funktion
Zusätze -> Bearbeiterzuordnung -> Pflegen
an. Hier legen Sie generell fest, wer überhaupt die erzeugten
Workitems der Workflow-Definition ausführen darf. Wir empfehlen
Ihnen hier die Definition als generelle Aufgabe zu kennzeichnen:
Bearbeiten -> Eigenschaften ... , 'Generelle Aufgabe' .

Dann ist die Bearbeiterzuordnung des Workflow-Schrittes (000004)
zu pflegen. Hier sollten Sie innerhalb des Rahmens 'Bearbeiter' die
Felder 'Zuständige' (und evtl. auch noch 'Ausgeschlossene') pflegen.
Dies ist die Stelle, wo Sie genau festlegen, welche Sachbearbeiter
die Workitems, die von dem Workflow-Schritt generiert werden, erhalten
sollen.

Desweiteren ist auch noch die Rubrik 'Bearbeiterzuordnung' im Rahmen
'Eigenschaften der Aufgabe' zu pflegen. Dazu müssen Sie einfach den
gelb gekennzeichneten Druckknopf 'Bearbeiterzuordnung f. Aufgabe'
anklicken. Bitte beachten Sie: Sie pflegen jetzt die
Bearbeiterzuordnung der Aufgabe EHS_DEMO_TSK (TS11200005)! Diese
Aufgabe ist allen(!) Workflow-Definitionen zugeordnet, die Sie
mittels Kopieren aus EHS_DEMO (WS11200006) erstellt haben. Aus diesem
Grunde empfehlen wir Ihnen die Aufgabe als generelle Aufgabe zu
kennzeichnen. Dies geht auf die gleiche Weise, wie bei der gesamten
Workflow-Definition.

Damit sind die Pflegemaßnahmen bezüglich der Bearbeiterzuordnung
abgeschlossen. In Testsystemen ist es nun noch erforderlich die
organisatorischen Umfelder der Komponenten der Workflow-Definition
zu aktualisieren. Dazu gehen Sie wie folgt vor:
- Starten Sie die Transaktion SWUS.
- Tragen Sie in das Feld 'Aufgabe' den Wert TS11200005 ein.
- Drücken Sie den Druckknopf 'Organisatorisches Umfeld auffrischen'.
- Tragen Sie nun in das Feld 'Aufgabe' die interne Nummer WS... Ihrer
neu angelegten Workflow-Definition ein.
- Drücken Sie den Druckknopf 'Organisatorisches Umfeld auffrischen'.
- Beenden Sie die Transaktion SWUS.

Die Pflege der Bearbeiterzuordnung der Aufgabe EHS_DEMO_TSK
(TS11200005) sowie das Aufrischen ihres organisatorischen Umfeldes
muß natürlich nur einmal durchgeführt werden.

------------------------------------------------------------------------

Anlegen eines Demonstrationsbeispiels für den Workflow im EH&S

(Stand: 12.11.99)
Folgendes einfaches Szenario soll mittels Workflow im EH&S abgebildet werden:

Die physikalisch-chemische Eigenschaft 'Löslichkeit in Wasser' eines Stoffes wird von einem Sachbearbeiter geändert. Der Workflow im EH&S prüft dann, ob bei diesem Stoff zusätzlich auch noch die physikalisch-chemische Eigenschaft 'Dichte' gepflegt ist. Ist dies der Fall, so wird der Sachbearbeiter vom Workflow aufgefordert, die Eigenschaft 'Stabilität in Wasser' bei den Angaben zur Verteilung und zum Verbleib in der Umwelt bei dem Stoff zu überprüfen.

Um dieses Szenario beispielhaft zu implementieren, sind folgende Maßnahmen im System durchzuführen:

Als erstes ist ein Stoff anzulegen, bei dem die Eigenschaften 'Löslichkeit in Wasser', 'Dichte' und 'Stabilität in Wasser' gepflegt sind.

Als zweites muß der Workflow im EH&S generell aktiviert und eingerichtetwerden, falls dies noch nicht geschehen ist. Dazu müssen bei den untenstehenden Umgebungsparametern die folgenden Einträge vorgenommen werden:

Parameter Wert
---------------------------------------------------------------
WF_SUB_FLG_ACTIVE X
WF_SUB_DATE_FROM (Tagesdatum im internen Format YYYYMMDD)
WF_SUB_TIME_FROM (aktuelle Uhrzeit im internen Format HHMMSS)

Dies geschieht im Customizing (Transaktion SPRO, F5-Taste) mit dem Knoten 'Umgebungsparameter festlegen':

5 Environment, Health & Safety

5 Produktsicherheit

5 Grundeinstellungen

0 EH&S Language Support einstellen
0 Codepages dem Betriebssystem zuordnen
0 Umgebungsparameter festlegen <--

Nun muß die EH&S-Beispiel-Workflow-Definition aktiviert werden, falls dies noch nicht geschehen ist. Dazu ist die Transaktion PFTC_DIS aufzurufen. Dort trägt man auf dem angezeigten Bild folgendes ein

Aufgabentyp WS
Aufgabe 11200006

und klickt den Druckknopf 'Anzeigen' an. Es erscheint das Bild 'Workflow-Muster Anzeigen'. Nun sind der Reihe nach folgende Aktionen durchzuführen:

- Springen -> Alphanumerischer Editor -> Aktuelle Version
- Doppelklick auf den Eintrag 000004
- Doppelklick auf den Eintrag TS11200005
- Zusatzdaten -> Bearbeiterzuordnung -> Pflegen
- Angezeigten Eintrag markieren und Druckknopf 'Eigenschaften ...'
anklicken
- 'Generelle Aufgabe' auswählen und Enter drücken
- mit dem grünen Pfeil zum Bild 'Workflow-Muster Anzeigen'
- Zusatzdaten -> Bearbeiterzuordnung -> Pflegen
- Angezeigten Eintrag markieren und Druckknopf 'Eigenschaften ...'
anklicken
- 'Generelle Aufgabe' auswählen und Enter drücken
- Transaktion beenden
- Transaktion SWUS aufrufen
- TS11200005 im Feld 'Aufgabe' eintragen und den Druckknopf
'Organisatorisches Umfeld auffrischen' anklicken, Enter
- WS11200006 im Feld 'Aufgabe' eintragen und den Druckknopf
'Organisatorisches Umfeld auffrischen' anklicken, Enter
- Transaktion beenden

Nun ist das Customizing des Workflows im EH&S zu pflegen. Zu pflegen sind hier die beiden Punkte 'Startbedingung festlegen' und 'Aufgabenprofil festlegen'. Diese sind wie folgt zu finden (Transaktion SPRO, F5-Taste):

5 Environment, Health & Safety

5 Produktsicherheit

4 Grundeinstellungen
4 Stoffverwaltung
4 Phrasenverwaltung
4 Berichtsgenerierung
4 Berichtsverwaltung
4 Berichtsversand
4 Stoff-/Berichtsauskunft
5 Schnittstellen

4 Import und Export
4 EH&S Application Link Enabling (ALE)
4 EH&S ArchiveLink
5 EH&S Workflow

0 User-Exit und Umgebungsparameter prüfen
0 Startbedingung festlegen <--
0 Aufgabenprofil festlegen <--

Beim Punkt 'Startbedingung festlegen' sind folgende Einträge vorzunehmen:

Bez. Start Kurztext OT Objektid
------------------------------------
WF_TEST Demonstration WS 11200006

Rubrik 'Startereignisse':

Stoffbewertungsart
------------------
SAP_EHS_1013_016 (techn. Name der Stoffbewertungsart
'Löslichkeit in Wasser')

Rubrik 'Bewertungsarten der Startbedingung':

Stoffbewertungsart
------------------
SAP_EHS_1013_005 (techn. Name der Stoffbewertungsart
'Dichte')

Beim Punkt 'Aufgabenprofil festlegen' sind folgende Einträge
vorzunehmen:

Aufgprof. Kurztext OT Objektid Knotennummer
------------------------------------------------
WF_DEMO_P Demonstration WS 11200006 4

Rubrik 'Bewertungsarten des Aufgabenprofils':

Stoffbewertungsart
------------------
SAP_EHS_1017_002 (techn. Name der Stoffbewertungsart
'Stabilität in Wasser')

Man kann nun wie folgt Workitems erzeugen:

Man ändert die Eigenschaft 'Löslichkeit in Wasser' des zu Anfang angelegten Stoffes und sichert die Änderung. Dann kann man die Stoffverwaltungstransaktion beenden. Als nächstes startet man (z.B. mit der Transaktion SE38) den Report RC1WFTST. Auf seinem Selektionsbild braucht man nichts zu ändern und drückt dann einfach die F8-Taste. Nun ist das Workitem erzeugt worden. Um es zu anzuzeigen und auszuführen ruft man die Transaktion SO01 auf und klickt den Druckknopf 'Workflow' an. Das Workitem ist nun zu sehen und hat die Beschreibung 'Stoffeigenschaft bearbeiten'. Man selektiert es und drückt den Druckknopf 'Ausführen'. Auf diese Weise gelangt man in den Pflegedialog der Eigenschaft 'Stabilität in Wasser' des zu Anfang angelegten Stoffes. Mit dem Druckknopf 'Workitem-Kontext' erhält man Informationen darüber, warum das Workitem erzeugt wurde. Man kann nun die Eigenschaft wie gewohnt pflegen. Beim Beenden des Workitems erscheint ein Popup mit dem Titel 'Benutzerbestätigung'. Klickt man hier 'Abbrechen' an, so bleibt das Workitem erhalten.
------------------------------------------------------------------------
Beispiel für ein Workflowprojekt (Degussa, Feb. 2001):

Beispiel

------------------------------------------------------------------------

Beschreibung des Bausteins C14WF_WORKFLOWS_START

Funktionalität aus der Sicht des Aufrufers

Allgemeines

Der Start der Workflow-Abläufe innerhalb des EH&S-Systems wird durch einen Hintergrund-Job durchgeführt, der regelmäßig in einer vom Kunden festzulegenden Zeitperiode (z.B. jede Nacht um 0:00 Uhr) die Abläufe startet. Der Job startet den Report RC1WFSUB. Dazu befüllt er zuvor aus der Datenbank die Stoffmengen der Abläufe (siehe dazu auch die Struktur RCG_SUBSTANCE_SET). Die Logik dieses Hintergrund-Jobs ist vollständig innerhalb dieses Funktionsbausteines abgelegt.

Schnittstelle

Eingabe
-
Ausgabe
-

Sonstiges

-

Grobe Beschreibung der Ablauflogik

Vorbedingungen

-

Ablauf

Der Hintergrund-Job kennt den Zeitpunkt seines letzten Aufrufs und hat nun die Aufgabe alle Änderungen an Stoffdaten, die im Zeitintervall

] Zeitpunkt des letzten Aufrufs, aktueller Zeitpunkt ]

durchgeführt wurden, in die Stoffmengen der Workflow-Abläufe zu überführen und die Abläufe dann zu starten. Dazu geht er im einzelnen wie folgt vor:
Zunächst werden alle Stoffe ermittelt, bei denen im Zeitintervall Änderungen vorgenommen wurden.
Dann werden alle Änderungsbelege zu diesen Stoffen ermittelt, die im obigen Zeitintervall erstellt wurden. Die Belege werden zu einer Menge verdichtet, die aus Tupeln der folgenden Gestalt besteht:

(Änderungsnummer, Stichtag, Stoffschlüssel, Tabellenname,
Tabellenschlüssel)

(Der Stichtag ist der Tag, zu dem die Änderung gemacht wurde.) Diese verdichtete Menge wird nun Element für Element wie folgt logisch in die Stoffmenge überführt:
Die Felder Änderungsnummer, Stichtag, werden in die allgemeinen Daten geschrieben. (Dabei wird der Stichtag in das Feld VALFR eingetragen.)
Der Stoffschlüssel wird in den Stoffschlüssel der Stoffmenge geschrieben.
Nun ist die Unterkomponente der Stoffmenge zu befüllen. Ist der Tabellenname in der Liste 'ESTRH', 'ESTRR', 'ESTRI', 'ESTMJ' enthalten, so wird dieser direkt in die Unterkomponente geschrieben. Ist er gleich 'ESTVH' oder gleich einer untergeordneten Tabelle der ESTVH, so wird in die Unterkomponente der Name der aktuellen Eigenschaft eingetragen. (Dieser befindet sich in der Tabelle ESTVH.) In jedem anderen Fall wird der Name der übergeordneten Tabelle in die Unterkomponente eingetragen.
Als nächstes wird der Standardteil der Zusatzinformation befüllt. Dazu werden alle Datensätze ermittelt, die zum Tabellenschlüssel im oben erwähnten Tupel gehören bzw. ihm übergeordnet sind. (Dabei werden die Daten zum Stichtag des Tupels gelesen.) (Beispiel: Zu einem Tabellenschlüssel in der ESTRL werden die zugehörigen Datensätze in den Tabellen ESTRL, ESTRI, ESTRH ermittelt.) Diese Datensätze werden dann in die entspr. Felder der Zusatzinformation geschrieben. Desweiteren wird mittels der Änderungsbelege zum Tabellenschlüssel der älteste Stand innerhalb des obigen Zeitintervalls ermittelt und ebenfalls in die Zusatzinformation geschrieben. So kann man erkennen, was sich seit dem letzten Start des Hintergrund-Jobs an den Daten geändert hat. (Dazu werden im Intervall die ältesten Positionen ermittelt, die eine Änderung ('update') protokolliert haben. Sie enthalten die ältesten Werte der Felder.) (Bem.: Die Protokollierung der ältesten Stände erfolgt erst zu einem späteren Relese (Holger M., 12.2.99).)
In die Art der Änderung der Stoffmenge wird die jüngste Aktion ('anlegen', 'ändern', 'löschen') geschrieben die zum aktuellen Tabellenschlüssel durchgeführt wurde.
Schließlich wird der Kundenteil der Zusatzinformation durch den Aufruf eines User-Exit-Bausteines befüllt.
(Bem.: Die Übergabe der Stoffmenge an die Workflow-Abläufe, so wie oben beschrieben, erfolgt erst zu einem späteren Release (Holger M. , 26.2.99).)
Anhand der Unterkomponentenwerte können nun die Elemente der Stoffmenge auf die einzelnen Workflow-Definitionen verteilt werden. (Ein Element wird einer Workflow-Definition zugeordnet, wenn der Wert seiner Unterkomponente mit dem Startereignis übereinstimmt, und wenn das Element die Startbedingung der Workflow-Definition erfüllt.) Ist die Stoffmenge für eine Workflow-Definition nicht leer, so wird der Workflow-Ablauf gestartet.

Nachbedingungen

-

mögliche Ausnahmen

-

Beispiel

Das Workflow-Muster EHS_DEMO (WS11200006) dient als Beispiel (und weitere Kopiervorlage) für einen Workflow im EH&S.

Hinweise zur Wartung des Bausteines

Der eigentliche Start der Workflow-Abläufe wird technisch durch den Baustein C14WF2_CONT_FILL_WORKFL_START veranlaßt.

Ist I_FLG_SMALL_SUB_SET gesetzt, so wird nur eine vom Datenvolumen her reduzierte Stoffmenge generiert. (In späteren Versionen wird dieser Parameter zurückgesetzt.) (Konkret wird das Befüllen der Zusatzkomponente der Stoffmenge unterdrückt, da diese Daten zur Zeit (26.2.99) noch nicht verwendet werden.)

Weiterführende Informationen

Das Workflow-Muster EHS_TEMPLATE (WS11200002) kann als Kopiervorlage zum Anlegen von Workflows verwendet werden.

Beispiel für den technischen Ablauf eines Workflows

Bei der Neuanlage eines Stoffes mittels Workflow-Unterstützung werden intern folgende Vorgänge gestartet:

Zunächst beginnt ein Sachbearbeiter damit einen Stoff anzulegen und einige elementare physikalische Eigenschaften (wie z.B. die Dichte und den Schmelzpunkt) zu pflegen. Dann ist seine Arbeit beendet, und es ist nun die Aufgabe der ihm nachgeordneten Sachbearbeiter, den Stoff vollends fertig zu pflegen. Diese sollen dazu mittels Workflow an die noch zu pflegenden Eigenschaften herangeführt werden.

Die Pflegearbeiten des ersten Sachbearbeiters erzeugen einige Änderungsbelege, die Änderungen an den Tabellen ESTRH, ESTVH und ESTVA (und evtl. noch weiteren Tabellen) protokollieren. Über Nacht startet nun der Hintergrund-Job, der die Workflow-Abläufe zu aktivieren hat. Er sammelt die entstandenen Änderungsbelege auf und befüllt anhand dieser Belege eine Stoffmenge, die innerhalb der 'lokalen Daten' des Jobs deklariert ist (und im Hauptspeicher liegt). Die Stoffmenge enthält im Feld 'Unterkomponente' die Information, daß eine Veränderung an einem Stoffkopf vorgenommen wurde, und daß an diversen Eigenschaften (die namentlich aufgeführt werden) Pflegeaktionen stattgefunden haben. Diese Informationen benutzt der Hintergrund-Job, um zu entscheiden, welche Workflow-Abläufe überhaupt für einen Start in Frage kommen. (Dazu betrachtet er die logischen Startereignisse, die bei den Startbedingungen der Abläufe hinterlegt sind.) Ferner werden die Daten der geänderten Sätze (aktueller Stand, ursprünglicher Stand) in die Stoffmenge eingetragen.

Wir nehmen nun an, daß eine Workflow-Definition 'Sekundäreigenschaften pflegen' im System angelegt wurde, deren Aufgabe es ist, einen angelegten Stoff, dessen elementare physikalische Eigenschaften bereits gepflegt wurden, mit den nötigen Sekundäreigenschaften zu vervollständigen. Eine solche Workflow-Definition könnte im einfachsten Fall aus einem einzigen Workflow-Schritt bestehen. Diesem Schritt ist die Standardmethode zur Bearbeitung von Stoffeigenschaften (siehe Baustein C107TS_VALUATION_DIALOG_CALL), sowie ein Aufgabenprofil zugeordnet, das genau aus den Sekundäreigenschaften besteht. Der Workflow-Definition sei das logische Startereignis 'ESTRH' zugeordnet.

Der Hintergrund-Job erkennt nun, daß er evtl. diesen Workflow starten muß. Er prüft zunächst einmal, ob der angelegte Stoff die Startbedingung der Workflow-Definition erfüllt. Ein Stoff erfüllt die Startbedingung genau dann, wenn jede in der Bedingung aufgeführte Eigenschaft bei ihm gepflegt ist, und wenn im Zeitintervall am Stoff an mindestens einer dieser Eigenschaften eine Änderung vorgenommen wurde (dieser Punkt muß allerdings explizit über das Kennzeichen Änderung in Bewertungsarten erforderlich bei der Startbedingung eingeschaltet werden), oder falls der bei der Startbedingung hinterlegte User-Exit den Stoff akzeptiert. (Dies ist im Baustein C14WF_SUB_CHECK_BY_START_COND implementiert.) Dann stellt er alle Elemente der Stoffmenge zusammen, die zum angelegten Stoff gehören, und übergibt sie dem zu startenden Workflow-Ablauf. Schließlich startet er den Ablauf. Der Workflow-Ablauf bildet das kartesische Produkt

Stoffe der Stoffmenge x Eigenschaften des Aufgabenprofils

und generiert zu jedem Tupel dieses Produktes ein Workitem. Ein Sachbearbeiter erhält aber nur dann ein Workitem, wenn er auch die notwendigen Berechtigungen dazu besitzt. Per Doppelklick auf das Workitem wird er in die entsprechende Eigenschaft geführt. Zusätzlich kann der Sachbearbeiter sich die relevanten Änderungsbelege ansehen und einen Text, den der Startbedingungs-User-Exit evtl. geschrieben hat.

Hinweise zu SAPscript





Parameter

I_FLG_ENV_PARAMS_RESET_ONLY
I_FLG_ITEMS_WITH_CHNGD_PROPS
I_FLG_SMALL_SUB_SET
I_TASK
I_USERNAME

Ausnahmen

ILLEGAL_INPUT
INTERNAL_ERROR

Funktionsgruppe

C14WF

General Data in Customer Master   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 36975 Date: 20240523 Time: 151514     sap01-206 ( 696 ms )