Best Practices für New Product Introductions (NPIs): Bedingtes Routing im Workflow – abhängig vom Materialprofil Aufgaben setzen oder überspringen

Von Monika Pletschke am 26. Oktober 2017

Jeder, der schon mit dem SAP-Materialstamm gearbeitet hat, weiß, wie komplex dieses Objektkonstrukt ist. Nicht nur, dass es viele Masken gibt, es sind zusätzlich verschiedene Fachbereiche dafür zuständig, diese zu pflegen. Fügen Sie mehrere Materialarten hinzu, entsteht weitere Komplexität, da nicht alle Masken relevant für alle Materialarten sind.

Dieser Blog zeigt Ihnen, wie man dieses Problem mit dem Winshuttle Composer elegant lösen kann.

Unsere Workflow-Lösung steuert den Anlageprozess für Materialdaten so, dass nur die Ansichten zu pflegen sind, die für ein gewisses Materialprofil vordefiniert sind. Dazu verwenden wir eine SharePoint-Liste, die die Materialprofile und benötigten Masken definiert:

Hier einige Beispiele für Profile: “Produced inhouse”, „Externally procured“, “Spare parts“, u.s.w. Die Workflow-Lösung ermittelt aus dieser Tabelle welche Ansichten zu pflegen sind, also welche Workflow-Aufgaben gestellt werden müssen.

Wie im Beispiel oben ersichtlich, wählt der Anwender ein neues Material aus einem Webformular des betreffenden Materialprofils aus. Basierend auf dieser Wahl werden die Checkboxen für die relevanten Materialansichten aus der SharePoint-Liste abgelesen. Z.B. für das Materialprofil „Spare Parts“ benötigen wir den „MRP View“ (Dispo-Ansicht), den „Purchasing View“ (Einkaufsansicht), den „Accounting View“ (Ansicht des Rechnungswesens), aber nicht den „Sales View“. Unser Workflow sollte daher nur Aufgaben für die relevanten Ansichten verschicken.

Nachfolgend bauen wir diese Lösung mit dem Winshuttle Composer. Kenntnisse über den Winshuttle Composer werden vorausgesetzt.

1. Schritt: Aufstellen der Regeln für die Materialansichten
Wir definieren die Regeln zur Steuerung der Workflow-Aufgaben in einer SharePoint-Liste. Damit haben wir die Flexibilität, Regeln schnell zu ändern, ohne dass die Applikation geändert werden muss.

Die einfachste Methode ist es, in Excel zuerst eine Tabelle zu erstellen. Legen Sie eine Spalte für das Materialprofil an, und weitere Spalten für jede der Materialstamm-Masken. Wenn die Matrix erstellt ist, kann diese als SharePoint Liste hochgeladen werden. Die Spalten “AcctView”, “MRPView”, “SalesView” und “PurchView” sollten in der SharePoint-Liste als Boolesche Werte definiert sein.

2. Schritt: Fügen Sie eine Data Connection zu Ihrer Composer-Lösung hinzu
Erstellen Sie eine Composer-Lösung. Sie benötigen ein oder mehrere MM01 Winshuttle Studio Skripte, um die Schnittstelle zu SAP zu ermöglichen.
In dieser Lösung fügen Sie eine Data Connection hinzu:

Die Data Connection sollte auf die SharePoint-Liste von Schritt 1 verweisen.

3. Schritt: Fügen Sie ein Drop-Down-Feld zu Ihrem Webformular hinzu
Wir benötigen ein Drop-Down-Feld, damit der Anwender eines der vordefinierten Materialprofile wählen kann. Fügen Sie im Formular ein Drop-Down-Feld namens „Material Profile“ hinzu.

Klicken Sie im „Customizing Panel“ rechts auf „Range“ und geben Sie die Einstellungen für „Data Connection“ ein.

„LABEL FIELD“ wird dem Anwender im Drop-Down-Feld angezeigt, „VALUE FIELD“ wird intern gespeichert.

4. Schritt: Checkboxen für Masken hinzufügen
Für jede Maske des Materialstamms fügen Sie eine Checkbox zum Formular hinzu. Das Element heißt „Checkbox“ und um zu verhindern, dass der Anwender hier Eingaben macht, sollte es als „Read Only“ eingestellt werden.

5. Schritt: Fügen Sie eine Regel hinzu, um die Checkboxen aus der SharePoint-Liste zu füllen
Regeln sind der Mechanismus, mit dem das System die SharePoint-Liste abfragt, um die relevanten Checkboxen im Formular anzukreuzen.

Die Regel wird dem Feld “Material Profile” angefügt. Klicken Sie zuerst auf das Feld “Material Profile” im Formular. Dann fügen Sie die Regel hinzu, indem Sie im „General Settings Panel“ rechts auf das entsprechende Symbol klicken.

Wir benötigen eine “Action Rule”. Die Aktion ist, einen Wert in einem Feld zu setzen (hier die Checkbox „AcctView“). Wählen Sie zuerst „TYPE = Actions”.

Klicken Sie auf „Add“ um die Regel aufzubauen. Folgende Screenshots zeigen, wie der Wert für Checkbox „AccView“ aus der SharePoint-Liste befüllt wird.

Wählen Sie einen Wert für “ACTION = Set a Field Value” und einen Wert „FELD = AcctView aus dem Drop-Down-Menü. Dann klicken Sie auf „f(x)“ um eine Funktion einzubauen. Diese wird benötigt, um einen Wert für das Feld „AcctView“ aus der SharePoint-Liste zu lesen.

Klicken Sie auf „Insert External Data“.

Wählen Sie „DATASOURCE = MaterialProfile“. Danach “AcctView” aus der Drop-Down-Liste „FIELD“. Nun müssen wir noch einen Filter setzen, um die richtige Reihe in der SharePoint Liste auszulesen. Dazu klicken Sie auf „Edit filter”.

Fügen Sie weitere Regeln für die anderen Masken hinzu, indem Sie diesen Vorgang wiederholen. In meinem Beispiel fülle ich diese weiteren Felder: „MRPView“, „PurchView“. „SalesView“.

6. Schritt : Bauen Sie den Workflow mit bedingtem Routing – basierend auf den Checkboxen
Jetzt haben wir alle Informationen im Formular, um Entscheidungen treffen zu können, wie der Workflow gesteuert werden soll. Der Workflow wird für jede der Aktivitäten prüfen, ob diese erforderlich ist, basierend auf den Checkboxen: „SalesView“, „MRPView“, „PurchView“ und „AcctView“.

Falls sie nicht vorhanden sind, fügen Sie „Swimlanes“ für jede der Gruppen „MRP“, „Purchasing“, „Sales“ und „Controlling“ hinzu (siehe Workflow-Abbildung unten). Fügen Sie eine Aktivität für jede der Aufgaben „Add Purchasing Data“, „Add Sales Data“ und „Add Accounting Data“ hinzu. Wir müssen dem Workflow mitteilen, welche Aktivitäten gestartet werden sollen, deshalb setzen wir eine „Decision-Box“. Für jeden der herausführenden Pfeile setzen wir eine Bedingung die die relevante Checkbox befragt:

Die Bedingungen für die Pfeile werden so gesetzt:
Klicken Sie auf den jeweiligen Pfeil im Workflow-Überblick (z.B. Pfeil Decision 17 -> Add Accounting Data). Danach setzen Sie die Einstellungen im Panel rechts und klicken auf „Condition“.

Der Wizard wird aufgerufen. Wir wollen eine Bedingung zu dem Pfeil nach „Add Accounting Data“ hinzufügen.

Zunächst klicken wir auf „Field Value“ und wählen „AcctView“ vom Drop-Down-Menü. Dann klicken wir auf „Operator“ und wählen “Equal“. Zuletzt fügen wir “true” in die Formel ein.

Nun fügen wir auch für die weiteren Pfeile die Bedingungen hinzu. Zuletzt sollte jeder der Pfeile, die aus der „Decision-Box 17“ laufen, eine Bedingung enthalten. Der Workflow wie oben abgebildet aussehen.

Jetzt können Sie Ihre Lösung bereitstellen und testen. Viel Erfolg!
Weitere Design-Tipps:
• Arrangieren Sie die Felder in Gruppen, die den Fachbereichen entsprechen
• Erstellen Sie rollenbasierte Ansichten des Formulars, indem Sie Gruppen ausblenden, die für den jeweiligen Fachbereich irrelevant sind
• Ordnen Sie im Workflow der Aktivität die Ansicht zu, die der Rolle angepasst wurde

Die Logik für Materialprofile kann einfach ausgeweitet werden, indem man der SharePoint-Liste eine Zeile für ein neues Profil hinzufügt. Ebenso können Sie eine Maske für ein bestehendes Materialprofil entweder ein- oder ausschalten. Beim nächsten Prozess für die Anlage eines Materials greift schon die neue Regel.

Winshuttle Composer ist eine agile Entwicklungsplattform, ideal für das Erstellen von Anwendungen für das Management von Application Data. Dieser Blog demonstriert wie schnell und einfach es ist, mit dem Winshuttle Composer sehr flexible und anspruchsvolle, regelbasierte Prozesse für die Materialanlage umzusetzen.