cancel
Showing results for 
Search instead for 
Did you mean: 

security badi for rejected line items

Former Member
0 Kudos

Hi there,

SRM 5.0 SP10 EC scenario

we have implemented BADI BBP_WFL_SECUR_BADI to change the security user. This BADI will change the security level “LOW” to trigger the workflow. The workflow will trigger for shopping cart if any change in rejected line item by approver.

The problem is, While doing changes in rejected line item changes are not reflecting to net value , while after pressing 'check' button of shopping cart meaing that the total is not added up even if we change price or the quantity of the rejected line.

But it’s reflects the changes when ordered the shopping cart.

any idea...

Accepted Solutions (0)

Answers (2)

Answers (2)

khan_voyalpadusman
Active Contributor
0 Kudos

Hi,

Following is the issue here.

1) there will be one flag ---> rejection flag set to the shopping cart item which has been rejected.

because of this flag which is set ---> system will not consider any changes done to this rejected line.

you can check out using

1) transaction se37

2) Function module --> BBP_PD_SC_GETDETAIL.

3) Run the function module with the shopping cart number as input

4) have a look at the table ET_ITEM for the rejected line

you will see the following details filled in

DEDUCT_IND

REJECT_WI 000000000000

2) so it is system design --> that the rejected line should not be changed by the approver and it will not be considered.

3) solution is --> check wether the partially apprroved cart is with the creator --> in his inbox.

there the requestor has to order the cart again.

Former Member
0 Kudos

Hi there,

You are right, the baid is not handling the change part, as you wrote we are in step three where the cart is came back to the creater, creater / shopper is changing the quantity/ value of the rejected item but this rejected line is not updating the total value of the SC when you click on 'check' but the same changes are visible once you 'order' the sc.

so in first palce why it is not showing when click on ' change' do I need to use any other badi or Fm to pull the change data here....

Regards

SRM

khan_voyalpadusman
Active Contributor
0 Kudos

hi,

1) when you press on 'check' it will not update anything --> it will only check for any missing fields --> and gives error messages if any.

2) have you tried --> reresh button --> that is available, even this i am not sure wether this will work

3) only --> when you order the cart --> does the update happen ---> the flag which i was talking earlier is removed --> and so is further considered

please check out the above option (2) and let me know the system response.

Former Member
0 Kudos

Hi,

thx for update but no luck..even the refresh button is not refreshing the cart...yaa when I press order the system updates the changes...

can we use an we use this FM BBP_CHANGE_DOC_GET_NEW of badi zBBP_DOC_CHANGE_BADI to pouplate the changes...

and call the same in security badi..

regards

Former Member
0 Kudos

Hi expets,

any view on this....Change is not recognizing for the rejected item of the SC in badi bbp_wfl_secur_badi :-((((

is there any sceanrio for 'check' or 'refresh' which needs to be handled in badi...anybody faced this problem before...

khan_voyalpadusman
Active Contributor
0 Kudos

hi,

i have found out the place where the update happens and also why the update does not happen in the case of rejected items.

update happens at the following code

program ---> saplbbp_sc_app

subroutine --->sc_items_update

please have a look at subroutine ---> you will find the following code

LOOP AT cs_document-item INTO wa_item

WHERE action EQ c_insert OR

action EQ c_update OR

action EQ c_delete OR

action EQ c_direct_proc OR

action EQ gc_copy.

In the case of rejected items ---> action EQ c_update is not filled and so further update does not happen.

in the case of normal items --> action EQ c_update is filled and so update further happens in the function 'CHECK' also..

saplbbp_sc_app

item_update.

I Am afraid , this looks like standard system behaviour --> where in the update for the rejected items happens only after you order the shopping cart.

if you dont order the cart --> and just press the button 'check' (or) refresh, the system will have still flags --> set ( rejected workitem and deduct_ind) ---> and so this is not considered further..

Edited by: khan voyalpad usman on Jan 18, 2008 11:15 PM

Former Member
0 Kudos

Hi khan,

excellent work..thx a lot for the same....

as this is standard SAP behaviour ( code) do you suggest me to write to SAP for this and take there feedback in terms of OSS note.

AS I have search OSS note for this and could not find any. As a normal process I would expect the price change after click ' refresh'

khan_voyalpadusman
Active Contributor
0 Kudos

Hi,

Yes , it would be better if you can take advice from SAP regarding this.

Might be they will come up with suggestion (or) might be a note for this issue.

normally , refresh should update the prices --> but behaviour sometimes is different for rejected items.

regards

Former Member
0 Kudos

Thx for pointing in the right direction......

Former Member
0 Kudos

Hi Khan,

just an update for you, I ahve raised an OSS message and got hte following reply.

we tested in your systems and we found that in function

bbp_pdh_total_value_calc the total value is not updated because

iv_item_deduct_reset is initial.

We are still working on this issue and is very usefull to know

why this field is empty because in our systems has 'P' value.

Do you know why this field is empty in rejected items?

                  • standard code in function bbp_pdh_total_value_calc *********** * loop over all items which are not deleted or rejected

LOOP AT it_item WHERE del_ind IS INITIAL.

IF it_item-deduct_ind IS INITIAL OR

iv_item_deduct_reset = gc_yes OR

( iv_item_deduct_reset = gc_partly AND

it_item-changed_by = sy-uname ).

      • in case of partial rejection only changed items

      • are not deleted after executing the workitem

Do you have some idea regardign the question asked by SAP .wahts the 'P' value also

regards

SRM

Edited by: SRM Support on Jan 25, 2008 12:28 PM

khan_voyalpadusman
Active Contributor
0 Kudos

'P' value suggests partly.

you can see all the values ---> in the

transaction --->

1 ) SE38

2 ) enter --> BBP_PD_CON

3) search for the value --->

gc_partly VALUE 'P',

difference in your system and the SAP system is the way the flag is set.

It is possible to find out why the system sets the flag in such a way --> have to debug the function module

BBP_PDH_WFL_CHECK_DEL_REJ_ITEM

Former Member
0 Kudos

Hi Khna,

Just a quick update reffering to the above problem where total value of the SC is not getting updated for the rejected line. SAP has come up with an OSS note specially relased for this please see the OSS note 1140848.

We have implemeted the note in DEV and QA and working fine.

Cheers !

Former Member
0 Kudos

Hi

We can control this by setting the apropriate value in the SU01 transaction - under the Personalization tab - parameter "BBPWFL_SECURITY"._

You can do this by configuring BBP_WFL_SECURITY.

With the BADI BBP_WFL_SECUR_BADI, method SET_SECURITY_LEVEL, you can change the WF security level determined from role personalization.

In input parameters you have the user ID in ACTUAL_USER, the object ID/Type/Guid, the scenario SCENARIO (see possible values in SE11 domain BBP_SC_SCENARIO).

So with the inbound scenario and the user's profiles, you can determine your own security level and overwrite the standard one.

In export parameter, you have the changed security level NEW_SEC_LEVEL.

http://help.sap.com/saphelp_srm50/helpdata/en/8b/4fa9585db211d2b404006094b92d37/frameset.htm

http://help.sap.com/saphelp_srm50/helpdata/en/8b/4fa9585db211d2b404006094b92d37/frameset.htm

BBP_WFL_SECURITY has following values -

NONE - Not possible to change shopping cart during approval Workflow continues

LOW - It is possible to change the document The approval workflow restarts after each change is made

MEDIUM - It is possible to change the document The system evaluates the workflow start conditions and starts the approval workflow again if the change necessitates a new approval If this is not the case, the approval workflow continues

HIGH - It is possible to change the document The current approval workflow continues

Related useful pointers to go through ->

Do let me know.

Regards

- Atul