[BSOiPlusWorkflow] Workflow (Endbenutzerhandbuch)


Im Tutorial für Entwickler können Sie im Abschnitt "Workflows" eine weitere Anleitung lesen wie man einen Workflow anlegt und im grafischen Editor editiert.

  1. Öffnen Sie im Hauptmenü Stammdaten / Workflow.
  2. Wählen Sie im Explorer über die Combobox die Anwendungsdefinition aus an der Sie den neuen Workflow anlegen möchten.
  3. Erstellen Sie über den Button im Content-Menü einen neuen Workflow.
  4. Geben Sie im Textfeld Methodenname/ID einen eindeutigen Namen (der nur innerhalb der Anwendungsdefinition eindeutig sein muss) und im Textfeld Bezeichnung  eine treffende Beschreibung ein.
  5. Wählen Sie in der Combobox die zu instanziierende Klasse des Wurzelknotens aus. Wählen Sie hier immer die Klasse aus, die den Anwendungsfall am besten trifft (konkretes). Bei Nutzung von iPlus.MES gibt es standardmäßig folgende Auswahlmöglichkeiten:
    • Program (das ist die allgemeingültigste Klasse und sollte nur bei reinen iPlus-Projekten verwendet werden, wenn iPlus.MES nicht verwendet wird)
    • PWMethodVBBase (das ist die allgemeingültigste Klasse wenn iPlus.MES eingesetzt wird. Sie sollte nicht verwendet werden)
    • PWMethodTransportBase (das ist die allgemeingültigste Klasse für logistische Prozesse wenn iPlus.MES eingesetzt wird. Sie sollte nicht verwendet werden)
    • Intake (Dient zum Handling mit Wareneingangsprozessen/Annahmesteuerung bzw. Wareneinganslieferscheinen)
    • Loading (Dient zum Handling mit Warenausgangsprozessen/Verladung bzw. Warenausganslieferscheinen) 
    • Production (Dient zum Handling mit Produktionsaufträgen)
    • Relocation (Dient zum Handling mit Kommissionieraufträgen oder Umlagerungsbuchungen)
    • <Kundenspezifische Klasse> Bei kunden- oder branchenspezifischen Implementierungen sollte die treffendste Klasse ausgewählt werden anstatt der zuvor aufgelisteten Klassen.
  6. Wählen in der Combobox die Klasse die den Unterworkflow aufrufen soll aus. Dieser Eintrag ist nötig, wenn dieser Workflow ein Unterworkflow ist und er von einem übergeordneten Workflow aufgerufen wird. Er gibt an, welche Workflowklasse beim Editieren des übergeordneten Workflows eingefügt werden soll, wenn diese Unterworkflow/Methode ausgewählt wurde. Bei Nutzung von iPlus.MES gibt es standardmäßig folgende Auswahlmöglichkeiten:
    • PWNodeProcessWorkflow  ("Unterworkflow aufrufen", Das ist die allgemeingültigste Klasse und sollte nur bei reinen iPlus-Projekten verwendet werden, wenn iPlus.MES nicht verwendet wird)
    • PWNodeProcessWorkflowVB ("WF-Batch-Manager", Klasse, die Batchpläne liest und dementsprechend für jeden neuen Batch einen Unterworkflow startet )
    • <Kundenspezifische Klasse>  Bei kunden- oder branchenspezifischen Implementierungen sollte die treffendste Klasse ausgewählt werden anstatt der zuvor aufgelisteten Klassen.
  7. Markieren Sie die Checkbox Untermethode falls es eine Workflow ist, der von einem übergeordneten Workflow aufgerufen werden soll.
  8. Speichern Sie Ihre Eingaben mit OK.

 


Der Designmodus

Nach dem Speichern des neuen Workflows erscheint im unteren Bildschirmbereich ein leeres Workflowdiagramm mit einem Start- und Endeknoten. Das Workflowdiagramm können Sie nur im Editier-Modus bearbeiten.

  • Dazu öffnen Sie das Kontextmenü über dem Diagramm und klicken "Werkzeuge->Designmodus an". 
  • Alternativ können Sie auch auf das Design-Symbol (1) in der Statusleiste klicken. Nachdem es angefangen hat zu blinken klicken Sie auf den innersten rot hervorgehobenen Bildschirmrahmen der das Workflowdiagramm umgrenzt.

Anschliessend erscheint auf der linken Bildschirmseite das Werkzeugfenster (2).

 

 

Das Werkzeugfenster

besteht aus

  • einer Werkzeugleiste (3)
  • und einem Workflowklassenbaum (4).

Folgende Werkzeuge stehen Ihnen in der Werkzeugleiste (3) zur Verfügung:

Selektierungswerkzeug. Markieren und verschieben von Objekten auf der Arbeitsfläche.

Workflowkantenwerkzeug. Herstellen von Workflowkanten (Verbindungslinien) zwischen zwei Objekten. Die verfügbaren Ankerpunkte an denen Sie die Linien verbinden können werden Ihnen durch grüne Punkte angezeigt.

Pfadänderungswerkzeug. Verschieben von Ankerpunkten auf dem Pfad von Workflowkanten.

 

 Der Workflowklassenbaum (4) hat drei Wurzelelemente:

  1. Klassen aus der Anwendungsdefinition (5). Diese werden benötigt um Abläufe zu programmieren, die später Funktionen auf dem physikalischen Modell aufrufen sollen.
  2. Unterworkflows (6). Hier erscheinen alle Workflows, die mit dem Kennzeichen "Untermethode" angelegt worden sind.
  3. Funktionen (7). Es werden die Workflowklassen angezeigt, die universell einsetzbar sind und nicht auf ein physikalisches Modell angewiesen sind.

 

Workflow editieren

Der Editor arbeitet nach dem "regelbehafteten Freiplatzierprinzip". Das bedeutet, dass Sie weitgehend alle Elemente frei platzieren können jedoch mit einigen Restriktionen, damit der Programmfluss gewährleistet wird. Bitte lesen Sie deswegen den Abschnitt "Struktur und Regeln" im zweiten Kapitel gut durch, damit Sie das Verhalten des Editors besser verstehen.

Hinzufügen von Workflowknoten

Selektieren Sie eine Klasse im Workflowklassenbaum und ziehen Sie sie per "Drag & Drop" auf eine Workflowkante im Workflowdiagramm. Die Workflowkante wird durch zwei neue Kanten ersetzt und der neue Knoten dazwischen eingefügt. Damit erreichen Sie eine sequentielle Folge (8).
Möchten Sie dagegen einen parallelen Ablauf (9) erstellen, dann lassen Sie die Klasse auf einen Workflowknoten fallen anstatt auf der Workflowkante.

Löschen von Workflowknoten

Öffnen Sie das Kontextmenü auf dem Workflowknoten und klicken "Löschen". Alternativ selektieren Sie den Workflowknoten und klicken auf das kleine Dreieck rechts oben damit sich das Kontextmenü öffnet.

Hinzufügen von Workflowkanten

Aktivieren Sie das "Verbindungslinien"-Werkzeug. Im Workflodiagramm werden alle Ausgangspunkte grün hervorgehoben. Klicken Sie auf einen Ausgangspunkt und halten die linke Maustaste gedrückt. Ziehen Sie die Linie auf einen der jetzt neu hervorgehobenen Eingangspunkte und lassen die Maustaste los.

Löschen von Workflowkanten

Öffnen Sie das Kontextmenü auf der Workflowkante und klicken "Löschen". Alternativ selektieren Sie die Workflowkante und klicken auf das kleine Dreieck rechts oben damit sich das Kontextmenü öffnet. 


Beim Einfügen von Workflowknoten die aus dem Awendungsdefinitonsbaum stammen, entscheidet der Editor selbst welche Workflowklasse er dafür verwenden wird. Dabei sucht er die am allgemeingültigste Workflowklasse (Standard) die noch kompatibel mit den Klassen im physikalischen Modell ist, damit entweder 

  • das entsprechende Modul im physikalischen Model belegt
  • oder die entsprechende Funktion im physikalischen Model 

aufgerufen werden kann.

Da es gelegentlich auch kundenspezifische Implementierungen von den Standard-Workflowklassen gibt, die man verwenden möchte bzw. sollte, muss man die von iPlus vorgeschlagene durch die kundenspezifische Klasse explizit ersetzen.

Öffnen Sie dazu das Kontextmenü auf dem selektierten Workflowknoten und wählen den Befehl "Klasse austauschen". Es erscheint ein Dialog bei dem im ersten Textfeld ausgegeben wird, welche Workflowklasse zur Zeit verwendet wird. Im zweiten Combobox-Feld werden alle Workflowklassen angezeigt, die kompatibel mit der aktuellen Workflowklasse sind (In Programmierersprache: "Die aus der selben Vererbungshierarchie stammen"). Wählen Sie die gewünschte kundenspezifische Workflowklasse aus und bestätigen die Auswahl anschliessend mit der OK-Taste.


Pfadoptimierung von Workflowkanten

Kanten werden beim Editieren als einfache und direkte Linien gezeichnet. Bei vielen Kanten und Knoten wird das Diagramm sehr unübersichtlich. Die Taste "Verbindungslinien berechnen" führt für alle Kanten eine optimale Pfadberechnung durch um Kollisionen mit anderen Kanten und Knoten aufzulösen. Das Berechnungsergebnis sehen Sie zu einem direkt visuell im Workflowdiagramm und zum anderen können Sie die neu erzeugten Linienankerpunkte und deren Koordinaten in der XAML-Karteikarte anzeigen lassen.

 

XAML-Karteikarte

XAML ist eine Oberflächenprogrammiersprache ähnlich HTML. Das Workflowdiagramm wird per XAML dargestellt und kann somit auch in der zweiten Karteikarte des Designers ("XAML") angepasst werden.

ACHTUNG: Löschen Sie bitte keine Elemente aus dem XAML-Code heraus noch ändern Sie die Name-, VBContent- oder Connector-Eigenschaften. Diese Eigenschaften sind mit einem Datenmodell im Hintergrund verbunden, das den Programmablauf definiert. Dadurch würde der Programmablauf nicht mehr funktionieren, sobald der Workflow auf dem iPlus-Serverdienst geladen würde. 

Änderungen im XAML sollten nur Eigenschaften betreffen, welche Präsentationsrelevant sind. z.B. Linienstärke, Linienfarbe, Hintergrundfarben, Schriftgröße...