Hello All,
I configured flexible workflow for purchasing document and implemented BADI for PO release.
Even with example code ( below), PO is getting released by first level approver and not giving subsequent agent any chance to review. Please let me know how can all level steps be followed? Here is sample code:
DATA:
ls_badi_approver TYPE if_mmpur_workflow_agents_v2=>bd_mmpur_s_badi_approver,
lt_badi_approver TYPE if_mmpur_workflow_agents_v2=>bd_mmpur_t_badi_approver,
ls_previous_approver TYPE if_mmpur_workflow_agents_v2=>bd_mmpur_s_previous_approver,
ls_new_approver TYPE if_mmpur_workflow_agents_v2=>bd_mmpur_s_badi_approver.
* define the list of BADI approvers
* ----- Approval Level 1
ls_badi_approver-businessuser = 'CB9980000016'.
ls_badi_approver-approvallevel = 1.
APPEND ls_badi_approver TO lt_badi_approver.
* ----- Approval Level 2
ls_badi_approver-businessuser = 'CB9980000134'.
ls_badi_approver-approvallevel = 2.
APPEND ls_badi_approver TO lt_badi_approver.
* remove the previous approvers from the list of BAdI approvers
LOOP AT previousapproverlist INTO ls_previous_approver.
READ TABLE lt_badi_approver INTO ls_badi_approver
WITH KEY businessuser = ls_previous_approver-businessuser.
CHECK sy-subrc = 0.
DELETE lt_badi_approver WHERE approvallevel = ls_badi_approver-approvallevel.
ENDLOOP.
* determine the next approval level and appropriate approvers
READ TABLE lt_badi_approver INTO ls_badi_approver INDEX 1.
LOOP AT lt_badi_approver INTO ls_new_approver
WHERE approvallevel = ls_badi_approver-approvallevel.
APPEND ls_new_approver-businessuser TO approverlist.
ENDLOOP.
Regards,
Aayush