ECC PR to SRM SC flow in PDP Scenario – A Technical Perspective
In the recent times clients with whom I have worked are having the PDP Scenario where ECC PR will be to converted to SRM SC or SRM RFx via PI / ESOA as middleware.
So in this blog, I am sharing some technical details on the flow between ECC to SRM, i.e. ECC PR -> SRM SC. I will be sharing the general details, after which will share the specific custom requirements implemented for this flow .
1) This is my first blog on SCN and I have mainly written this from a SAP SRM Technical Consultant perspective, so if you find any issues/concerns. ,
kindly share with me, so that I can learn and correct it.
2) This blog is applicable only if PI/ ESOA is used as Integration component.
ME_REQ_SOURCING_CUST – Customize your sourcing requirements.
As a part of this flow, the customizing BADI “ME_REQ_SOURCING_CUST” which is belong to the Spot “ES_BADI_ME_REQ” to be implemented, which will help to decide if the ECC PR should move to SRM as external requirement or should be processed in ECC itself or if the PR should move automatically to SRM or it should be moved Manually using SPPR/CPPR application.
Below is the SPOT and BADI details.
This BADI has two important methods, which will control the ECC to SRM flow.
This method used to activate the “External Sourcing” in ECC, which automatically trigger the SC Proxy message when a PR get saved/ released.
This method is mainly used when Manual/ Automatic RFx/ SC needs to be created in SRM using SPPR / CPPR applications, as its not required in this scenario , So I will explain in details when writing on SPPR/ CPPR applications. Below is the screenshot which shows the method Signature.
PI/XI Messages used for the flow.
PurchaseRequestERPSourcingRequest_Out – ECC Side.
PurchaseRequestERPSourcingRequest_In – SRM side.
BADI “PUR_SE_PRERPSOURCINGRQCO_ASYN” to handle custom changes at ECC side.
If PI message will be used as communication channel between ECC and SRM systems, to carry out custom changes, SAP has provided BADI in Enhancements Spots, both at ECC and SRM.
For the scenario considered, we need to use the BADI “PUR_SE_PRERPSOURCINGRQCO_ASYN”.
Enhancement Spot : PUR_SPOT_SE_PURCHASE_REQUEST.
In this BADI we have to leverage the method “OUTBOUND_PROCESSING” to change the outbound data. This method will have “Purchase Requisition” Header and Item data as “Importing parameter” and Proxy data as “Changing Parameter”.
BADI “/SAPSRM/BD_SOA_MAPPING” to handle custom changes at SRM side.
To handle the custom changes at SRM Side, SAP has provided BADI “/SAPSRM/BD_SOA_MAPPING”, which is the Enhancement Spot “/SAPSRM/ES_SOA_MAPPING”.
BADI “/SAPSRM/BD_SOA_MAPPING” is generic in nature with filter. i.e, This BADI can be used for Shopping Cart or RFx, at Header Level or at Item level, depending upon our requirements.
Below is the Filter settings. BO_TYPE will decide the “OBJECT TYPE “ like SC , RFx..etc and “SET_TYPE” defines Header or Item level .
Ex : BO_TYPE = ‘BUS2121’ (Shopping Cart).
SET_TYPE = ‘06’ (Item).
In this BADI we have to leverage the method “MAP_XI_TO_BACKEND” to receive and update the inbound data to SRM system. This method will have the Proxy Data as “Importing Parameter” and SRM Backend data as “Changing Parameter” so that on the basis of incoming ECC data , programmer can change the SRM Data.
Note: As we are aware this is a generic BADI, because of which “type” of the parameters are dynamic, which means, the types will be decided at the run time .
For our scenario i.e, from ECC PR to SRM SC , the system will take the type “/SAPSRM/PUR_REQ_ERPSRCG_REQ_I1” .
With this much information , am ending my first ever blog on SCN 🙂 and will share an example of custom requirement “Changing SRM Shopping Cart “Requester” from ECC PR creator via SAP PI / ESOA” ,which can be achieved by using the above details.
As mentioned before , its my first blog , any issues/ concerns. kindly share your thoughts , so that I can correct myself 🙂 .
Thanks for the post it helped a lot.
I have one query. In SC Additional fields scenario how to save additional fields in the SRM database tables bbp_pdhsc and bbp_pdisc? How to do this in the badi ?
i am not getting solution after implemented BD_SOA_MAPPING badi in ECC system break point triggered on PI RFC user and NOT ANY BREAK POINT triggred in ECC system after implement PUR_SPOT_SE_PURCHASE_REQUEST BADI. Requested to share document with me.