Skip to Content
Technical Articles

Cloud Platform Workflow: Possible Improvements

I’m a big fan of the Workflow Service. Even so, I’ve thought hard to come up with some suggestions for SAP to make it even better. This post is part of a series on the Workflow Service.

  1. It should be easier to start workflow B from workflow A.  I decided to split my workflow into two as it’s quite complex and contains a large number of objects.  The first workflow handles approval (that’s my workflow A). At final approval I start the 2nd workflow and it handles the creation of objects in S/4HANA Cloud (that’s my workflow B).  The only way I could see to start the 2nd workflow was just to add a service task and call the Workflow API.  This means I have to handle to security aspect myself.  Couldn’t we just have a new object in the palette to start a new workflow?  We could just list the definition name and a variable containing the new context.
  2. There are quite a few fields to fill in a Service Task and often there are multiple ones with similar values.  It would be great if I could copy and paste Service Tasks (and maybe User Tasks too) in the Workflow Editor.  Sure, I can do this in the Code Editor but it’s a little bit awkward.
  3. In the absence of a copy/paste for tasks I often switch between tasks to copy individual properties.  It’s annoying that Web IDE always shows the first tab (‘General’) of the properties for that object, regardless of which tab you had selected previously.
  4. The path value in a Service Task is often quite long but the field in the properties tab is only a single line.  It would be much better if this was a text area with wrapping so that we could see the whole path and we wouldn’t need so much horizontal scrolling.
  5. In a Service Task there’s a wizard for connecting to a standard service in the API Business Hub but this never works for me.  To be specific the search never returns any results
  6. Why is 1 minute the shortest duration before a boundary timer is triggered?  If 1 second was allowed it might make certain scenarios easier (e.g. sending an email notification immediately after a User Task was created).
  7. With the Code Editor I can see a section called com.sap.bpm.wfs.LastIDs.  This doesn’t seem to get updated when you delete objects in your workflow and on occasion it needs manually editing to prevent errors.
4 Comments
You must be Logged on to comment or reply to a post.
  • Hi Mike,

    first of all, thanks for your excellent blogs and the suggestions.

    1. We plan to support sub-processes in the future, so you can easily structure your workflows into multiple parts, which are all linked to a main workflow definition. Calling the sub-flow will be very easy (just define the target workflow).

    2. and 4. This is something we will explore.

    5. This is a bug which just recently creeped in. It will be fixed with the next update.

    6. This is because in the Workflow service we use a job to check for boundary events to be triggered. The job only runs every 20-30 seconds or so for performance and scalability reasons. So timer intervals of 1 second would not make any sense.

    7. This property is used for auto-naming of new model elements. It is automatically updated by the graphical editor and will always keep the highest ID used in the workflow. That is because we do not want to have new task elements which re-use the ID of a previously deleted model element.

    Best Regards,
    Christian

    • Thanks for your response Christian. Sub-processes sound great.  Will that be released to both the Neo and Cloud Foundry environments?

    • Hi. Christian.

      Is there any pipeline for “Dynamic parallel” and “substitution”?

      These two functions are really common in my business scenarios.

      Thanks a lot.

      BR.

      Louis Huang.

       

       

    • Hi Christian,

      are there any news regarding the implementation of sub-processes in CP Workflow?

      My company would be very much interested in this feature, especially if it was possible to run multi-instance sub-process in parallel.

      Regards,
      Fabian