SAP Process Automation Capabilities: Manage Decisions Simply
As announced at TechEd 2021 and in our blog post, we offer a process improvement tool that will change the way by enabling anybody to build and automate processes. The composition of capabilities and the delivery of pre-packaged content makes your work faster while still providing your IT the control.
Build with simplicity, automate faster, and operate confidently.
About SAP Process Automation
SAP Process Automation combines capabilities from SAP Workflow Management and SAP Intelligent RPA with an intuitive citizen developer experience. It enables organizations to manage the automation of workflows and processes using visual features that require no coding expertise. Furthermore, it increases organizations’ capacity to drive process automation by empowering business experts to become citizen developers. Citizen developers can build, adapt, improve, and innovate business processes with minimum assistance from scarce IT resources.
Please check the following blog posts to learn more about SAP Process Automation:
- Accelerate automation with a new no-code experience with SAP Process Automation, now generally available
- Achieving Hyperautomation with SAP Process Automation
This blog post is part of SAP Process Automation series which aims at sharing our product expertise with the community with detailed step by step guides by explaining the capabilities of SAP Process Automation. It will use a sample extraction use-case to showcase the capability process automation in a low-code / no-code style.
We have discussed some of this work in the past and we want you to know more about the value-add we provide with our SAP Process Automation capabilities. We have participated in several conversations with our customers and users regarding this topic. We have listened to our community, and while all agree to have a more easy and comprehensible way to create such a business rule, the right tool and functionality is still missing for a citizen developer. At the same time, citizen developers have told us that they value the chance to create business rules to establish more sophisticated processes which provide a greater value. Therefore, we are happy to solve this issue for our users by introducing this capability in SAP Process Automation.
Moving forward, to make the processes even more sophisticated, we enable the citizen developer to easily incorporate decisions within a process with great user experience. This capability enables citizen developers to digitize and automate their business decisions thereby enhancing the decision-making experience. A decision encapsulates dynamic business logic from process logic in the form policies that are expressed as sets of text rules and / or decision tables. A text rule is a collection of rule expressions in a simple if-then format and a decision table is a collection of rule expressions consisting of conditions and actions in a tabular representation. A decision diagram is a visual representation of a decision and consisting of the inputs, the output along with the relevant policies and rules. Input to a decision is the data that would be provided during execution and the rule constraints are evaluated against the input data. Output is the placeholder to store the result of this execution. Using a decision diagram, you can navigate to the input, output (result), policies of a decision and the rules of the respective policies.
Sign-up for SAP Process Automation
Introduction of the business scenario
Let’s look into a hands-on exercise to understand more about the general capabilities of SAP Process Automation and decisions specifically. Taking the following business scenario as an example. The company ACME Corporation has a problem with the IT asset delivery due to global shortages in technology components. In addition, ACME Corporation needs to have processes in place dealing with the following two business challenges regarding the purchase of IT equipment:
- Notebooks: Have a long delivery time in the current quarter. Many new notebooks need to go through manager approval (for business reason validation) and IT Services (for expected delivery date approval).
- Mobile phones: In stock and can be shipped immediately, however the corresponding manager needs to approve the purchase.
The following figure shows the final view of the process, modelled in SAP Process Automation.
To solve the above mentioned two business challenges, SAP Process Automation offers the decisions capability. Here, I as a citizen developer can model the jobs to be done and solve the business challenges.
How to create a project in SAP Process Automation
To create a decision, I as a citizen developer login to SAP Process Automation and create firstly a new process or take any existing. In our case, we create a new process.
In the popup that opens, I enter the relevant information.
Create a process
Once I created the project, I will get prompted to create a process.
Afterwards, I directly get forwarded to the process diagram. Here, I have to define a trigger for my process to start. In our scenario, we have a form which my user fills out in order to inform the relevant approvers and create a purchase requisition. To create a form, I mark the Select a Start Trigger in the diagram view and choose on the right-hand Select a Form and New Form.
Here, I maintain the relevant information of my form to start the process. Later in this blog, you learn more about the forms and which information this form needs to include.
Once I confirm my entries and create a process, I will get forwarded to a view to model my process.
Create a data type
Now, I must create two data types in order to make use of them in the decision creation and to be able to specify my needs. Data types are needed to model the input and output of the decision. A data type is an artifact describing a data structure that can be used as an input and / or output parameter in automation or processes. See, data types.
First, I create a data type to determine the right approver of my process.
Afterwards, I will get forwarded to the data type detail screen to enter the relevant fields. In our scenario, I want to get the approval from my manager, as well as from the IT Services department. Therefore, I maintain the respective two new fields.
Second, I repeat this step of the data type creation to create a data type to process the relevant purchase requisition information.
The data type of the purchase requisition includes the following fields with the respective type (String, Number, Date). This is crucial to be able to map all the relevant information of the purchase requisition in the modelled process within SAP Process Automation.
Create a decision
Next, I create a decision to determine the relevant recipients of my purchase requisition.
To create a new decision, I choose the + icon within the process view and choose Decision -> New Decision.
Here, I can create a new decision to determine the correct recipient of an IT purchase requisition.
I create this new decision and get forwarded to the process overview which will be updated with my newly created decision.
To define the relevant rules of my decision, I have to open the editor. Therefore, I choose on the three vertical dots at the top right of the decision artifact and choose Open Editor.
A new window appears to maintain the relevant rules and policy.
Here, I maintain on the right-hand the relevant input and output of my decision. As input, I have selected the purchase requisition data type as it provides the relevant data. As output or result, I have selected the approvers data type accordingly since I want to determine the approvers that need to be notified for approval of the purchase requisition.
To add a rule (text rule or decision table) to a policy, choose the Default Policy within the decision diagram on the left-hand. The right-hand now displays the default policy and I can create a rule there.
I define the relevant information to create a decision table.
As a next step, I maintain the entries of my newly created decision table by choosing the relevant name on the right-hand.
Within the decision table view, I choose the settings icon in order to create the relevant condition expressions.
Once I’m in the settings, I press ctrl+space in the condition expressions field to get an overview of the relevant operators and functions that can be used in a condition expression. Here, I choose the input I defined earlier. The following picture shows all the possible entries from the defined input from the data type that I’ve created. In this case, the relevant purchase requisition.
I repeat the relevant steps to define a condition once all relevant fields, labels, and fixed operators are maintained. In our case, the purchase organization and group, as well as the material are relevant.
As a result, I want to inform the approvers. Therefore, I click into the result field and select the defined output. Afterwards, my defined result attributes will automatically be depicted based on my definition. If I want to, I can manage the access accordingly and provide a default value. Once all the settings are done, I choose Apply to save my decision table settings.
As I want to inform the relevant manager and IT Services, or only the manager once a notebook or mobile phone will be purchased, respectively, I enter those details within the decision table to which I automatically get forwarded once I defined the relevant decision table settings.
Create a form
As a next step, I have to create different forms in order to have a complete process in place.
First, within the overview page I choose the created Purchase Requisition Form in order to define the relevant fields I must provide to create a purchase requisition.
Therefore, I must maintain the specifics of my decision in order to solve my business challenges. I open my defined process and mark the decision artifact. Here, I provide the relevant information on the right-hand to define the inputs and outputs. As inputs I maintain the purchase requisition relevant information.
Why is data mapping relevant? By embedding a decision in a process, data mapping between the input and output ensures a consistent flow of the relevant data across the entire process. The output of the decision will be the input for the onward process. The input and output data mapping can be configured using the graphical editor.
Finally, the inputs must be mapped with all relevant fields.
Choosing the outputs, shows in this case who will receive the outcome of my decision.
Next, I have to create three approval forms and two forms. The differences between the approval form and the form are, that the approval form is solely relevant for an approval with different mechanism. While a form itself can be used for several use cases. First, I create the manager approval (notebook) approval form. The approval forms 2 and 3, as well as the forms 4 and 5 will be created later in the process.
- Manager approval (notebook): As stated in the process description at the beginning of this blog, purchasing a notebook requires two approvals. First, from the manager, and second, from IT Services. Therefore, we create two different forms for a manager. First, a form which covers the notebook process with the additional approval from IT Services. Second, a form which covers the mobile phone process with an approval from the manager only.
- Manager approval (mobile phone): This form is needed to notify the manager about a new purchase request of a mobile phone.
- IT Services (notebook): As stated above, IT Services need to approve the purchase once the manager approved it in order to check the relevant delivery date.
- Purchase Notification: This form is needed to inform the purchaser about the successful execution of the purchase.
- Rejection: In case the manager or the IT Services team rejects the purchase requisition, the user needs to be informed accordingly.
To create an approval form I switch to the process tab and choose the plus icon on the right-hand of the decision. Afterwards, I choose Form -> New Approval Form.
The creation and definition of the approval form follows the same logic as for the forms.
Once I created the form, I will get forwarded to the process diagram. Here, I open the editor of the form in order to design the form.
Within the form editor, I provide all the relevant information for the manager in order to approve the purchase request.
Now, I have to maintain the relevant fields and settings for an approval form. Therefore, I go back to the process view and mark the newly created approval form. Within the subject and comments field, I enter the relevant information. In the recipients section, I click into the users field and select the manager field in order to inform the right manager, based on my previous defined decision policy.
Afterwards, I map the relevant inputs. For my convenience, the mapping is restricted to the relevant type of the fields. E.g., date of type date is only possible to be mapped with a respective data field.
Now, I repeat the step and choose the plus icon on the right-hand of the approve line of the newly created approval form to create another approval form for IT Services. Therefore, I choose Form -> New Approval Form. I open the editor of the newly created approval form and define the relevant fields.
Afterwards, I repeat the step to define the relevant fields in the general tab of the approval form as well as the inputs.
Again, I have to create another approval form for the mobile phone process. Therefore, I choose the plus icon on the right-hand of the receiver determination rule to create another approval form for manager approval of a mobile phone. To execute it, I choose Form -> New Approval Form. I open the editor of the newly created approval form and define the relevant fields.
Now, I maintain the general information and execute the mapping of the inputs.
Afterwards, I have to create a condition. To illustrate this, let’s have a look at our current defined process.
As the process starts with a purchase requisition of either a notebook or a mobile phone, I must decide which path of the process to trigger in order to fulfill the needs of either approving the notebook by the manager and IT Services, or in case of the mobile phone the manager only. Hence, I create a condition directly after the receiver determination rule. Therefore, I choose the plus icon on the right-hand of the receiver determination rule and select condition. The system automatically creates an if / else clause which I mark and maintain the relevant fields on the right-hand. Here, I select as the if clause the material from the purchase requisition equal to notebook, then send to “Manager Approval (Notebook)”. This is needed, since if the initial form of the purchase requisition is about a notebook, the path of the manager approval for notebook and afterwards the IT Services approval needs to be executed. In my else clause, I select the approval form of “Manager Approval (Mobile)”. Please bear in mind that we have provided as input in the initial form of the purchase requisition a drop-down of either a notebook or a mobile phone. If you have more items to be approved, the if / else clause needs to be adapted accordingly.
Afterwards, I mark the approve line of the “Manager Approval (Mobile)” approval form and drag-and-drop it to the End event of my process in order to visualize the process better. My process looks like that:
Once the approvers approve the corresponding purchase request, a purchase request needs to be created in the system. Therefore, I need to model the corresponding artifact in the process view. I choose the plus icon on the right-hand of the IT Services Approval Form, Approve line, hover over Library and choose Browse Library.
Within the pop-up I choose the Add button within the tile of the purchase requisition action.
The system automatically forwards me to the process tab. Here, I maintain the relevant environment variable and execute the relevant mapping for the inputs.
Let’s finalize the creation process of the notebook purchase requisition. Now, I want to inform the requester about the approvement of the purchase request as well as the successful creation of the purchase requisition in S/4HANA Cloud. Therefore, I choose the plus icon on the right-hand of the purchase requisition. Afterwards, I choose Form -> New Form and enter the relevant details.
Then, I open the editor to define the relevant fields of the form.
Next, I maintain the relevant information of the form. Here, as a recipient I maintain the user field with the Process Started By variable in order to inform the initiator of the process.
In addition, I provide the relevant mapping of the inputs.
Let’s finalize the successful creation of the “Manager Approval (Mobile)” step as well. I choose the plus icon on the right-hand of the “Manager Approval (Mobile)” approve line, hover over Library and choose Browse Library. Within the pop-up I add the purchase requisition. Again, I maintain the general tab and define the mapping.
I repeat the step of the approved and purchase requisition created step for the “Manager Approval (Mobile)” as well. Therefore, I create a new form to inform the requester about the successful approvement and creation of the purchase requisition, define the entries, maintain the general data as well as inputs.
Afterwards, I drag-and-drop the submit line of the newly created form to the end event.
Let’s have a look at the defined process. I successfully modelled the straight through case if all approvers agree. However, I still have the red indicators which show me that some parts are still missing. In this case, I need to model the rejection case of the relevant steps.
Therefore, I have to create two additional forms for the rejection case. One if the manager rejects and another in case IT Services rejects.
First, I create the form to cover the case if the manager rejects. Hence, I choose the plus icon of the reject line at the right-hand of the “Manager Approval (Notebook)” approval form and choose Form -> New Form. Then, I define the relevant fields in the editor and maintain the general as well as inputs. Finally, I drag-and-drop the submit line of the newly created form to the end event.
I repeat this step for the IT Services rejection accordingly.
To finalize the “Manager Approval (Mobile)” step, I can reuse the already created form. Here, I choose the plus icon of the rejection line on the right-hand of the “Manager Approval (Mobile)” approval form. I choose Form and select the available form which is in my case the Manager Rejection Form.
Release and deploy
Finally, I have to release and deploy my process in order to make use of it. First, I release the process. Hence, I choose the Release button at the top right of the screen.
Afterwards, a pop-up appears with specific actions I can execute and also the chance to add some comments.
I choose Release to release the process and afterwards on the top right on deploy, to deploy my process. Within the pop-up I maintain the relevant fields and choose Deploy.
Run the process
To run my defined process I open process and select the initiating form. On the right-hand I can find a Form Link.
I copy this link and paste it into a new browser window or tab.
Now, I enter the relevant information and submit the form.
This form is now an incoming task for the approvers I maintained in my decision. The process will be executed based on my defined policy and the maintenance within the decision table.
To test if the form appears in “my Inbox”, I go back to the lobby of SAP Process Automation and choose the “my Inbox” icon on the top right of the screen.
Once the form is successfully submitted, I can see the task within the inbox of my manager. My manager reacts on it accordingly and provides a comment, name and Email as I defined in the form editor.
Once my manager approved it and based on the ordered product the process goes on with either sending to the inbox of IT Services (notebook use case) or directly creates the purchase requisition in the connected S/4HANA Cloud (mobile phone use case). In our example, the IT Services needs to check the delivery date and act accordingly.
Once the IT Services also accepted, SAP Process Automation creates automatically and as defined the purchase requisition in the connected SAP S/4HANA Cloud. After the successful completion, I will get the designed notification in “my Inbox” that the purchase request was approved and successfully created.
Let’s check if the rejection case works as well. I will create another purchase request via my form. This time, my manager rejects my purchase request.
In conclusion, you have learnt how to create a process and specifically learnt how to work with the decision capability in SAP Process Automation to address your business challenges.
This blog post follows our products’ general availability announced recently, with our commitment to help our customers, partners and community to automate their processes simpler, faster, and confidently. As we continue to improve our product and share such blog posts, we hope you’ll share your feedback with us in the comment section below so we can continue to make not only thoughtful changes but also make SAP Process Automation community a place where everyone including citizen developers is empowered to innovate their business processes daily.
Try SAP Process Automation and our decisions capability today by signing-up!
Further resources and learning:
Exchange knowledge: SAP Community | Q&A| Blogs
Explore: SAP Product Page | Product Demo |
Learn more: SAP Help Portal | SAP Learning Journey
Thanks for writing this tutorial.
I am quite interested in this product being added into the whole low code/no code stack.
One thing I would like to see is if there is a tutorial including integrated document services/attachments, as very often the workflow includes not just forms but also documents.
Thanks in advance.
Thanks for your feedback. As of now it is planned in our road map. Tutorial will come soon once it is available. Happy to get your thoughts on that.
Best regards, Patrick
I'm attempting to follow this blog to learn more about Process Automation.
Everything goes smoothly until I create the decision object. Then while your screen shots show a default policy in the diagram and also to the right of it, mine does NOT.
I've tried this multiple times with different tutorials and blogs but my results are always the same.
Any idea as to what I'm doing wrong and how it can be fixed??
my decision diagram
Default policy's are no more required, just map input, output parameters and create rules Add rules - Decision Table.