I spent a lot of time in searching if this was actually possible. Our client did not have a PI system in place and there was this big question if Contracts could be transferred from SRM to ECC without PI . I did a lot of research and finally I was successful in integrating Central Contracts from SRM 7.01 to ECC 6.0 EHP 5 without PI.
Before I start let me give you a background of the scenario we were at our client place. Classic Scenario with Sourcing and Central Contract Management.
Now below are all the steps that are required to get this done.
1.Run the BASIS report SRT_ADMIN_CHECK and have your BASIS team setup the following
a.bgRFC destination is operational
b.bgRFC supervisor destination is registered
c.WSRM event handler is active
d.Task watcher is active
e.Connection Test in Client **** successful
The link below will help the basis team to setup WSRM in the SRM and ECC box.
After the basis team sets up the bgRFC and WSRM the report SRT_ADMIN_CHECK gives the below result
2. Now we activate two (Irreversible Switches) One in SRM and One in ECC
In SRM :
3.ESOA setup in SRM
a.Execute soamanager tcode in SRM
b Under SOAMANGER->Global System Settings Click on Get from SLD in the Service Identified tab to get the business system name ( which is maintained by the BASIS team )
Note: If you dont do the above step then there will arise an issue on Contract transfer from SRM to ECC where in it will look for the Source B usiness system.
c Under SOAMANGER->Global System Settings ->Web Service Navigator tab set up the hostname and portnumber along with protocol information(which you can get from BASIS )
d Under SOAMANGER->Service Administration tab Click on the link Single Service Configuration
e Search by Consumer Proxy and Search Pattern PurchasingContractSRMReplication_OUT - Select it and click on apply selection . Go to the configuration tab and create a logical port
In the above screenshot the URL for WSDL Access has to be filled from ECC Soamanager. This has been done below.
- WSDL Access user (here it is RFCUSERBBP and should be part of HR Organization structure in SRM) and WSDL Access user password.
NOTE: RFCUSERBBP should have the same password in SRM and ECC systems.
4 ESOA Settings in ECC
a Follow steps 3a to 3c
b.Maintain Service Administration for Web Services
- TCode: SOAMANAGER
- Select Single Service Configuration
- Search Consumer Proxy for PurchasingContractSRMReplicationRequest_In
- Select the Service and click on Apply Selection.
- The highlighted test URL needs to be copied in the SRM SOA manager as mentioned above.
c. Click on configuration tab in the screenshot and click on Create Endpoint button.
- Enter the service name, description and new biding name as shown above and click on apply settings.
- In the following screen select the check box as shown in the below screenshot.
Perform similar activities in SRM and ECC for the rest of the 4 web services mentioned below
Note: All the _IN's are services and all the _OUT's are Consumer Proxy
There are also an Enhancement spot in ECC where in you can modify your XML message that gets generated in order to match your specific requirement. You can find the detail below
Enhancement Spot: PUR_SPOT_SE_PURCHASINGCONTRACT
Enhancement Implementation : ZNSRE_WEBSERVCTRBADI
BADI Implementation : ZNSRE_SRMCTRTRANSFER
Implementation Class: ZCL_SRMCTRTRASNFER
In order to debug this functionality you can place a breakpoint using RFCUSERBBP in the above mentioned BADI. You can reprocess the failed XML in SXMB_MONI.
I hope this of help, especially to those who want to implement Central Contract Management without the use of PI. Please feel free to comment and ask more questions on the topic and if I can I will be more than happy to answer them.
I will like to thank Amarnath Singanamala for helping me during the initial setup of ESOA for P2P communication without whom I wouldnt have reach so far.