Cloud Platform Workflow: Your Quick-Start Guide
If you haven’t tried out the SAP Cloud Platform Workflow Service you really should. It’s simple, and easy to use even if you don’t have a background in SAP Business Workflow (disclosure: I don’t). Read on if you want to learn what it can do for you and if you want some tips to get you productive faster. I won’t dwell on the basics and setup so you may want to refer to the references section first for some introductory reading.
Here’s a guide to this blog series, in workflow form of course
What does it do?
The Workflow Service can interact with the world by making service calls (e.g. OData), by creating user tasks that users can see in their Fiori My Inbox app and by sending emails.
On my current project I’m building a request/creation form for new projects. My customer (a professional services firm) wants an approval process that has an optional first round, a mandatory second round and a third round that is applicable depending on the contents of the request (i.e. is it higher risk?). Once the request has received final approval I need to create the following objects in S/4HANA Cloud: One or many customers, one or many projects (that will be linked to one of those customers) and also some Custom Business Objects. There could be 100 projects linked to 100 matching customers!
Not only has the Workflow Service been able to do everything I need, I’ve found it intuitive to use and I got up to speed very fast.
The service has been available on the Neo environment of SAP Cloud Platform for some time and was released on the Cloud Foundry environment this month. I’ve been using the Neo version exclusively so that will be the focus of this post.
Why do I need workflow?
Workflow is great for asynchronous business processes. In my case the key requirements were the approval process and the creation of the projects. With the former we need to wait for the approver to review the form and approve or reject. With the latter we can’t make the user wait while we create 100 customers and 100 projects in S/4!
In my personal experience workflow has been somewhat under-used. SAP Business Workflow (as found in Netweaver systems like S/4HANA and ECC) development is considered a specialist skill and because resource isn’t always available teams sometimes don’t use it when they should. As a consequence they end up compromising on user experience (UX) and/or doing more custom development than necessary.
For example, I could put up a busy indicator in my UI5 app, and make my user wait while we create all those objects in S/4. That would compromise UX.
What’s great about the Workflow Service is that it makes building workflows much more accessible.
Are you familiar with RESTful services, like OData? If so, you are ready to write Service Tasks. Have you ever sent an email? Well, I’m sure you could write an Email Task.
What’s so great about the Cloud Platform Workflow Service, anyway?
- The workflow service integrates well with the tools I’m already using on Cloud Platform. I build the workflow in Web IDE, the user tasks appear in the Fiori My Inbox and I can build a custom UI5 app to display when the inbox item is opened. The service tasks can call RESTful services like the OData services that are sprouting all over the ‘SAPverse’. We can use GIT for source code management.
- They didn’t go crazy on the scope. It doesn’t take long to read through the help pages and at first I thought it seemed quite limited. However, you have just enough in your toolbox to get the job done. By limiting the scope the team made the Workflow Service fast to learn and I’m sure it contributed to the reliability, too.
- You aren’t limited to OData services. You can call more or less any service which supports the application/json content type. That means there are a lot of things your workflow can do.
- You get the Monitor Workflow admin apps. With these you can track a workflow instance and also create new test instances.
- If there is an error in your workflow it stops in its tracks. Perhaps there is an issue with an OData service or with the master data. After fixing the service or the data you can retry the offending task and the workflow will pickup exactly where it left off.
- I found it very intuitive. There are two ways to add components: the palette on the left and the speed buttons which appear against each control. Just plug the components together and you have a workflow. You’ll get error messages (in Web IDE) if you’ve missed something out.
- I can arrange my workflow controls (e.g. tasks) however I want and Web IDE won’t re-arrange it unless I ask it to. This is important because it’s easier to understand the workflow if components can be grouped logically, and if we don’t have long flow lines going everywhere.
- As well as the graphical Workflow Editor we can access the Code Editor too. The latter shows the source file which gets updated every time we make a change. If we edit in the Code Editor we can see our changes in the Workflow Editor and vice versa. It’s easy to track changes to the code using GIT.
- There is a published API that we can use to interact with the Workflow Service. To be more precise we have two. The Task Consumption Model (TCM) is a RESTful service (but not an OData service). It’s the one that the Fiori Launchpad and My Inbox app use to count inbox items (task instances) and get details of a particular task. The Workflow OData Service is much more extensive. It can be used to create new workflow instances, for example.
Are you keen to get started with the Workflow Service? Would it fit a requirement you have? I’ve collated some tips to help you get started. Check them out.
You may have noticed that I’ve become a bit of a fan of the Workflow Service. Even so, I’ve thought hard to come up with some suggestions for SAP to make it even better.
The SAP Cloud Platform site has a Workflow Service Page with a link to the technical documentation homepage, ultimately leading to the SAP Cloud Platform Workflow in the Neo Environment Overview page.
I presented a session on the workflow service for the SAP Online Track event in May 2020
I wrote about creating a Fiori app to edit workflow context variables
I highly recommend DJ Adams‘ series Discovering SCP Workflow. DJ explores the service in detail and there’s a lot to learn just by following DJ’s investigations and how he goes about learning the nuts and bolts of the service
Archana Shukla has written many blogs including on Using Business Rules in SAP Cloud Platform Workflow
Murali Shanmugham wrote a nice introduction piece as well as a series entitled Implementing a user self-registration scenario using Workflow and Business rules in SAP Cloud Platform
Seshadri Sreenivas R produced this overview and more recently has written about How to handle attachments in SAP Cloud Platform Workflow
Alan Rickayzen has written a comparison post SAP S/4HANA Flexible Workflow Overview and Comparison with SAP Business Workflow