Live Process Package – Manage Sales Order – A Great Learning Journey !
Intelligent Enterprises are Integrated Enterprises – We have heard this so many times and there is no doubt that it is so. If integration is so important, then connecting those disparate systems and ensuring that we have seamless business process executions across them is also equally important. That’s where SAP Workflow Management comes into picture.
SAP Workflow Management has the LCNC ( low code/no-code ) way of development approach. To help the customers even further, SAP has released lot of Live Process Content Packages. These are pre-built packages, so that customers can just plug and run them. I am going to talk about my learning experience in deploying in such package called ‘Manage Sales Orders” in trial account.
It is evident that this live process package use Event Driven Architecture.
Approvals for Sales Orders
Before I deployed this live process, I spoke to couple of my functional colleagues to understand how the sales order approval is currently done in ECC world. I realized that there is no standard SO approval process in ECC.( Please comment if this information is not correct ).
On investigating the Live process, I found that the approval status is retrieved field APM_APPROVAL_STATUS in VBAK table. This is available since S/4HANA 1909. Here is the link for the corresponding documentation. I had to implement the Cloud BAdi SD_APM_SET_APPROVAL_REASON too, to assign approval request reason code for the sales order.
Well, this itself is a great start to my learning journey.
Event Driven Architecture
Event Mesh service on SAP BTP is becoming more and more important in today’s world where we are looking to have Cloud Native and microservices oriented mindset. It is one of the core components for this live process content.
In the trial account, we must use the dev plan to work with Event Mesh and must use the dashboard at the service instance level to create the queues.
Also, while setting it up –
- I had configured the ‘Topic Space’ as the topic when creating the queue subscription and did not get the events published on the queue. I then corrected it, by putting the Topic value which exactly matches with the value in the monitor report : /IWXBE/R_EVENT_MONITOR – and then I started to get the events on the queue.
- Created a webhook subscription to the queue with the end point URL of the integration flow.
We have a pre-delivered integration package, specifically for this live process content.
Since I always wanted to try my hands in Cloud Integration, this was a great opportunity. Starting to see how to deploy these flows, I realized that these integration flows are CONFIGURE ONLY mode, which means all the necessary variables are externalized for the users to configure. Just change the values as per your landscape and deploy, that’s it !
Learning from Cloud Integration Package : Looking that the integration flow, I had lot to learn – starting with different API calls => groovy scripts => error handling => and finally to ‘Local Integration Process’ pattern using which the entire integration process is modularized. Thanks to the openSAP course on Integration Suite, I could expand my understanding of it 🙂
Role for API Management
In the Cloud Integration externalized parameters, we are expected to configure the URL for the S/4HANA or S4HC cloud system for the Odata call to API_SALES_ORDER. We always wanted to use the API Management instead of making the route via the cloud connector. So, to make it work, without doing any changes in any of the standard pre-delivered packages, we exposed the API via API Management by ensuring that URL contains ‘/sap/opu/odata/sap/’ prefixed to the service name.
Finally, Workflow Management
Process Variant Configuration
We have the concept of process variants which helps to build LCNC version of the process template. We can build multiple process variants and differentiate them using Start conditions.
The approval step can be used multiple times – thereby giving flexibility to have multi-level approval process in place.
If you have a business scenario, where you must conditionally skip one approval process – don’t worry, it is also taken care by providing ‘Conditions’ functionality at the approval step too.
They are invoked at right spots – for determining approval strategy, determining approvers, determining due date for approval steps and of course, for Sales Order validation rules.
What I like the best is : the approver determination strategy where there is a possibility to find approvers externally. In this scenario, the workflow is modeled to call Cloud Integration flow, where you can build complex determination logic. This one is Awesome ! 🙂
- Live Process packages in Workflow Management are great starting points to bring your business process execution on SAP BTP.
- Many of the packages are also using Event Driven architecture, thereby decoupling the extension requirements.
- There is lot of flexibility in customizing your process variants for live processes using LCNC mechanism.
- Business rules provide greater flexibility in modeling the decisions and decoupling application logic from decision matrix.
- Lastly, I have enrolled for openSAP course on SAP Workflow Management. Have you ?