[BSOiPlusWorkflow] Workflow (end user guide)


In the tutorial for developers you can read a further manual in the section "Workflows" how to insert a workflow and edit it in the graphical editor.

  1. Open Masterdata / Workflow in the main menu.
  2. In the Explorer, use the ComboBox to select the application definition where you want to create the new workflow.
  3. Use the  button on the Content menu to create a new workflow..
  4. In the "Methodenname/ID"-Textbox type a uniq name (it must be only unique in every application definition) and in the "Description"-Textbox  a descriptive Description.
  5. In the ComboBox, select the class of the root node to instantiate. Always select the class that best meets the use case. If you use iPlus.MES you get the following options:
    • Program (that is the most general class and should only be used in iPlus-Projects, if you don't have iPlus.MES)
    • PWMethodVBBase (that is the most general class if you use iPlus.MES. Don't use it.)
    • PWMethodTransportBase (that is the most general class for logistic processes. Don't use it.)
    • Intake (Used for handling with intake scenarios / goods receipt)
    • Loading (Used for handling with loading scenarios / goods issue) 
    • Production (Used for handling with production orders)
    • Relocation (Used for handling with picking orders or relaocation bookings)
    • <Custom class> For customer-or sector-specific implementations, the most appropriate class should be selected instead of the previously listed classes.
  6. In the ComboBox, select the class you want to call the subworkflow. This entry is necessary if this workflow is a sub-workflow and it is called by a parent workflow. It specifies, which workflow class should be inserted, when editing the parent workflow. If you use iPlus.MES you get the following options:
    • PWNodeProcessWorkflow  ("Call subworkflow", that is the most general class and should only be used in iPlus-Projects, if you don't have iPlus.MES)
    • PWNodeProcessWorkflowVB ("WF-Batch-Manager". Class which reads the batchplan and starts a new workflow for every new batch.)
    • <Custom class>  For customer-or sector-specific implementations, the most appropriate class should be selected instead of the previously listed classes.
  7. Select the "Submethod"-Checkbox if this Workflow shozld be called from a parent Workflow.
  8. Save your entries with OK.

 


The designmode

After saving the new workflow, a blank workflow diagram with a start- and endnode appears in the lower part of the screen. The workflow diagram can only be edited in designmode.

  • To do this, open the context menu over the diagram and click "Tools-> designmode on". 
  • Alternatively, you can also click the design icon (1) in the status bar. After it has started flashing click on the innermost red highlighted screen frame that borders the workflow diagram.

Then the tool window (2) appears on the left side of the screen.

 

 

The tool window

consists of

  • a toolbar (3)
  • and a workflow class tree (4).

The following tools are available in the toolbar (3):

Selection tool. Select and move objects on the work area.

Edge tool. Create workflow edges between two objects. The available anchor points at which you can connect the lines are indicated by green dots.

Path edititing tool. Move anchor points on edge-path.

 

 The workflow class tree (4) has three root-elements:

  1. Classes from the application definition (5). These are needed to program processes that will later call functions on the physical model.
  2. Subworkflows (6). All workflows that have been created with the "sub-method"-property appear here.
  3. Functions (7). Tihs are workflow classes which are universally applicable and do not depend on a physical model..

 

Edit workflow

The editor works according to the "rulebased free placement" principle. This means that you can largely place all the elements freely, but with some restrictions to ensure that the program flow is guaranteed. Please read the "Structure and Rules" section in the second chapter for a better understanding of the editor's behavior.

Adding workflow nodes

Select a class in the workflow class tree and drag it to a workflow edge in the workflow diagram using drag & drop. The workflow edge is replaced by two new edges and the new node is inserted between. This allows you to achieve a sequential sequence (8).
If you want to create a parallel flow (9), you can drop the class on a workflow node instead on the workflow edge.

Deleting workflow nodes

Open the context menu on the workflow node and click "Delete". Alternatively, select the Workflow node and click on the small triangle at the top right to open the context menu.

Adding workflow edges

Enable the edge tool. In the workflow diagram, exit points are highlighted in green. Click a exit point and hold down the left mouse button. Drag the line to one of the newly highlighted entry points and release the mouse button.

Deleting workflow edges

Open the context menu on the workflow edge and click "Delete". Alternatively, select the workflow edge and click on the small triangle at the top right to open the context menu.


When you insert workflow nodes that originate from the Applicationdefinition tree, the editor decides which workflow class it will use for it. It searches for the most common workflow class (default) that is still compatible with the classes in the physical model, so that either 

  • the corresponding module in the physical model can be occupied
  • or the corresponding function in the physical model can be called.

Since there are occasionally custom implementations of the standard workflow classes that you want to use, you have to explicitly replace the proposed (by iPlus) with the customer-specific class.

To do this, open the context menu on the selected workflow node and choose the command "Switch class". A dialog appears where the first text field shows which workflow class is currently being used. The second Combobox field displays all the workflow classes that are compatible with the current workflow class (in programmer's language: "Those that originate from the same inheritance hierarchy"). Select the desired customer-specific workflow class and then confirm the selection with the OK button.


Pathrouting of workflow edges

Edges are drawn as simple and direct lines when editing. If there are a lot of edges and nodes, the diagram becomes very confusing. The "Recalc edge routes"-button performs an optimal path calculation for all edges to avoid collisions with other edges and nodes. You can see the calculation result either visually in the workflow diagram, or you can see the newly created line anchor points and their coordinates in the XAML tab item.

 

XAML tab item

XAML is a UI programming language similar to HTML. The workflow diagram is represented by XAML and can thus be adjusted in the second tab of the designer ("XAML").

Warning: Please do not delete any elements from the XAML code, nor change the Name-, VBContent-, or connector properties. These properties are connected to a data model in the background that defines the program flow. This would cause the program flow to stop working as soon as the workflow was loaded on the iPlus Server service.

Changes in the XAML should only affect properties that are relevant to the presentation. e.g. line thickness, line color, background colors, font size...