cancel
Showing results for 
Search instead for 
Did you mean: 

Shopping cart approval - shopping cart not changeable

Former Member
0 Kudos

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 !

Accepted Solutions (1)

Accepted Solutions (1)

former_member183819
Active Contributor
0 Kudos

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

Former Member
0 Kudos

Hello Muthu,

we made the settings accordingly, but no effect ...

former_member183819
Active Contributor
0 Kudos

Hi

What is the status of your cart? after seting the parameter high. did you logoff the system?

what are the steps you have done? expalin if you did not get the change tab.

regards

muthu

Answers (1)

Answers (1)

peter_novoth
Active Contributor
0 Kudos

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

former_member183819
Active Contributor
0 Kudos

Thanks Peter.

Former Member
0 Kudos

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

peter_novoth
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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.

peter_novoth
Active Contributor
0 Kudos

Hi Andreas,

sorry, you are right. The coding was changed internally (the same solution what you also made).

Asking the

"if new_sec_level is initial"

doesn't make sense, cause it is never initial.

Regards,

Peter

Former Member
0 Kudos

Thank you Peter,

i just tested the approval with the active Z-implementation of the BAdi and the different BBP_WFL_SECURITY levels in the approvers personalisation. It now works as expected.

Kind regards

Andreas