on 04-23-2009 10:51 AM
Hello everybody,
we face the following problem.
A shopping cart is created and saved. The approver of the sc shall have the possibilty to change data e.g. the delivery date of an item in the sc. But all fields are greyed out (and no button 'change' is there)
We already set the Parameter BBP_WFL_SECURITY for all the users but no effect ?
Any tips ?
Thank You !
Hi
All depends upon your shopping card status too.
parameter high - awaiting for approval- you may find change tab at the bottom of the cart
hold the cart- you can change the card again by change tab at the bottom of the cart.
plz check it up.
regards
muthu
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Andreas,
I guess you have implemented the SP14 recently, and the BBP_WFL_SECUR_BADI is active.
If the BAdI is active, the BBP_WFL_SECURITY level has no effect.
With the note 1022237 (SP14) the logic of the BAdI was changed:
If the BAdI sets the security level = '0', this won't be reset by default from now. Without this correction, it was not possible so set the security level = '0' within the BAdI till now.
So you either need to deactivate the BAdI, or define a new logic to set the security level.
Regards,
Peter
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thank you all for answering so far,
i debugged it and found, that the code in BAdi "BBP_WFL_SECUR_BADI" starts processing with scenario ="07" during approval of SC. But the function call (see below) is not processed and the new_sec_level is not set, it remains initial.
So, what i have to do is to comment out the "if scenario is initial" and it works as we need it. But i do not understand the sense of this standard implementation even because i did not find any documentation regarding this.
if scenario is initial .
call function 'BBP_PDH_WFL_SECLEVEL_DB_GET'
exporting
iv_user = actual_user
importing
ev_sec_level = new_sec_level.
if new_sec_level is initial.
new_sec_level = 4.
endif.
endif.
Thank you, kind regards
Andreas
Hi Andreas,
please see the standard implementation:
method if_ex_bbp_wfl_secur_badi~set_security_level .
if object_type eq 'BUS2121'.
*** This BADI is called in two main scenarios:
*** 1) To determine if the business object could be changed. The
*** variable scenario is filled in this case.
*** 2) To find out if the workflow should be restarted ( in
*** case of security level "medium" this depends also from
*** starting conditions.
*** The variable scenario is initial only in case 2)
* if scenario is initial .
call function 'BBP_PDH_WFL_SECLEVEL_DB_GET'
exporting
iv_user = actual_user
importing
ev_sec_level = new_sec_level.
if new_sec_level is initial.
new_sec_level = 4.
endif.
* endif.
endif.
endmethod.
Regards,
Peter
Hi Peter,
looks quite interesting,
in our standard implemetation the if-clause is not commented out (or did you already change it ?) ! We are on SAPKIBKT14.
Original looks like this:
method if_ex_bbp_wfl_secur_badi~set_security_level .
if object_type eq 'BUS2121'.
*** This BADI is called in two main scenarios:
*** 1) To determine if the business object could be changed. The
*** variable scenario is filled in this case.
*** 2) To find out if the workflow should be restarted ( in
*** case of security level "medium" this depends also from
*** starting conditions.
*** The variable scenario is initial only in case 2)
if scenario is initial .
call function 'BBP_PDH_WFL_SECLEVEL_DB_GET'
exporting
iv_user = actual_user
importing
ev_sec_level = new_sec_level.
if new_sec_level is initial.
new_sec_level = 4.
endif.
endif.
endif.
endmethod.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.