on ‎2015 Sep 03 1:16 PM
Hi,
I have some carzy requirement. we have implemented PCW for SC ( item based partial approval type). In some scenarios there is a possbility that apporvers might repeat for certain steps. for example
level1 - user1
leve2 user2
level 3 user 1
level4 user 4
in this case what I want is, I want to remove level 1. How do I do this?
thanks
Request clarification before answering.
Hello,
i advise you to challenge your customer regarding his request...
Logic you describe obliges to check, for each level, if determined approvers could make part of next approval levels. This could be done for only two or three approval levels, but for more than 15...
Regards.
Laurent.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello sankara rao bhatta ,
I had a same problem with the workflow . Moreover it when same user is having dual roles then Workflow start repeating . We have been using ACW so I did the code change in the BADI BBP_WFL_APPROV_BADI for method GET_REMAING_APPROVERS. Under this you need to find method get_approval_hier_line , then under this method you need to find method get_appr_hier_format_ln_item . Under this method you can code your requirement before the approval_table is getting filled and after the table where all the approvers are picked everytime . For my case it was lt_appr_frmt. This part will help you to overcome the looping issue with dual role .
Moreover if you are only looking to delete the level1 at run time then you need to code in FM BBP_WFL_DIN_APPR_CONTAINER_GET as this is the standard FM so you can do your enhancement over there . Check when you table lt_cont_approver is getting filled . Once its filled then you can delete the approvers at run time . I have coded that as well . Just sort and delete duplicates .
Cheers
Gaurav
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sankara,
I am not sure if at WF level we can skip this by some standard approach, but you can achieve this by custom logic as below:
check at runtime during Approver identification that if a particular approver is repeating, skip the current level or let it be approved by default/system.
Warm Regards,
Shyam Agrawal
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sankara,
We can achieve this by evaluating level-1 & level-3 together(at evaluation of level-1) and check if approvers are same, then skip level-1.
do not pass info about level-3 to the system at this stage.
Again, that may not be the best possible solution, just trying to suggest approach based on logic.
Warm Regards,
Shyam Agrawal
hi Shyam,
I have just given 4 level example. In reality we have more than 15 levels. I don't know where the duplicates will come. So in your sugested approach, at each level I have evaluate all the below levels. I think it is not good approach. Is there any class that I can use to remove it based on level guid?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.