cancel
Showing results for 
Search instead for 
Did you mean: 

How to determine receiver from multiple receiver systems

Former Member
0 Kudos

Hi all,

I've scenario :

soap req -> XI -> req to external database -> resoponse from db to XI -> BAPI request -> response from BAPI to XI -> send response to SOAP Response.

In this scenario we have multiple SAP HR Systems. Now external database sends URL field and using that URL field I've to determine which SAP HR system is going to be used to get BAPI response. Each SAP HR system uses the same BAPI structure.

How can I determine particular SAP HR system based on URL field.

I am using BPM for this scenario.

Is there any way I can do this whole scenario without BPM?

Please help me on this issue.

Thank You,

Chintan

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

I've to use BPM in this scenarion because eventhough I am getting data from external database I am not able to put condition on that fields. For example In this case I've to find out the particular SAP (receiver) system based on URL field, which is coming from the database. But in XPATH I am not able to fetch this URL. I can fetch only source structure fields. So BPM is the best soulution for this interface.

Thanks all for contributions. Appreciated

Chintan

Former Member
0 Kudos

Hi, Chintan:

This may be possible to achieve without BPM:

Your whole scenario is synchronous:


Sender System ->  XI ->  DB
              <-  || <-
		  ||   		
		BAPI call			

Liang

Former Member
0 Kudos

Hi,

Thank you all of you for your valuable information. I really appreciate that.

Liang,

I have idea of database lookup but after looking the complexity of this scenario Its better to use BPM , that's my understanding, please make me correct if I am wrong.

I've another question, regarding mapping

when i get response from database (JDBC Response), do I've to map BAPI Request directly with that response? or I've to create any dummy structure to get response of database and then I map that structure with BAPI?

I've little bit confusion in mapping with BPM. So please help me on this.

Regards

chintan

prateek
Active Contributor
0 Kudos

In ur scenario, u r fetching small data from the database. Therefore performance wise it would be good to use the lookups. Avoiding the complex scenario design should be ur choice but in my opnion, with BPM it would be more complex.

when i get response from database (JDBC Response), do I've to map BAPI Request directly with that response?

Yes. If u use lookup, the retrieved URL would be mapped to the RFC request filed directly.

Regards,

Prateek

Former Member
0 Kudos

Hi Prateek,

I am convinced from your answer, but I am worried about receiver detarmination

If I use DBlookup approach, then how can i determine particular SAP HR system based on URL field which I am getting from external database.

Is there any way to find particular receiver from multiple receiver based on payload without BPM.

Please help me on that

Regards

Chintan

Former Member
0 Kudos

Hey

>>Is there any way to find particular receiver from multiple receiver based on payload without BPM.

No,you can do only async multiple receiver scenarios without BPM.

In case of synchronous multiple receivers you need to use BPM,the reason as far as i know is due to correlation,we need to use BPM since XI needs to define correlation to determine which response is associated with which request.

Thanx

Aamir

Former Member
0 Kudos

Hi Aamir,

Thank you for your suggestion.

I am still in confusion,

for example If I've 4 SAP HR systems and each uses same BAPI Structure, and there are four communication channels are created.

Now SOAP request comes to XI and XI fetch data from external database (using DB Lookup), and pass that data to BAPI, now In that data (data which comes from external DB) there is a field URL, based on that URL field I need to find out which communication channel is going to be used (i.e which SAP HR system will be used). each URL is unique for each SAP HR System.

My first priority is to accomplish this scenario without BPM if its not possible then I would go for BPM.

Regards

Chintan

Former Member
0 Kudos

Hi Chintan,

Have you tried with the conditional routing with Receiver Determination.

That could probably help you to route to various SAP HR business systems based on the URL field.

For the whole flow you need BPM...but for SAP HR systems receiver determination will be sufficient.

Let me know if you need any more details on it.

also check with below links

Xpath expression

Illustration of Enhanced Receiver Determination - SP16

/people/venkataramanan.parameswaran/blog/2006/03/17/illustration-of-enhanced-receiver-determination--sp16

Customise your 'XPATH' Expressions in Receiver Determination

/people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination

/people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers

http://help.sap.com/saphelp_nw04/helpdata/en/d6/e44fcf98baa24a9686a7643a33f26f/content.htm

Hack: Using XPATH in XI Message Mappings

/people/daniel.graversen/blog/2006/12/29/hack-using-xpath-in-xi-message-mappings

Thanks

Swarup

Edited by: Swarup Sawant on Apr 4, 2008 4:40 AM

agasthuri_doss
Active Contributor
0 Kudos

Hi,

>In this scenario we have multiple SAP HR Systems.

Hence different Business system is it,

Regards

Agasthuri Doss

Former Member
0 Kudos

Hi,

yes they are different business systems.

Regards

Chintan