Skip to Content
Author's profile photo Former Member

Transfer of Central Contract from SRM to ECC using Web Services without PI

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.

http://wiki.sdn.sap.com/wiki/display/ABAPConn/Technical+Setup+and+Reset+of+the+Web+Service+Runtime#TechnicalSetupandResetoftheWebServiceRuntime-mansetupservicedest

After the basis team sets up the bgRFC and WSRM the report SRT_ADMIN_CHECK gives the below result

bgRFC setup.PNG

2. Now we activate two (Irreversible Switches) One in SRM and One in ECC

In SRM :

1. FND_SOA_REUSE_1(irreversible)

2.SRM_WSRM_1

In ECC

1. LOG_MM_P2PSE_1(irreversible)

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

SOAMANAGER.png

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.

                    SOAMANAGER in ECC.png

  • 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.

create endpoint.png

  • 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.

Userid&pass.png

Perform similar activities in SRM and ECC for the rest of the 4 web services mentioned below

In SRM


PurchasingContractSRMReplicationConfirmation_In

PurchaseOrderSRMPricingSimulateQueryResponse_in

In ECC

      PurchasingContractSRMReplicationConfirmation_Out

PurchaseOrderSRMPricingSimulateQueryResponse_Out

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: PUR_SE_PCSRMRPLCTNRQ_ASYN

BADI Implementation : ZNSRE_SRMCTRTRANSFER

Implementation Class: ZCL_SRMCTRTRASNFER

Method: IF_PUR_SE_PCSRMRPLCTNRQ_ASYN~INBOUND_PROCESSING

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.


Assigned Tags

      40 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo muthuraman govindasamy
      muthuraman govindasamy

      Hello Naveen

      It is very good documentation.

      I really appreciate your efforts.

      Muthuraman

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Thanks Muthuram 🙂

      Regards,

      Naveen

      Author's profile photo Former Member
      Former Member

      Hi ,

      can i Activated the Central Contract Management scenarion with the same document.

      because i have to activate the Central Contract Management scenarion in SRM.

      My company works with SRM 7.01 and ECC 6.0 with EHP5.

      Kindly reply ASAP it is urgent..

      Thanks & Regards,

      Saurabh

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Saurabh,

      I am sorry I didnt get your question. Can you kindly elaborate as to what are your looking for?

      Regards,

      Naveen

      Author's profile photo Former Member
      Former Member

      Hi Naveen,

      Thanks a lot for your Reply..

      i want to implement the Central Contract Management scenarion in SRM,so can i implement the same with the same document which you provided.

      Thanks,

      Saurabh

      Author's profile photo Former Member
      Former Member

      Dear Naveen,

      Kindly give me reply.very Soon....i am waiting.

      Thanks,

      Saurabh

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Saurabh,

      Sorry for the late reply. This documentation is for sending contracts from SRM to eCC without PI. Now for central contracts there are some more configurations that you need to do, such as number ranges in both ecc and srm, system landscape setup etc etc.

      I hope I have answered your question.

      Regards,

      Naveen

      Author's profile photo Former Member
      Former Member

      Hi Naveen ji,

      Thanks a lot for your valuable reply..

      Could you please provide the full Configuration ,so that i can implement the full Central Contract.my email ID-   saurabh.sen1984@gmail.com

      it will be greate for me.

      Thanks in Advance..

      Regards,

      Saurabh

      Author's profile photo Former Member
      Former Member

      Dear Naveen,

      My company works with SRM 7.01 and ECC 6.0 without  EHP.

      We need to transfer some Service Contracts from SRM to ECC. The contracts have two positions with 2 service lines each. The issue we are having is that when we try to transfer the contracts to ECC ,it creates a service contract with one single position including the 4 lines within the position.   

      As you can appreciate ,we need to keep the same SRM structure in ECC.

      We thank you in advance for your assistance in solving this matter.

      I look forward to hearing from you,

      Moisés

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Moises,

      How are your contracts going from SRM to ECC , I am assuming via IDOCS as you are in a much lower ECC  version ( which doesnt support web services) .

      There is a badi BBP_CTR_BE_CREATE with method CONTRACT_INTERFACE_FILL place a breakpoint and check what gets filled in CT_BE_ITEMS.

      I am not sure if service hierarchy is even supported in the combination of these two versions. I know for sure that ECC 6.0 ehp 4 supports service hierarchy and as far as I am aware ECC 6.0 no ehp doesnt support service hierarchy transfer.

      The only way to verify this is that It is associated to a switch  LOG_MM_P2PSE_1 . Check if this switch is available in your ECC system.

      Let me know your findings.

      Regards,

      Naveen

      Author's profile photo Former Member
      Former Member

      Naveen,

      Our Contracts going from SRM to ECC via IDOCS and we haven't available LOG_MM_P2PSE_1.

      Do you have any other alternative of solution?

      Regards,

      Moisés

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Moises,

      Your contracts are getting transferred via IDOCS, in that case you will have to write your code in BBP_CTR in ECC . Place a breakpoint and see whats happening, if the outline and service lines are getting filled in correctly.

      Let me know if you need any further help.

      regards,

      Naveen

      Author's profile photo Former Member
      Former Member

      Hi Naveen,

      Thanks a lot for this important information. Keep helping....

      Regards

      Rajan

      Author's profile photo Former Member
      Former Member

      Hi Naveen,

      This is good document i have done the setting as per your instruction but when i release the central contract i am not getting any XML generated in SXMB_MONI and in SLG1 i am gettting error the "No receipient found".

      We have activated the point-to-point asynchronous service in SPRO.Can you let us know what can be the issue?

      Also can you tell us what should be the system type for SRM and ECC to be selected in landscape?and also whether we need to activate "Activate SAP NetWeaver Process Integration" even though we are not using PI or not.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Paresh,

      Are you saying SXMB_MONI of SRM has no entry? If so then your XML is not getting triggered.Did you activate the switches both in SRM and ECC?

      You need to activate the SAP Netweaver Process Integration even though you are not using PI.

      system landscape would be ERP_4.0 if you are using only Contracts , but if you are using both Contracts and SA l then you will have to make it to ERP_2.0 (as SA goes the conventional way which is IDOC)and in the badi BBP_DRIVER_DETERMINEwrite a logic such that for contract it picks up ERP_4.0 with function name  BBP_SAPXML1_CTR_REPLICATION.

      Hope this helps. Please post your findings.

      Regards,

      Naveen

      Author's profile photo Former Member
      Former Member

      Hello Navneen,

      Thanks for the clarification i was using system type as ERP_3.0 s i have read somewhere in the blog that for non PI integration this shopuld be message type but i corrected it yesterday and i was able to generate XML which was failing in SRM with error "RABAX occurred on server side"After your reply i have activated the Proces Integration in SRM and now the message is not in error but it is stuck in to "Ready for Processing status".

      I am checking for some help internally to find out the reason for this.

      I have tried to look at the log in SOAMANAGER but it is not showing any log.I am not sure where we can find the log of this messages so as to get the error.

      I need your help in clarifying one of my major doubt,I have worked on PI dependept achitecture and i know for that we have used 3 connection in SM59.

      1.RFC LCRSAPRFC type TCP/IP

      2.RFC SAPSLDAPI type TCP/IP

      3.RFC PI_INTEGRATIONSERVER connection type H.

      3rd one we generally use for PI.In my system i only find 2nd RFC for SLD.

      Can you confirm whether you have 1st and 2nd RFC in place or not?

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Paresh,

      This is not my area , but still I shall give it a try.

      There are a bunch of RFC's that gets created ( some automatically and some by us)

      ECCRFC( using RFCUSERBBP) Type 3 , this is the main Rfc that is used by the code.

      And we have RFCUSERBBP.

      there is also ,

      backgroundRFC( using SUPER_BGRFC user type 3) that is created.

      There is SAPSLDAPI(Type T Created ) , SLD_NUC(Automatically created type T) , SLD_UC( automatically created type T),

      LCRSAPRFC type T.

      There are also some Connection type G that are automatically created once you create a logical port in SOAMANAGER.

      So in other words, I do have 1st and 2nd in place dont have the third.

      Regards,

      Naveen

      Author's profile photo Former Member
      Former Member

      Hello Navneen,

      Thanks for your reply.We have created the missing the LCRSAPRFC in our system.

      But still we are facing issue while distributin the central contract.

      An interface is in error ""RABAX occurred on server side" in SRM.

      We have also observed that,In backend ECC system,a DUMP is getting generated with "CX_BGRFC_INVALID_DESTINATION"

      and in the dump it says that destination WA_SRV_SAP_WSRTIBDE is not register for background rfc.

      It looks like the issue is around setting up BGRFC which is done wrongly in our system and we are checking with basis team who is strugullling to find the exact place to correct.

      I will share the details once i find it.If you have any idea please let us know.

      Regards,

      Paresh.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Paresh,

      The only way to check if all the settings are done correctly with respect to Bgrfc is to run the report

      SRT_ADMIN_CHECK in both SRM and ECC. It will give you a clear picture of any issues.Check for bgrfc destination and supervisor destination registered correctly in the report ( make sure to check it for both SRM and ECC). You can see the screenshot above in the blog. If you get something like that both in SRM and ECC I  think then it should work.

      Regards,

      Naveen

      Author's profile photo Former Member
      Former Member

      Hello Navneen,

      We have checked this report but still something was missing and basis team has found that destination was only added in client 000.It was not added in the require client in case of backend system.

      It was then added and we are now able to run complele Central Contract cycle.

      Thanks for you great help.really appriciate your valuable comment and blog.

      We are now working towards CPPR without PI.

      Regards,

      Paresh.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Paresh,

      Nice to hear that you are able to get it working. 🙂

      All the best with CPPR without PI .

      Regards,

      Naveen

      Author's profile photo Mohan Vamsi Krishna AVASARAM
      Mohan Vamsi Krishna AVASARAM

      Dear Naveen,

      We are trying to Use the same.

      1. The XML Document is generated in SRM.

      2. But, We are stuck with SMQ2 Queue failure in SRM with Message "XI Error HTTP_RESP_STATUS_CODE_NOT_OK.INTERNAL: Qu"

      & The Error message in XML document in SXMB_MONI is

      <SAP:Stack>HTTP response contains status code 404 with the description Not Found Error while sending by HTTP (error code: 404 , error text: Not Found)</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      3. We Performed bgRFC setup in SRM, do we need to do the same in ECC Aswell?
      Thanks for your help in advance, very helpful blog..

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Mohan,

      Yes, you need to do the bgrfc settings in ECC as well. Also make sure to add the hostname and port numbers in SOAMANAGER in both SRM and ECC. I think it should solve the problem .

      Regards,

      Naveen

      Author's profile photo Former Member
      Former Member

      Hi Naveen,

      I found your article by accident and it is well detailed, so thank you for your contribution!

      However, I would like to know if you have ever experienced how to configure SAP SRM One Client in order to allow contract distribution.

      Any ideas?

      Thank you in advance.

      Gio

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Gio,

      I have never configured SRM on One client so far, so I dont know what configurations are required. But I believe there are some serious issues in doing so, dont know the specifics, but have heard so from other colleagues.

      Regards,

      Naveen

      Author's profile photo Former Member
      Former Member

      Excellent Contribution.

      For information, In all the business Suite Licenses PI comes along and to my knowledge there is no additional license cost for this, if you tend to use the PI within SAP systems. How ever adding the PI system into landscape for a limited use case makes the landscape complex.

      Author's profile photo Nishant Nishant Keloth
      Nishant Nishant Keloth

      Great Job Naveen..!!

      This is a very helpful document.

      I have configured my scenario (Without PI) as mentioned by you.

      When i ping web service "PurchasingContractSRMReplicationRequest_Out", i am getting the below successful message..

      "Web service ping successful for LP 'SRM_CENTRAL_CONTRACT', proxy '/SAPSRM/CO_CTR_REPLI_REQ_OUT'"

      Still I am getting an error in SXMB_MONI. Details are in thr below link..!!

      http://scn.sap.com/thread/3375787

      Appreciate your support.

      Author's profile photo satheesh kumar Varma
      satheesh kumar Varma

      hi Naveen

      I m stuck from step 3.

      i am not able to find the path you specified under 3. b, 3 c .

      i am using SRM 7.02 and activated all business functions mentioned by you,

      there is no 

      SOAMANGER->Global System Settings   option

      what to do>?

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Hi Satish,

      Sorry for the late reply ,

      In Soamanager .. go to Technical config tab in that click on System Global Settings link and you will see the same thing that I have mentioned in the blog.

      Let me know if you still face an issue.

      Regards,

      Naveen

      Author's profile photo satheesh kumar Varma
      satheesh kumar Varma

      Excellent Article

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Thanks Satish 🙂

      Regards,

      Naveen

      Author's profile photo Somil Gulati
      Somil Gulati

      Hi Naveen,

      I followed your document, but when we are testing the ECC team is facing error.

      I have created a discussion for the same, can you please help me .

      Error in SRM and ECC integration.

      Thanks.

      Author's profile photo Former Member
      Former Member

      Hello Naveen,

      First of all thank you for the great article.

      We have few interfaces up and running between SRM & SUS systems using PI.

      Now we would like to add more interfaces between our SRM & ECC systems, using the PI-Independant method you mentioned.

      We're worried that activating the irreversible switch for PI-Independency, will cause the existing interfaces (SRM<->SUS) to stop work properly with PI.

      Do you have experience about that? Is it safe to use both methods at the same time? (PI & PI-Independant)

      Regards,

      Noam

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Doenst make sense to implement this solution if you already have PI in place. You might as well use PI.

      When I implemented this solution at my client place there was no PI in their landscape.

      Regards,

      Naveen

      Author's profile photo Former Member
      Former Member

      Hi Naveen,

      It's very helpful document.

      We are replicating the same scenario, please could you confirm that instance of Java J2EE Engine you used (SAP Portal, Solman, etc. for example) for the configuration with Get SLD??.

      Thanks you!.

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Not sure of the config , need to check with my Basis on that.

      Regards,

      Naveen

      Author's profile photo santhosh kumar
      santhosh kumar

      Hi Naveen,

      Excellent document 🙂   thanks for sharing..

      We are implementing this and need clarification, where can I find the WSDL file or URL? to upload. could you please help here.

      Thanks

      Santhosh

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Thats gets generated while creating the endpoint.

      Regards,

      Naveen

      Author's profile photo Former Member
      Former Member

      Hello

      For this configuration what data is necessary in table BBP_BACKEND_DEST for SysType, ERP 2.0 or ERP 6.0?

      Author's profile photo Shrisheel Deshmukh
      Shrisheel Deshmukh

      Hi,

      Can we use the above mentioned process to transfer contracts from SRM to ECC even if the pps functionality is active ?