Skip to Content
Author's profile photo Former Member

How to Configure Custom Workflow for FIORI Approve Purchase Order

First of all, I would like to thanks to Masayuki Seikihara.

This post began from Fiori Implementation for PR, PO and PC Approval. As we figured, our client copied SAP Standard workflow scenario and standard task using Business Object Repository (BOR). Intially, we configured using generic Approve Request scenario and it loaded the desired workitem but buttons for approval and reject were missing. Re: Decision Step for Custom WF Approve PO

This documentation is companion on How to adjust custom workflow templates for SAP Fiori, and an elaboration to step 3 (Compare the workflow templates and the approval task container), to give a clue how Fiori handle workflow and how our custom workflow should follow.

Notes : This documentation is only applicable if you have followed step 1 (using standard task) and Fiori App works just fine.

1.    Make sure the triggering event for your custom workflow is active

We found that our workflow inactive (SAP Notes 0001906769) due to some error. To check your workflow is working and the event is being triggered check via tcode SWI1 and SWI2_FREQ.

SWI1 Work Item.png

If you found the event is not triggered, you can re-activate it either configured via tcode SWETYPV or PFTC. Make sure the event linkage is ticked (SWETYPV) or the status is green (PFTC).

2. Configure Approval App by using Non-Standard Task.

After you manage to run Fiori App by using standard task, change to your custom task and run the Fiori App.


Insert your custom task here.


Based on our experience we encountered some errors due to mismatch elements binding WF to task.
Binding Error.png

3.    Compare the workflow templates and the approval task container.

    1. Binding Step Validation

Our customer workflow has 2 Business Object Repository BUS2012 an ZBUS2012.

Binding Step.png

The binding element in WS9XXXX and WS2XXXXX is not the same, it doesn’t have element &_WI_OBJECT_ID&. FioriApp will get mapping between WorkItemID to this element, and get PONumbers as key to get the remaining details in Header and Item.

I am trying to bind BUS2012 (&PurchaseOrder&) to &_WI_OBJECT_ID& but always have zero value as it

not instantiated.

      2. Subtype Delegation

Another 10 Common Mistakes made by Workflow Beginners, we found every subtype of BOR has to be delegated to its super class. It resolves BUS2012 binding problem. After delegating BUS2012 to ZBUS2012

Then incompatible error is resolved.

    Delegate 01.png


          3. Workflow Log checking.


Please make sure Work Item Object is not empty via tcode SWI1. FIORI App will consume Work Item as input for FIORI Application


4. Test the Fiori app with your custom workflow template after adjusting the container elements.

I follow guidance without any issues.


5. Set external breakpoints and find the root cause.

    It works fine for me.


Deny Dafid

Assigned Tags

      1 Comment
      You must be Logged on to comment or reply to a post.
      Author's profile photo Masayuki Sekihara
      Masayuki Sekihara

      Thanks for sharing a real example. It helps other customers to do similar steps.