Introducing Subprocesses as Referenced Subflows in SAP Build Process Automation
The Next Step in the evolution of SAP Build Process Automation
The SAP Build Process Automation team has recently (in Q1 2023) released a plethora of exciting new features that have continuously improved our Citizen Developer Studio editors: the Process Builder, Forms Builder, Decision and Process Visibility editors. We added as well great new task automation features and productivity and governance functions that have increased the value for customers immensely.
Here is a little summary of some highlights for you:
We enabled our customers and partners to work on their tasks in SAP Task Center. We provided capabilities to leverage actions as value helpers in forms and enabled filtering and search in the form at runtime. We added tables to forms and now support the simple configuration of outcome buttons of forms and approvals. We added flexible and dynamic configuration of due dates for tasks and an intermediate wait step in the process. Decisions can now be built with a wizard approach, and support “all match” hit policy on collections of data. Automations (bots) can now as well leverage API Triggers and they can trigger processes. We added a wizard to configure easily document information extraction templates and we delivered enhancements to run agents in support mode. Last, but not least, we integrated SAP Build with the SAP Cloud Transport Management service to empower governance steps from development to test to productive usage of process automations.
Today, I am happy to share with you the availability of Subprocesses, the latest exciting functional enhancement of our powerful SAP Build Process Automation offering.
With Subprocesses as referenced subflows, you can easily modularize your process automation projects, create and reuse a set of common process activities in a subflow, and leverage them in one or across multiple master processes without duplicating efforts.
What is a Subprocess?
A Referenced Subflow is a process flow that contains a set of steps that can be reused. It can be thought of as a mini-process that is referenced within master processes. Instead of having to recreate the same set of steps multiple times, you can create a subflow (subprocess) once and reference it in one parent or multiple processes. This not only saves time but also ensures consistency and reduces the risk of errors.
Why Use Subprocesses?
Subprocesses are referenced subflows that provide several benefits, including:
- Efficiency: Creating subprocesses allows you to reuse a set of common steps, which means you can create processes and workflows faster and with less effort.
- Consistency: Using the same subprocess ensures consistency in your process automation, reducing the risk of errors and simplifying maintenance.
- Reusability: Once a subprocess is created, it can be easily referenced in other process, making it simple to scale your automation efforts.
- Modularization: decomposing a complex process into reusable subprocesses as process components helps you to understand the overall process architecture better and provide processes, workflows, automations, business rules as decision logic and actions as skills to Citizen Developers to gain productivity and accelerate time to value in your projects.
How to use Subprocesses:
Top Down or bottom up: To create a Subprocess, you have three options: From the “master process” (parent), you can create a new subprocess simply by using the “+” icon in the flow. You can (a) add an existing process as subprocess or (b) chose a workflow that you have created in SAP Business Application Studio (SBAS) in the Workflow Editor, deployed into SAP Build Process Automation. Or you (c) create a new process from that same dialog.
In the library of workflows, you can search and chose an existing workflow:
Figure 2: Process Builder, browsing for workflows as subprocesses
In case you chose an existing workflow, the workflow ID is automatically added, and you just need to configure the input and output data types:
Figure 3: Process Builder, configuring Input and Output data Types
As a next step, you just need to perform the necessary mapping of the data flow into the workflow:
Figure 4: Process Builder, Input and Output Mapping
For my project, I have decided to create a new process that I have called Advanced Processing.
Figure 5: Process Builder, Subprocess: Advanced processing with Input data flow
In this example, the Subprocess handles hardware requests for the Purchasing Organization 0001 & 0002 for Hardware and Software requests, with a simple “if-than-else” condition for MacBooks (a 2-step approval) and for Software and Services requiring a first level manager approval and then triggering a workflow as a subprocess in addition. I will not show the details in this blog here, but I wanted to show how this looks like now, as workflows are treated as subprocesses with a much more simplified configuration.
Figure 6: Process Builder, Condition
Figure 7: Process Builder, master process: action
Figure 8: Forms Builder: adding a table
Executing the process, the monitoring view shows how the master process triggers the subprocess execution:
Figure 11: Status of the Subprocess before approval(s).
Figure 12: Status of the Subprocess after approval(s) as completed.
After the subprocess has been completed, the master process executes without any human tasks, the order is created in the SAP S/4HANA system, and the email notification is sent out. This completes the master process.
Figure 13: Status of the master process: completed
Subprocesses as referenced subflows are a powerful addition to our process automation platform, providing users with the ability to create and reuse a common set of process automation steps (workflows, forms and approval tasks, bot automations, business rules) across multiple processes. With Subprocesses, you can streamline your process automations, reduce the risk of errors, and simplify maintenance. In upcoming blogs, we will discuss how to leverage principle propagation in processes and how we plan to enable for-each and par-for-each loops, send back and exceptions.
For an update on regular release updates, please have a look at What’s New for SAP Build Process Automation.
We hope you enjoy using this new feature and look forward to your feedback.
Please note that the example that I use above is a simple demonstration example, covering a departmental pre-approval of requisitions before Orders are created in SAP S/4HANA. It is not intended to re-build any as-is business application functionality.