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!
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="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30"><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:
SAP_BASIS:
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.
--
Esteban