on 05-25-2006 1:49 AM
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
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.