SAP Cloud Workflow meets SAP Cloud Integration – An end to end scenario
Inspired by the blogs written by Christian Loos and Fabian Lehmann, thought I will give the SAP Cloud Workflows a try.
Please find these blogs here.
Blog by Christian.
Blog by Fabian.
In this blog, I would like to share my experience of implementing a SAP Cloud based solution for the following scenario.
- An external system sends a Sales Order to one of the iFlows running on our SAP Cloud Platform Integration (SCPI).
- SCPI transforms the message into my On-Premise SAP ERP System and if all is well and posts the message to SAP ERP.
- If there is any error transforming the message, SCPI triggers the exception handling, which will trigger a SAP Cloud Workflow.
- This workflow will then send a Human Task to one of the Reviewers.
- The Reviewer, logs into Cloud Fiori Launch Pad, opens his Task, to view the details.
- He can either tell the workflow to cancel this request (end of workflow) or
- tell the Workflow to Reprocess the request.
As we can see, in this scenario everything is done on Cloud.
Going into the technical details:
There are two iFlows in this scenario.
- For Processing the Sales Order
My iFlow has a HTTPS sender and a Mail Receiver.
A Message Mapping and a Value Mapping to transform the Data
Exception Handling Process, which calls another iFlow to trigger the SAP Cloud Workflow via HTTP Request Reply
2. To trigger a SAP Cloud Workflow
This iFlow has a HTTPS sender and a HTTP Receiver (Cloud Workflow System)
It first fetches the X-CSRF Token using a Request Reply
Then it Prepares the Body / Payload required by my Cloud Workflow
Then it has a Script to Add some cookies required by Workflow and finally
Does an HTTP Post to Cloud Workflow.
SAP Cloud Workflow side:
Create a new Workflow, Add a Human Task Step and other required artefacts.
From the UI Side:
I have created a UI5 App which I reference in the human step of the workflow
After I login to my SAP Cloud Portal, I add the out of the box, SAP Provided Tiles (for monitoring the Workflow Runtime instances, Monitor Workflow Definitions and an Inbox to access the Tasks).
Finally I can complete the workflow tasks via My Inbox
I hope this blog helps you to understand how system and human centric integration can be combined to ensure businesses are able to operate in Real-time.
Always good to see contributions from the community, and a good use case for workflow!
Thanks for sharing,