SAP Knowledge Base Article - Public

2544336 - Custom MDF workflow and its behaviors depending on Pending Data = Yes/ No.

Symptom

  • For custom MDF portlets, the Approver cannot edit/update the data in workflow request.
  • Workflow approver cannot see the Update button.
  • Unapproved data in custom MDF object getting saved/ visible before the approval from Approver.
  • Approver cannot update the fields in workflow request.

"Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental."

Environment

  • SAP SuccessFactors HXM Suite
  • Metadata framework (MDF)

Reproducing the Issue

  1. Create data for custom MDF object and click Save, which will generate approval process. (Keep note of whom the approvers are)
  2. Click Confirm.
  3. Proxy as Approver and see the requests pending for your approval.
  4. No "Update" button on the approval screen. Only "Decline" and "Approve" buttons are there. Fields in the request are not editable to approver.

        5.png

Cause

There can be two configurations, which can result to this behavior:

1) "Edit transaction" set to "No Edit" in the workflow attached to the object.

    To check this Go to Admin Center -> Manage Organization, Pay and Job Structures -> Select Workflow from left drop-down -> Select the desired workflow

        6.png

2) "Pending Data" set to "No" on the object definition.

      To check this Go to Admin Center -> Configure Object Definition -> Select "Object Definition" from the left drop down -> Select the desired object.

        10.png

Resolution

If the approver is required to be able to edit/update the data in the workflow request.

1) "Edit transaction" should be set to either "Edit with Route Change" or "Edit without Route Change" in the workflow attached to the object.

      7.png

      23.png

2) "Pending Data" should be set to "Yes" on the object definition.

      12222.png

3) Then the approver will have option to Update and edit the fields in the request.

      17.png

Please note:

1) If you set the Pending Data = No, it means that data will be saved without the approval from the Approver. Approver will not have the "Update" button, and he/she won't be able to make any changes in the data in the request. Whatever decision approver takes (Decline or Approve) will not have any impact on the data.

Buttons available to approver = Only "Decline" and "Approve".

2) If you set the Pending data = Yes, it means that data does not get saved until the workflow request is approved. No more records can be created for the same object until the already pending request is approved (see KBA 2583967 for more info). If the approver approves, then the data will get saved, otherwise if he/she Send back the request, data will be removed from the system and then new request can be created.

Buttons available to approver = "Update", "Send Back" and "Approve"

3) The data which is pending for approval, will only be visible through History and there will be no option to edit that.

      13.png

       14.png

4) Additionally, a message "This is non-actionable (To be approved) record" will appear on the data that is pending for the approval in V12. In PP3 the message might look slighlty different

       30.png

NOTE:

1) Admin has to either approve the already pending request or manually cancel it, if new data needs to be created for same externalCode/User

2) The setting of Pending Data on object definition cannot be changed while there are workflow request of those type of data still pending. This is because system cannot deal with old requests if Pending Data is changed and it will cause the existing workflow request/ s unable to be approved or declined successfully.

This can lead to other problems too:

For example: 

Let's say that you're performing Instance sync (MDF Configurations) and the 'Pending Data' setting of Position definition on the source is Yes, whereas on the target it is No. It will mean that sync will attempt to change Pending Data from No to Yes on target instance. In this case, problem will occur if on target instance, there are pending workflow requests of Position data. It will hence prevent the change of Pending Data and the sync of Position definition will fail.

Note :

1.In WF if the step has been set as 'edit with route change' , for this case , a new workflow request will be re-triggered after the approver update the original workflow request.

2.In WF if the the step has been set as 'edit without route change' , for this case , the current step will be skipped after the approver update the original workflow request.

The current behavior is expected , if customer would want to re-trigger the workflow after approver update the data, should use 'edit with route change' instead of 'edit without route change'.

See Also

Keywords

Custom MDF, Workflow, Pending Data, Approval, Edit, custom MDF, workflow routing,  non-actionable, Edit transaction, Edit without Route Change, workflow, Update, Send Back, Approve, Decline, Approve , KBA , LOD-SF-MDF-WFL , Custom Object based Workflows , LOD-SF-EC-WFL , Workflows - Configuration, Tools, Objects & Rules , LOD-SF-MDF-OBJ , Object Definition & Field Related Issues , Problem

Product

SAP SuccessFactors HCM all versions