Skip to Content
Author's profile photo Hari Sonnenahalli

Routing PROXY Scenarios To Dual and Single Stack PI/PO From SAP ERP

In a SAP ERP landscape, if customers are using a lot of PROXY interfaces and performing SAP Process Integration (PI) to SAP Process Orchestration (PO) migration, In which they are upgrading middleware from dual to single stack and they may have a situation during go-live phase. In which they can’t go live with all the PROXY interfaces at once which may have some business impact if for some reason go-live is not successful. This situation occurs more in a landscape where there is an inconsistency with respect to Dev, QA, and PROD environment due to implementation flaws and the customer can’t afford to have a development freeze period during a migration project. In such scenarios, you will have a lot of moving targets and also testing is a big hassle if the landscape is not consistent. I had worked on a project in recent past with similar landscape. After the migration from dual to a single stack, the customer decided to phase-out PROXY interfaces as they were not confident that everything works because of inconsistency in the landscape and lack of testing. So I had to come up with a solution using which we could successfully phase out the PROXY interfaces and have multiple go-lives.

The question may be asked if this a good practice? Answer is NO the reason being if we go with above approach we end up having 2 middleware PROD system in the landscape and supporting 2 systems and monitoring them will be tedious and is not SAP best practice but taking this approach customer will have some sort of relief that go-live can be done in multiple phases and no need to rush to complete migration. It can be done using internal staff which would reduce the project cost to some extent but quality may be compromisedJ

In this blog, I will show the steps which need to be followed to route the PROXY interfaces to both dual and single stack PI and PO systems at the same time.

Step1: In order to run PROXY interfaces we need following connections.

  • RFC connection type H to connect ECC ERP ABAP stack to PI ABAP stack
  • RFC connection type G to connect ECC ERP ABAP stack to PO Java stack

Above mentioned connections needs to be created in SAP ERP system pointing to respective PI and PO systems.

Step2: Execute SXMB_ADM in SAP ERP system and make sure the connection is pointing to PI dual stack as shown in the screenshot below.


Step3: Enter into an edit mode in above screenshot and have the parameter RUNTIME IS_URL which is dynamic URL pointing to dual stack PI system and shown in the screenshot below.


Step 4: Use new G-type connection which you have created in step1 and configure it against the namespaces which you need to route to PO system as shown in the screenshot below.

Note: in the new PO system all the PROXY scenarios are converted into Integrated Configuration Objects (ICO).


Once all the above configurations are completed. Trigger the proxy program from SAP ERP system for both the classical and ICO scenarios and the messages will route through PI dual and PO single stack systems respectively.

Hope this helps!

See you in my next blog!

Assigned Tags

      1 Comment
      You must be Logged on to comment or reply to a post.
      Author's profile photo Ruben Vera
      Ruben Vera

      Hello Hari,


      Great blog!!!


      I have a similar scenario, a SAP ERP and two targets: SAP PI (7.11) or SAP PO (7.5). I have created  two RFC G:

      1. SAP_PROXY_ESR

      Target host: SAP PO

      Path Prefix: /rep


      2. PI_AAE

      Target host: SAP PO

      Path Prefix: /XISOAPAdapter/MessageServlet?ximessage=true


      and one RFC H:

      1. ESR_PIP

      Target host: SAP PI

      Path Prefix: /sap/xi/engine?type=entry


      I have created a sender/receiver definition (POP_TESTOB) , and SXMB_ADM (Integration Engine Configuration) the configuration is:

      1. Role of Business System: Application System

      2. Corresponding Integ. Server: dest://ESR_PIP


      In specific configuration, I created two entries with:


      1. Category: Runtime

      Parameters: IS_URL

      SubParamter: <empty>

      Current Value: dest://ESR_PIP


      2. Category: Runtime

      Parameters: IS_URL

      SubParamter: POP_TESTOB

      Current Value: dest://PI_AAE


      In SPROXY connection ESR, show me the URL of SAP PO (target of RFC G connection).


      The connections and Integration Engine Configuration check, its ok, but when I send a message from sender interface (POP_TESTOB) I see a error message in SXI_MONITOR: ICM_HTTP_CONNECTION_FAILED



      <?xml version="1.0" encoding="UTF-8" standalone="true"?><!-- Message canceled --><SAP:Error SOAP:mustUnderstand="1" xmlns:SOAP="" xmlns:SAP=""><SAP:Category>XIServer</SAP:Category><SAP:Code area="INTERNAL">CLIENT_RECEIVE_FAILED</SAP:Code><SAP:P1>400 </SAP:P1><SAP:P2>ICM_HTTP_CONNECTION_FAILED</SAP:P2><SAP:P3/><SAP:P4/><SAP:AdditionalText><html><head><title>Application Server Error</title></head><body>< H2><b>404 Resource not found</b></H2><br>Partner not reached<br><br> Error is logged with Tag: {000219fb}<br><hr> Mon Sep 10 19:32:28 2018 < /body></html> </SAP:AdditionalText><SAP:ApplicationFaultMessage namespace=""/><SAP:Stack>Error while receiving by HTTP (error code: 400, error text: ICM_HTTP_CONNECTION_FAILED) </SAP:Stack><SAP:Retry>A</SAP:Retry></SAP:Error>

      I searched the error and I found a note (2303970 - Can I Connect an ABAP Proxy System to Several PI Systems) 

      where I worried, because compare my SAP ERP component version SAP_BASIS with Release is 701 SP-Level 0014, its minor the SAP Note recommends:

      Quoute Note:

      1. Connecting to multiple central PI systems is supported with the feature IS_URL since the following releases
        702          SAPKB70201
        710          SAPKB71007
        711          SAPKB71103
        730          SAPKB73005
        731          SAPKB73105
        and higher releases.


      Do you have a SAP ERP system with SAP_BASIS versions? Do you have some tip to solution the error that I have?


      Thank you a lot in advanced and regards.