cancel
Showing results for 
Search instead for 
Did you mean: 

Function module to read Shopping cart

Former Member
0 Kudos

Folks,

The answer I am looking for is not BBP_PD_SC_GETDETAIL.

Here is the situation: During the approval process, the approver needs to be able to change few fields. So, i used the secur_badi to give him a "Change shopping cart" button. But, when he hits the change, all the fields on the shopping cart are available for change. So, this guy could monkey around and change some of the fields he is not suppose to change and I need to catch this in the check badi.

So, I started using the BADI "BBP_DOC_CHECK_BADI" and used FM 'BBP_PD_SC_GETDETAIL' to get the shopping cart details. But, this gives me only the PRESENT values on the screen ... and I need to compare it with the shopping cart values in the database. Is there any function module that could help me here?

The idea is to compare field by field and throw an error if he chnages the fields he is not supposed to chnage. (ugly ha!)

Thanks

Sri

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Sri,

What i feel is that BADI BBP_DOC_CHECK_BADI allows you to throw the error messages but you need to use the BADI "BBP_DOC_CHNAGE_BADI" to check first if the current values in the SC item table is changed and if so use the BADI "BBP_DOC_CHECK_BADI " to throw the corresponding error.So you will need to use both the BADI's....

Hope this helps.....If further more help required do let me know...

Regards,

Disha.

Pls reward points for helpful answers.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Sri,

You are right, calling BBP_PD_SC_GETDETAIL during the user session will retrieve the data in user session memory, and not the physical one stored in the database.

So you have 2 solutions:

- check each field value against physical value in DB: direct SQL access in SRM tables (CRMD_ORDERADM..., BBP_PD...)

- change the PBO modules "modify_screen" of each SC screen to close wanted fields if sy-tcode = SC aproval TCODE. this would be eased if a BADI was available for SC screens (like BBP_UI_CONTROL_BADI).

I prefer the 2nd one.

Rgds

Christophe

Former Member
0 Kudos

Thanks guys for the input. The answer came from Ram, the guy who sits in my next cube - BBP_PROCDOC_GETDETAIL

This FM gives the values from the database, whereas the BBP_PD_SC_GETDETAIL, gives the stuff on the screen. I could use this in the Check BADI to thorw an error message. Thanks for your support again.