Skip to Content
Product Information
Author's profile photo Patrick Schad

SAP Process Automation Capabilities: Manage Decisions Simply

Introduction

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:

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.

 

Spotlight: Decisions

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.

Decision%20diagram%20and%20policiesDecision diagram and policies

 

Hands-on exercise

Prerequisite

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:

  1. 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).
  2. Mobile phones: In stock and can be shipped immediately, however the corresponding manager needs to approve the purchase.

Business%20scenario%20of%20a%20notebook%20and%20mobile%20phone%20purchase%20requisition%20process

Business scenario of a notebook and mobile phone purchase requisition process

 

The following figure shows the final view of the process, modelled in SAP Process Automation.

Exemplary%20purchase%20requisition%20process%20modelled%20in%20SAP%20Process%20Automation

Exemplary purchase requisition 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.

Lobby%20of%20SAP%20Process%20Automation%20with%20quick%20action%20tiles

Lobby of SAP Process Automation with quick action tiles

 

In the popup that opens, I enter the relevant information.

Creation%20of%20a%20business%20process%20project

Creation of a business process project

 

Create a process

Once I created the project, I will get prompted to create a process.

Creation%20of%20a%20process

Creation of 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.

How%20to%20create%20a%20new%20form

How to create a 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.

Creation%20of%20a%20form

Creation of a form

 

Once I confirm my entries and create a process, I will get forwarded to a view to model my process.

Graphical%20process%20builder%20view

Graphical process builder view

 

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.

Creation%20of%20artifacts%20within%20SAP%20Process%20Automation

Creation of artifacts within SAP Process Automation

 

First, I create a data type to determine the right approver of my process.

Creation%20of%20a%20data%20type

Creation of a data type

 

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.

Detail%20screen%20of%20a%20data%20type%20with%20an%20example%20of%20approvers

Detail screen of a data type with an example of approvers

 

Second, I repeat this step of the data type creation to create a data type to process the relevant purchase requisition information.

Creation%20of%20a%20data%20type

Creation of a data type

 

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.

Detail%20screen%20of%20a%20data%20type%20with%20an%20example%20of%20a%20purchase%20requisition

Detail screen of a data type with an example of a purchase requisition

 

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.

How%20to%20create%20a%20Decision

How to create a Decision

 

Here, I can create a new decision to determine the correct recipient of an IT purchase requisition.

Creation%20of%20a%20decision

Creation of a decision

 

I create this new decision and get forwarded to the process overview which will be updated with my newly created decision.

Graphical%20process%20builder%20view%20including%20decisions

Graphical process builder view including decisions

 

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.

How%20to%20define%20decisions%20within%20the%20graphical%20process%20builder%20view

How to define decisions within the graphical process builder view

 

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.

How%20to%20define%20decisions%20in%20the%20decision%20editor

How to define decisions in the decision editor

 

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.

How%20to%20define%20a%20policy%20within%20the%20decision%20editor

How to define a policy within the decision editor

 

I define the relevant information to create a decision table.

How%20to%20create%20a%20decision%20table

How 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.

Overview%20of%20the%20determination%20rules

Overview of the determination rules

 

Within the decision table view, I choose the settings icon in order to create the relevant condition expressions.

Create%20conditions%20in%20the%20decision%20table

Create conditions in the decision table

 

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.

How%20to%20create%20conditions%20within%20the%20decision%20table

How to create conditions within the decision table

 

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.

Overview%20of%20the%20decision%20table%20conditions

Overview of the decision table conditions

 

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.

Overview%20of%20the%20decision%20table%20conditions%20incl.%20the%20results

Overview of the decision table conditions incl. the results

 

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.

How%20to%20define%20decision%20rules

How to define decision rules

 

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.

How%20to%20create%20a%20form

How to create a form

 

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.

How%20to%20map%20the%20data%20with%20the%20inputs%20of%20the%20decision

How to map the data with the inputs of the decision

 

Finally, the inputs must be mapped with all relevant fields.

Final%20view%20of%20the%20inputs%20mapping

Final view of the inputs mapping

 

Choosing the outputs, shows in this case who will receive the outcome of my decision.

Outputs%20of%20the%20determination%20rules

Outputs of the determination rules

 

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.

  1. 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.
  2. Manager approval (mobile phone): This form is needed to notify the manager about a new purchase request of a mobile phone.
  3. 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.
  4. Purchase Notification: This form is needed to inform the purchaser about the successful execution of the purchase.
  5. 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.

How%20to%20create%20an%20approval%20form

How to create an approval form

 

The creation and definition of the approval form follows the same logic as for the forms.

Creation%20of%20an%20approval%20form

Creation of an approval form

 

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.

How%20to%20define%20an%20approval%20form%20within%20the%20graphical%20process%20builder%20view

How to define an approval form within the graphical process builder view

 

Within the form editor, I provide all the relevant information for the manager in order to approve the purchase request.

Creation%20of%20an%20approval%20form%20with%20an%20example%20of%20manager%20approval

Creation of an approval form with an example of manager approval

 

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.

How%20to%20map%20the%20data%20with%20the%20inputs%20of%20the%20form

How to map the data with the inputs of the form

 

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.

Final%20view%20of%20the%20inputs%20mapping%20with%20an%20example%20of%20manager%20approval

Final view of the inputs mapping with an example of manager approval

 

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.

Creation%20of%20an%20approval%20form%20with%20an%20example%20of%20IT%20Services%20approval

Creation of an approval form with an example of IT Services approval

 

Afterwards, I repeat the step to define the relevant fields in the general tab of the approval form as well as the inputs.

General%20tab%20of%20the%20approval%20form

General tab of the approval form

 

Final%20view%20of%20the%20inputs%20mapping%20with%20an%20example%20of%20IT%20Services%20approval

Final view of the inputs mapping with an example of IT Services approval

 

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.

Final%20view%20of%20the%20inputs%20mapping%20with%20an%20example%20of%20manager%20approval%20%28mobile%20phone%20use%20case%29

Final view of the inputs mapping with an example of manager approval (mobile phone use case)

 

Now, I maintain the general information and execute the mapping of the inputs.

Final%20view%20of%20the%20input%20mapping%20with%20an%20example%20of%20manager%20approval%20%28mobile%20phone%20use%20case%29

Final view of the input mapping with an example of manager approval (mobile phone use case)

 

Afterwards, I have to create a condition. To illustrate this, let’s have a look at our current defined process.

Creation%20of%20a%20condition

Creation of a condition

 

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:

Defining%20the%20condition

Defining the condition

 

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.

How%20to%20create%20a%20purchase%20requisition%20action

How to create a purchase requisition action

 

Within the pop-up I choose the Add button within the tile of the purchase requisition action.

Library%20to%20add%20an%20action

Library to add an 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.

Defining%20the%20environment%20variable

Defining the environment variable

 

Final%20view%20of%20the%20inputs%20mapping%20with%20an%20example%20of%20a%20purchase%20Requisition

Final view of the inputs mapping with an example of a purchase Requisition

 

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.

Creation%20of%20a%20form%20with%20an%20example%20of%20a%20fully%20approved%20request%20and%20successfully%20created%20purchase%20requisition

Creation of a form with an example of a fully approved request and successfully created purchase requisition

 

Then, I open the editor to define the relevant fields of the form.

Form%20with%20the%20final%20approval%20of%20the%20request%20%28notebook%20use%20case%29

Form with the final approval of the request (notebook use case)

 

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.

Maintaining%20the%20general%20tab%20of%20the%20form

Maintaining the general tab of the form

 

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.

Graphical%20overview%20of%20the%20creation%20process

Graphical overview of the creation process

 

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.

Form%20with%20the%20final%20approval%20of%20the%20request%20%28mobile%20phone%20use%20case%29

Form with the final approval of the request (mobile phone use case)

 

Afterwards, I drag-and-drop the submit line of the newly created form to the end event.

Drag-and-drop%20the%20process%20to%20finalize%20the%20process

Drag-and-drop the process to finalize the process

 

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.

Graphical%20overview%20of%20the%20complete%20creation%20process

Graphical overview of the complete creation process

 

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.

Assigning%20the%20rejection%20form%20to%20the%20manager%20approval

Assigning the rejection form to the manager approval

 

I repeat this step for the IT Services rejection accordingly.

Assigning%20the%20rejection%20form%20to%20the%20IT%20Services%20approval

Assigning the rejection form to the IT Services approval

 

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.

Assigning%20the%20rejection%20form%20to%20the%20manager%20approval%20%28mobile%20phone%20use%20case%29

Assigning the rejection form to the manager approval (mobile phone use case)

 

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.

Releasing%20the%20project

Releasing the project

 

Afterwards, a pop-up appears with specific actions I can execute and also the chance to add some comments.

Detail%20view%20to%20release%20a%20project

Detail view to release a project

 

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.

Deploying%20a%20project

Deploying a project

 

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.

How%20to%20run%20the%20process

How to run the process

 

I copy this link and paste it into a new browser window or tab.

Form%20in%20productive%20use%20with%20an%20example%20of%20purchase%20requisition%20form

Form in productive use with an example of purchase requisition form

 

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.

How%20to%20open%20%u201Cmy%20Inbox%u201D%20within%20the%20SAP%20Process%20Automation%20lobby

How to open “my Inbox” within the SAP Process Automation lobby

 

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.

Form%20in%20productive%20use%20with%20an%20example%20of%20manager%20approval%20form

Form in productive use with an example of manager approval form

 

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.

%u201Cmy%20Inbox%u201D%20view%20of%20the%20approval%20form%20with%20an%20example%20of%20manager%20approval

“my Inbox” view of the approval form with an example of manager approval

 

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.

%u201Cmy%20Inbox%u201D%20view%20of%20a%20form%20with%20an%20example%20of%20fully%20approved%20and%20purchase%20requisition%20created

“my Inbox” view of a form with an example of fully approved and purchase requisition 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.

%u201Cmy%20Inbox%u201D%20view%20of%20a%20form%20with%20an%20example%20of%20a%20rejection

“my Inbox” view of a form with an example of a rejection

 

Conclusion

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

Follow us on LinkedIn, Twitter, and YouTube

Assigned Tags

      4 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Kevin Hu
      Kevin Hu

      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.

      Author's profile photo Patrick Schad
      Patrick Schad
      Blog Post Author

      Hi Kevin,

      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

      Author's profile photo Tony Silva
      Tony Silva

      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??

      Thanks,  Tony

      my%20decision%20diagram

      my decision diagram

      Author's profile photo Ranganath Muddeerappa
      Ranganath Muddeerappa

      Hi Tony,

      Default policy's are no more required, just map input, output parameters and create rules Add rules - Decision Table.

      Thanks,

      Ranga