Customizations for Analysts - Automations
Adding SAP Action
User story: As as user of the OOP Application, I would like to have a instant connection into SAP so that I don't have to switch applications and can trigger multiple actions which increases my efficiency
Business Impact / Added Value | High Triggering SAP Actions from Celonis reduces time for order processing and users don’t need to switch tool. Also significantly increases stickiness and usage. |
Technical Complexity | High - Data Integration: Requires a running replication cockpit & a fast loading DM - Studio: Create skills and action flows - Others: Agent connection must be active and knowledge on SAP BABIs required |
Impacted by Customizations | Low Relevant Tables are SAP ECC Standard and should not be impacted by customizations. |
Important
Potential Use Cases:
This document focusses on the specific use case remove delivery block. Of course it is possible to enable all kinds of different SAP actions.
There is also a general page on how to set-up SAP actions using Action Flows not only focussing on Order to Cash and another page explaining the following different modules:
Change Incoterms/Payment Terms/Requested Delivery Date/Purchase Order Number
Set/Remove Delivery Block
Set/Remove Billing Block
Change Material/Quantity/Plant/Storage Location
Reject Order Item
Post Goods Issue
Create Delivery from Sales Order
Important
Personalized SAP User Connection
This guide describes the implementation using Skills and Action Flows for one central SAP user. In case you prefer a personalized user connection, the Action Flow has to be replaced by an action in the Skill which increases complexity. Hence, we recommend the described approach. However, we append the general solution for a central user using skills which can be adjusted for personalized user connections.
Before you begin:
Ensure to have a fast-loading Data Model and Replication Cockpit in use for real-time data.
Check if there is an SAP Agent configured and running.
Create Skill - Example Remove Delivery Block:
Notice
From this point the procedure is similar for different use cases. Only difference is the naming and the specific Action Flow module that is necessary. Please familiarize yourself with possible SAP modules in Action Flows to identify how your application might be extended in the best possible way.
The action can either be added to an existing task for an inefficiency or as a general action (e.g. existing skill 'Open in SAP'). We explain the first approach here as it aligns with the strategy of having central inefficiencies and using tasks to solve them.
In the folder user actions, create an Action Flow 'Remove Delivery Block' with only the module 'Custom Webhook'. Save, publish and set the Action Flow to active.
Go to the skill that creates all tasks for the inefficiency Pending Delivery Block.
Add the next steps 'Remove Delivery Block' and then select 'Execute Action Flow' as following step. In the dropdown select the previously created Action Flow and paste the following information in the text field:
{ "Sales Order Number": "${b1["ORDER_NUMBER"]}" }
Add the action 'Update Task' as following step where the status can be set to Done. Create another following action as execution output where the user is notified about their action. Finally, save everything and publish.
Run the Action Flow once and also execute the skill once from your Team Lead View by selecting an order with Delivery Block.
Note
No changes will be visible in SAP as the Action Flow configuration hasn't been modified yet.
Go to the Action Flow. You should now be able to access the parsed data from the skill. Add the SAP module 'Remove Delivery Block' as the next step and configure it using your connection and the Sales Order Number. Again, save and publish the Action Flow.
(Optional) Make it shiny!
It is possible to have a visual indicator besides from the task. Augmentation attributes can be leveraged to capture the value and orders that were resolved by automated actions.
Add an augmentation attribute to the record order in the knowledge model and paste the following configuration
- id: DELIVERY_BLOCK_STATUS displayName: Delivery Block Status possibleValues: - Failure - connectivity - Pending - connectivity (wait for 15 min) - Success - Celonis update pending - Success - But no changes identified (optional) - "" columnType: STRING
Add the 'Update Augmentation Attribute' module to the Action Flow and configure it using the previously created attribute. The status should be changed according to the execution output of the SAP module and can be set using the routing and filtering option in the Action Flow.
The attribute can now be added to the sales order table view. This helps users to get an insight on the status and development of delivery blocks
If you need personalized connections it is not possible to use Action Flows. Thus, we will explain the 'Remove Delivery Block' use case to be implemented in the skill in the following. Adjusting the field ORDER_HEADER_INX:DLV_BLOCK enables more use cases for automations in SAP using skills (e.g. Billing Block change: ORDER_HEADER_INX:BILL_BLOCK).
The first step is similar to the general Action Flow example.
Instead of creating an Action Flow, immediately go to the respective skill and similar to the previous instructions, create a step called 'Remove Delivery Block'. However, as a next step select 'Execute SAP Action (Advanced)'.
Use your agent and connection for setup
and fill the form using this information:
Function Module = BAPI_SALESORDER_CHANGE SALESDOCUMENT:VBELN = ${b1["ORDER_NUMBER"]} ORDER_HEADER_INX:UPDATEFLAG = U ORDER_HEADER_INX:DLV_BLOCK = X
All following steps are similar to the Action Flow setup and updating an augmented attribute is possible using skill actions.