Show TOC

Tabellengesteuerte dynamische ParallelverarbeitungLocate this document in the navigation structure

Verwendung

Sie haben im Workflow-Container ein mehrzeiliges Containerelement definiert, das zur Laufzeit eine Liste mit gleichartigen Werten enthält. Die genaue Anzahl der Werte ist zur Definitionszeit unbekannt.

Für jeden Wert aus dieser Liste soll eine bestimmte, immer gleiche Funktionalität als Schritt im Workflow ausgeführt werden.

Beispiel

Die Materialien, die im Zusammenhang mit einem Auftrag stehen, sind in einem mehrzeiligen Containerelement des Workflow-Containers abgelegt.

Für jedes Material soll eine Bestandsprüfung vorgenommen werden.

Integration

Neben der tabellengesteuerten, dynamischen Parallelverarbeitung gibt es noch die explizit ausmodellierte Parallelität und den Arbeitsvorrat. Weitere Informationen finden Sie unter Realisierungsmöglichkeiten einer parallelen Verarbeitung .

Voraussetzungen

Folgende Voraussetzungen müssen immer erfüllt sein, um die parallel zu verarbeitenden Schritte bereitzustellen:

  • Der Workflow-Container enthält ein mehrzeiliges Containerelement

    Ein mehrzeiliges Containerelement wird mit einer Datentypreferenz angelegt und kann daher immer nur eine Liste von Werten, die sich auf dieselbe Datentypreferenz beziehen, aufnehmen.

    Ein mehrzeiliges Containerelement kann eine Liste mit Objektreferenzen sein.

  • Auf der Registerkarte Sonstiges haben Sie das mehrzeilige Containerelement aus dem Workflow-Container eingetragen

    Hinweis

    Ein mehrzeiliges Containerelement des Workflow-Containers kann auf verschiedene Weise aufgebaut werden:

    • Datenfluss aus einem mehrzeiligen Containerelement eines Aufgabencontainers (Ergebnis oder Rückgabeparameter einer Methode) in das mehrzeilige Containerelement des Workflow-Containers

    • wiederholter Datenfluss , z.B. in einer Schleife , aus einem einzeiligen Containerelement eines Aufgabencontainers in das mehrzeilige Containerelement des Workflow-Containers

    • Datenfluss in das mehrzeilige Import-Containerelement des Workflow-Containers beim Start des Workflows

Funktionsumfang

Die tabellengesteuerte Parallelverarbeitung umfasst zwei Aspekte:

  • Erzeugung von parallelen Schritten entsprechend der Anzahl der Werte

  • Operation auf dem jeweils aktuellen Wert des mehrzeiligen Containerelements

    Achtung

    Das mehrzeilige Containerelement sollte nur 99 Werte aufweisen.

Erzeugung von parallelen Schritten entsprechend der Anzahl der Werte

Das System führt einen Schritt einer Workflow-Definition in parallelen Verarbeitungszweigen so oft aus, wie Werte in dem mehrzeiligen Containerelement enthalten sind.

  • Zur Laufzeit generiert das Workflow-System aus dem Schritt so viele parallel zu verarbeitende Workitems, wie zu dem Zeitpunkt Werte in dem mehrzeiligen Containerelement enthalten sind

    Ein Dialogschritt wird für jeden Wert des mehrzeiligen Containerelements durch ein Workitem im Business Workplace der Empfänger repräsentiert. Hintergrundschritt werden automatisch vom System ausgeführt.

  • Zur Definitionszeit muss die Anzahl der Werte nicht bekannt sein

Operationen auf dem jeweils aktuellen Wert des mehrzeiligen Elements

In jedem der parallel erzeugten Schritte ist ein Wert aus dem mehrzeiligen Containerelement der aktuelle Wert. Sie können zusätzlich einen Datenfluss vom jeweils aktuellen Wert des mehrzeiligen Containerelements auf ein einzeiliges Containerelement des Aufgabencontainers bzw. des Ereigniscontainers definieren.

Aktivitäten

Sie verwenden das mehrzeilige Containerelement im Datenfluss vom Workflow-Container zum Aufgabencontainer.

Der jeweils aktuelle Wert des mehrzeiligen Containerelementes kann in dem entsprechenden, parallel zu verarbeitenden Schritt verwendet werden.

Sie definieren bei der Aktivität einen Datenfluss von dem mehrzeiligen Containerelement des Workflow-Containers zu einem (einzeiligen) Containerelement des Aufgabencontainers. Das Containerelement des Aufgabencontainers muss dieselbe Datentypreferenz haben wie das mehrzeilige Containerelement.

Folgende Fälle sind möglich:

  • Das mehrzeilige Containerelement enthält eine Liste mit Objektreferenzen, für die Sie den Datenfluss zum Element _WI_Object_ID des Aufgabencontainers definieren

    In diesem Fall führen Sie auf n Objekten ( n = Anzahl der Werte, n > 1) n mal dieselbe Einzelschrittaufgabe aus. Alle n erzeugten Workitems haben die gleichen Eingabeparameter.

  • Das mehrzeilige Containerelement enthält eine Liste mit ABAP-Dictionary-Referenzen oder Objektreferenzen, die allerdings nicht als _WI_Object_ID benutzt werden.

    In diesem Fall führen Sie auf einem Objekt m mal dieselbe Objektmethode aus. Allerdings haben die m Workitems dann einen variablen Parameter.

    Hinweis

    Falls das mehrzeilige Containerelement eine Liste von Benutzern enthält, können Sie einen Schritt von allen Benutzern parallel ausführen lassen. Dies wird beispielsweise bei den dynamischen Workflow-Wizards genutzt. Dazu tragen Sie als zuständigen Bearbeiter &<MehrzeiligesElement>[&_WF_PARFOREACH_INDEX&]& ein. Sie können auch die F4-Eingabehilfe verwenden.

Eine Kombination beider Fälle ist nicht möglich.

Bei der Datenflussdefinition von und zu dem mehrzeiligen Containerelement verwenden Sie als Ausdruck für den Workflow-Container &<MehrzeiligesElement>[&_WF_PARFOREACH_INDEX&]&.

Hinweis

Wenn die Tabelle leer ist, wird der Schritt übersprungen.

Fehler bei der Ausdrucksauswertung halten den Workflow im Fehlerzustand an. Fehlermeldungen werden im Workflow-Protokoll aufgezeichnet.