To learn more about how to leverage and configure subprocesses, let me use again the example of departmental requisition processing with different approval logic for different material and organisations. Imagine you want to build a comprehensive process that:
Fig1: The Main Process with a form as a process trigger, a conditional branch to separate 0001 and 0002 requests, the Cost Center Budget Officer Review task, a condition to separate between advanced and accelerated processing.
Fig2: Summary of the condition "If Purchasing Organisation is equal 0002" = If branch
Fig3: Data flow from the Start form (Process Trigger) to the Review task of the Cost Center Budget Officer (BO)
Fig5: After defining the Input and Output variable definition on the canvas of the subprocess (here Accelerated Processing), the Input mapping from the Main Process has to be done, exactly as you would do it with any other activity or skill (as, e.g., action).
Fig6: The Advanced Processing subprocess uses a simplified data type definition to demonstrate that you can use different variable definitions for the data flow in different subprocesses. Notice also, that for other more expensive developer hardware, the process here uses an existing workflow as a subprocess that has been defined before as a standard workflow in SAP Business Application Studio (SBAS) and the BPMN-based workflow editor. This helps customers to leverage existing workflow definitions and supports the migration and transformation strategy towards SAP Build.
Fig9: Above the Updated Main Process - updated with a new subprocess 0002 Two-step approval in which I built all necessary steps that have been before in the main process. Much more understandable!
Fig10: Notice that, when leveraging the subprocess in an embedded configuration, you only need to define the Input / Output and perform the necessary mapping steps. No trigger is needed for this process configuration.
Fig11: The Advanced Processing subprocess has been configured with an API Trigger in addition (which is optional in case you want to us it as a referenced subprocess, being able to invoke it for instance independently from an application or from another process.
Fig12: You can configure subprocesses to "run on behalf of", hence selecting the process participant from a preceding step in the main process. This configuration helps you as well to securely interact with a business application / system using the permission of the process participant.
Fig13: Let us trigger the process now with the form to create a request.
Fig15: As the request is above 2.000€, the Manager needs to approve after the positive budget review (Advanced Processing subprocess).
Fig16: The next request is below 2.000€ in Organisation 0001. So I expect the Accelerated Subprocess to be triggered.
Fig17: The 3rd request is above 2.000€ but in Organisation 0002, so I expect the subprocess "0002 Two-step approval" to be triggered.
Fig18: Notice the different tasks that have been created from the 3 subprocesses out of the main process.
Fig19: In the monitoring dashboard, you can check the execution of Main and Subprocesses as well as the data flow.
Fig20: From here, you can drill down into the subprocess monitoring and see every step that is executed.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
11 | |
11 | |
11 | |
10 | |
10 | |
8 | |
7 | |
7 | |
6 | |
6 |