Skip to Content

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.


40 Comments
You must be Logged on to comment or reply to a post.
      • 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

          • 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

          • 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

  • 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

    • 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

      • 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

        • 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

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

    • 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

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

    • 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

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

        • 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

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

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

          • 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

  • 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

    • 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

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

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

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

    • 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

  • 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

    • 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

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

  • 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