Roadmap to transitioning from BDC on ME32K to using RFC for service outline agreements
I recently worked on a project which involved investigating the possibility of getting rid of BDC on ME32K that was being used to create outline agreement. Now that the project is live i am writing this blog to share my experience so that others might use this alternative instead of using a BDC.In this three part blog i will discuss the scope of changes and how to go about implementing them.
Before proceeding with the steps outlined in this blog, I would highly recommend getting familiar with the attached SAP sourcing integration guide ( or get the latest one from sap support portal). Majority of the prerequisites are listed out this document. Moreover, the RFC:BBP_ES_OA_UPDATE is extremely slow for updates, as it need all outline agreement for processing event if you are not changing them ( more details in part 2 Roadmap to transitioning from BDC on ME32K to using RFC for service outline agreements – Part 2 )
Prerequisites:
I must say the process to transition away from BDC is anything but straightforward or intuitive and for us it involved tons of regression testing to finally get the exact same behavior as the BDC.
- Activate switch MM_SFSW_P2PSE using transaction SFW5. This switch is part of business function LOG_MM_P2PSE_1. This business function forms the backbone of integration with SRM/SAP CLM. I recommend consulting with your software licensing department to ensure turning this switch wont have any unwanted licensing implications.
- Implement the following OSS notes ( depending upon current ERP version ), many of these notes have side effects so you need to apply the note which resolves the side effect and hence they go in pairs. These were valid for our ERP system ( Netweaver 7.31 Ehp 5 ), you might need to apply additional/fewer notes based on your current system version.
OSS Note Description 1769023 MEOUT 005: Item category 9 not supported 1811870 Heterogeneous behavior when publishing a Master Agreement 1834156 CCM: SE 377 during the creation of purchase order 1866215 ATC errors in MM-PUR application 1906685 CX_SY_CONVERSION_OVERFLOW in CL_BBP_ES_CONTRACT_UDPATE 1953816 S&041: External currency amount too big – unable to convert 2002974 CCM: Service item contains wrong condition information 2015642 VK 022: Inbound SOA failed with service items(s) 2020259 CCM: Incorrect condition item index for the supplement condi 2023829 Historic condition information are lost when CLM contract is 2032941 Header price conditions are not created for SAP Sourcing Master 2127266 CCM: Central contract change fails with an error message in 2142004 CCM: Scales not created for supplement conditions 2142245 Condition update for Info record result in program termination 2155192 CCM: Condition not updated for the newly added service items - Perform the following configuration Steps as outlined in the configuration guide.
- Create Cross-System Company codes and Business Area (Step 3.2.2)
- In transaction SALE. Choose: Modeling and implementing Business Processes>Global Organizational Units>Cross-System Company codes
- In transaction SALE: Choose: Modeling and implementing Business Processes>Global Organizational Units>Cross-System Business Areas
- Create a Pseudo Vendor
- In transaction MK01 create a pseudo vendor. You must pick an account group that allows an external number range.
- In customizing (SPRO)>Integration with Other mySAP.com components>E-Sourcing>Settings for E-sourcing Integration enter the vendor from step1.
- Create Text IDs for SAP ERP (5.1.5 in config guide)
- Header Texts (In SAP ECC ): SPRO>Purchasing>RFQ/Quotation>Texts for RFQs/Quotations>Define Text Types for Header Texts
- Item Texts (In SAP ECC): SPRO>Purchasing>RFQ/Quotation>Texts for RFQs/Quotation>Define Text Types for Item Texts
- Block Integrated fields from user changes in SAP ERP ( 5.1.6 in config guide)
- Importing field selection keys ESSA and ESCO with their related settings into your system usina a Business configuration (BC) set using transaction SCPR20 and entering BC set BBP_ES_CONTRACT_FIELD_CONTROL and activating it.
- If implementing RFx scenarios check sections ( 5.1.7 and 5.1.8)
- Create Cross-System Company codes and Business Area (Step 3.2.2)
- The RFC – BBP_ES_OA_UPDATE is what encapsulates the logic for creating outline agreements with service line items and service conditions. Logic in the RFC has checks related to steps outlined above hence trying to use it directly without performing the above steps will not work. If you have experi
ence with using BAPI_CONTRACT_CREATE before you should be familiar with the RFC update presented below.
Note the TABLES parameters highlighted below, these are used to pass Service information (Service, texts, conditions, validity periods) during outline agreement creation.
SRV_LINE corresponds to data in ESLL table.
SRV_COND_VALIDITY corresponds to data in A081 table
SRV_COND corresponds to data in KONH table.
Logically when preparing data for calling the RFC: SRV_LINE should be filled followed by SRV_COND_VALIDITY followed by SRV_COND. The attached document shows the mapping between the structure fields ( of RFC parameters noted above) and SAP tables. I did use SRV_TEXT and SRV_COND_SCALE_QUAN but it should not be very difficult to figure out how they are mapped
The next part will cover the following topics:
- How to prepare existing outline agreements for update using BBP_ES_OA_UPDATE
- Enhancement to resolve issues arising from trying to update existing outline agreements
- Enhancements to improve performance when using the new RFC for outline agreement update.
Resources:
Integration Guide ( https://websmp103.sap-ag.de/~sapidb/011000358700000270922012E ).
Hi Vivek,
I am following your Blog, i have same requirement, currently our system have S4HANA ON PREMISE 1809 version(S4Core-103), So can it be work here?
And one more thing,Below link is not working.
https://websmp103.sap-ag.de/~sapidb/011000358700000270922012E
Regards,
Deepak