cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BUS4101:- Next dynamic approver get method.

Former Member
0 Likes
254

Hi All,

I have a question. We are having a weared problem. We have srm 5.0 workflow which workd thorough a customised matrix. We found situations where approver determination was failing.

We finally found out the situation when approval fails. Its in Bus4101 and the method 'nextdynamicapproverget'. This doesnt return any approver in the fm BBP_WFL_DIN_APPR_BY_RULE_GET. It only sets the flag 'no_further_approval_needed'.

So we have a unique scenario here where it can cause and unexpected result. Suppose we have 2 level approval determination for a shopping cart. Approval list is filled as soon as the Workflow is triggered. Now its waiting for person 1 to approve.

Suppose it waited for 10 days. in the mean time we update the matrix in a way that it became 3 level approval process. So after the first approval it again goes to the step method agin 'nextdynamicapprovalget'. Its gets the flag 'nofurtherapprovalneeded', the value of this flag was supposed to be 'X' after the second approval.

But now since the matrix was changed as I mentioned. the 'X' value of the flag is changed to ' ' . So it will now go for the third step. But the workflow initial had only 2 steps of approvers and now as per the new matrix and the new flag result it became a three step approval system AND THIS IS without the third approver in the workflow.

And we know in Bus4101 the method 'nextdynamicapprovalget' and the fm BBP_WFL_DIN_APPR_BY_RULE_GET doent get the list of approvers and only flag.

So finally the mail is going to everyone. I know we can handle such situations in a rule. But first of all my question is this standard BUS4101 is having some defect if you look at it from my angle.

Looking for a solution with minimum chages. please advise.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Likes

A correction to the scenario of the question above:-

IF approverlist[] IS INITIAL.

CALL FUNCTION 'BBP_WFL_DIN_APPR_BY_RULE_GET'

EXPORTING

IV_TASK = task

IV_OBJECT_ID = lv_object_id

IV_GUID = lv_guid

IV_OBJECT_TYPE = lv_object_type

IV_ACTUAL_APPROVAL_INDEX = 0

IMPORTING

EV_NO_FURTHER_APPROVAL = lv_no_further_approval

ENDIF. " approverlist[] IS INITIAL

The fm in Bus4101 is for if approvallist[] is initial. So I am now changing the assumption of the scenario above. Suppose when the cart is triggered on day1. And its waiting for approval ( for some customised step). We have a customised step which is not for approval but just t6o accept the policy.

And it waited from day 1 till day 10. And now around day 8 the matrix changes from no approval needed to 2 approvals needed.

Thanks,

AC.