Introduction
- A given workflow A starts workflow B by use of the JS7 - AddOrder Instruction.
- Workflow B runs asynchronously and in parallel to workflow A.
- Workflow A should wait for completion of workflow B.
Solution
Workflow A
Download (upload .json): pdSequenceAddOrderSynchroneously.workflow.json
Workflow A is designed like this
- The workflow executes a number of jobs and an JS7 - AddOrder Instruction for workflow B.
- Starting from the AddOrder Instruction workflow B runs asynchronously and in parallel.
- Subsequently a JS7 - ExpectNotice Instruction makes workflow A wait for completion of workflow B.
- The ExpectNotice Instruction can be used immediately after use of the AddOrder Instruction.
- The ExpectNotice Instruction can be used at any later node in workflow A.
When clicking the AddOrder Instruction the workflow can be selected to which an order should be added:
- This includes to specify arguments that should be added to the orders.
- Argument names are suggested from the declaration of variables in the target workflow.
- Argument values can be specified from constant values and from variables that are available with the current order.
First upload the example from the below chapter Workflow B to be able to select the relevant Workflow like this:
The ExpectNotice Instruction allows to select a Notice Board.
First upload the example from the below chapter Notice Board to be able to select the relevant Notice Board like this:
Workflow B
Download (upload .json): pdSequenceReceiveOrderSynchroneously.workflow.json
Workflow B is designed like this:
- The workflow executes a number of jobs and a JS7 - PostNotice Instruction.
- The PostNotice Instruction sends a signal to any workflows expecting the Notice.
- A number of workflows can wait for the same Notice of a PostNotice Instruction.
- The same Notice from a PostNotice Instruction can be issued by any number of workflows.
- The PostNotice Instruction does not necessarily have to be used as the last instruction in a workflow. In fact it can be used at any position in the workflow.
The PostNotice Instruction allows to select a Notice Board.
First upload the example from the below chapter Notice Board to be able to select the relevant Notice Board like this:
Notice Board
Download (upload .json): pdSequenceSynchroneously.noticeboard.json
The Notice Board is configured like this:
- The Notice Board specifies the same rule to match the expecting order from the ExpectNotice Instruction in workflow A and the posting order of the PostNotice Instruction in workflow B.
- The selected rule Matching Daily Plan Date specifies that both orders of workflow A and B have to be in scope of the same Daily Plan date.
- It is a frequently used rule to match orders only that are created for the same date.
- The Notice Board offers to use more complex rules, for example to match the Daily Plan date and the order names that can be specified when adding orders.
- The Notice is assigned a lifetime. The expecting order in workflow A should pass its ExpectNotice Instruction node within the lifetime of the Notice.
- Users have the option to manually add Notices from the Resources->Notice Boards view and they can delete Notices from the same view.
- Find details from JS7 - Notice Boards.