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.
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.
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.
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.
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
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.
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.