cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple PI system

Former Member
0 Kudos

hey all,

in the current scenario, there is an ERP system, which is already configured for proxy connection to a PI system PI1. there is also another PI system PI2.

in a second scenario, ERP system needs to be connected to PI2. now since ERP system is already connected to PI1, through proxy configuration, so the only option available is: ERP -> PI1 -> PI2 -> 3rd party system. So how to configure this scenario - meaning should PI2 be made as business system or business service and why?

the PI1 and PI2 are based on 7.4 single java stack system.

also is there any way to have ERP - PI1 and ERP - PI2 both configurations parallelly active in proxy configuration, so that the above scenario can be reduced to ERP - PI2 - 3rd party system?

all helpful replies will be appreciated.

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

Your ECC system can directly connect to multiple PI systems. Check this blog for the same :

Regards,

Bhavesh

Former Member
0 Kudos

thx Bhavesh and Nitin. but this will have the disadvantage that from SXMB_MONI in ERP, the messages of second scenario will not be available, since it would not be the default PI system - so monitoring may be difficult.

if i use the approach ERP - PI1 - PI2 - CRM system, then should the PI2 be defined as business system or business service, when configuring in PI1 integration directory - what would be better and why - some standard content needs to be configured using model configurator in ID? Any ideas plz. thx.

nitindeshpande
Active Contributor
0 Kudos

Hello Stewart,

SAP_PROXY_ESR is responsible only for the SPROXY t-code view, other than that, you have all the benefits as you would have for having one PI system connected to SAP ERP system.

You can see the messages in your SXMB_MONI for both PI systems.

Regards,

Nitin

bhavesh_kantilal
Active Contributor
0 Kudos

Hello Stewart,

The approach we suggested will have no impact on the Monitoring. The messages should continue to be visible in SXMB_MONI of your ECC system irrespective of who the destination PI Server is.

The only limitation to this is the fact that from a Design Time perspective your ECC can only connect to one ESR and this can easily be switched back and forth as and when you need to generate Proxies in SPROXY.

If you want to use the other approach of PI1 - PI2 ( A Federated Approach ), the Business System configuration depends on the Adapter type you use.

  • If you use a SOAP Adapter and expose the Interface in PI 2 as a Webservice then there is no dependency on the Business System / Service.
    • You may use a Black Box Mode here where you define a Generic Business Service in PI 1 for PI 2 or
    • You may use a WhiteBox Mode where your Receiver Business Service / System is pointing to the actual End System.
    • There is no depdendency on whether you use a Business System or a Service.
  • If you use a XI Adapter ( or SOAP with XI Protocol ),
    • , For a White Box Scenario - the Business Systems / Service should be known by all XI Domains / Servers, and the routing is done to these Services.
    • For a Black Box Scenario - you can configure a Generic Business Service pointing to PI 2 and then use a SOAP with XI Adapter in PI 1 with the Generic Service as PI2.
    • On the PI 2 server, you have 2 options,
      • Either use the Original Sender System as a Sender System
      • Use PI 1 as the Sender System ( A Header Mapping will be required in PI 2 ).

Which approach you use between ECC connecting to 2 PI's or 1 PI depends on what your overall integration strategy is.

If you do plan to use PI 1 -> PI 2 integration, I would suggest to use the SOAP Adapter as its much more simpler than the XI Adapter approach. The XI Adapter approach though has its advantages where the Header information can also be transmitted from one PI to another making Dynamic configuration etc easy!

Regards

Bhavesh

Former Member
0 Kudos

thx Bhavesh for ur reply.

we are going to use PI1 - PI2 i.e. both PI system for the second scenario.

let say ERP system business system is BS1 and third party system's business system is BS2.

let say business component/service is BC2 for PI2 to be used in PI1 configuration and BC1 for PI1 to be used in PI2 configuration.

since we have two single java stack PI system and the source system is ERP and target is a soap web-service, so the scenario would be like:

BS1 - SOAP (XI) - PI1 - SOAP (XI) - PI2 BC2   -> this configured in ID in PI1

BC1 - SOAP (XI) - PI2 - SOAP (HTTP) - BS2  -> this configured in ID in PI2

the queston is: when the message will be sent from PI1 to PI2, since the business component name are different, how will PI2 system know that it has to invoke the BC1 - BS2 configuration? or do we need to keep only one business component name like BC_COMMON - both in PI1 and PI2?

any ideaz plz. thx.

bhavesh_kantilal
Active Contributor
0 Kudos

Hello Stuart,

This will be tricky to explain but will try my best.


BS1 - SOAP (XI) - PI1 - SOAP (XI) - PI2 BC2   -> this configured in ID in PI1

This is perfect! Nothing to worry here. Make a note of the  3 fields from this configuration

  • Sender System - BS1    
  • Inbound Service Interface Name
  • Inbound Service Interface Namespace

BC1 - SOAP (XI) - PI2 - SOAP (HTTP) - BS2  -> this configured in ID in PI2

This is where your config becomes challenging / changes are required.

Your ICO in PI2 will be as below.

Sender System - BS1

Sender Interface - Inbound Service Interface Name ( noted from previous comment)

Sender Interface NS - Inbound Service Interface Namespace ( noted from previous comment)

Select Option - Sender Uses Virtual Receiver

Receiver Communication Component - *


And from here on your ICO in PI 2 can be configured like any other ICO.

You might wonder why PI ICO in PI 2 has to be configured as such. This is because as mentioned when you use the SOAP XI Protocol, the SOAP Header will contain the details of the Sender System, Receiver System and Interface. The Inbound Interface in your ICO 1 will now become the Sender Interface in ICO 2. If you look at the entire SOAP Message that goes out when you see a message with SOAP with XI you will understand this!

You might wonder how can a Inbound Interface be used as a outbound Interface - well you can either copy paste the name or you can configure the Interface as a Abstract Interface in both the PI Systems.

Will post a sample configuration subsequently!

Regards

Bhavesh

bhavesh_kantilal
Active Contributor
0 Kudos

Here are some screenshots

ICO 1 in PI 1 ( Click on Image to view in detail )


ICO in PI 2



Snippet of the SOAP XI  Message triggered from PI 1 ( traced using TCP Gateway) This explains why the Message ID in both PI will be same and the ICO 2 has to be set up the way it is shown,

Message was edited by: Bhavesh Kantilal - Updated to include ICO PI 2 screen shot!

engswee
Active Contributor
0 Kudos

Just wanted to add that this type of PI to PI connection over XI 3.0 protocol has been described in the following blog which was a result of this discussion.

bhavesh_kantilal
Active Contributor
0 Kudos

Ha, I should have known there would be a document on this

nevertheless i I used this thread to reiterate my understanding and trying this out after 8 years..

says how things remain the same even as time moves along..!

regards

Bhavesh

bhavesh_kantilal
Active Contributor
0 Kudos

I Looked at the thread now and the responses are eerily similar..!

including the explanation with the soap header and need for

virtual receivers..! makes me seem silly ..!

regards

Bhavesh

engswee
Active Contributor
0 Kudos

Haha... it was kinda a deja-vu moment when I saw your response, hence I shared the blog and discussion

Former Member
0 Kudos

thx bhavesh. one question - if in ICO2 in PI2, instead of using sender uses virtual receiver, we directly put in receiver communication component - the business system name of target 3rd party system with the receiver inbound interface(which is the sender interface too in this case) - will it not work? any ideaz, plz. thx.

bhavesh_kantilal
Active Contributor
0 Kudos

Hello Stewart,

The Sender Uses Virtual Receiver is mandatory - You do this to enable the PI System identify which ICO it has to forward the message to. All you need to do is to put the Virtual Receiver as *.

Once you do this, you will still need to key in the Receiver System in the Receivers Tab and here you can provide your actual receiver.See below screen shot

Couple of notes


  • In ICO 2 while i have asked you to make sender uses virtual receiver with receiver as *, you can also make this as the same receiver Business System name as ICO 1. Making it * makes it easy as you only need one business system from PI 1 here.
  • In ICO1, you can use Header Mapping for Sender and Receiver System if you want to change the Business System Names. But they need to be then the same in PI 2 ( Sender System and Sender Uses Virtual Receiver )
  • If you want the Sender system to be called PI 1 in ICO 2 then you can do a Header Mapping in ICO 1 and then use the PI1 Business System as the Sender System and this can then be used in ICO 2.

Regards,

Bhavesh

Answers (2)

Answers (2)

Eoin_Kierans
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hello Stewart,

In addition to the information already provided you may also wish to check the SAP Note
2116345 - XI RUNTIME: IS_URL with several central Integration Servers

Regards

Eoin

nitindeshpande
Active Contributor
0 Kudos

Hi Stewart,

Just to add, from the link what Bhavesh has provided.

You can keep the proxy connection active for both the PI system, but you can view only one PI system interfaces at a time and this depends on the connection details provided in the RFC destination named SAP_PROXY_ESR.

So your query of connecting ERP->P1->P2 is not necessary. You can have 2 separate connections -

ERP-> P1

ERP-> P2

Regards,

Nitin