cancel
Showing results for 
Search instead for 
Did you mean: 

SAP XI - BAPI routing

Former Member
0 Kudos

Hello,

I have a scenario as below, can you guys pls help me out

1)Data is extracted from a flat file through a SAP-ABAP Proxy and sent to SAP XI/PI.

2) In Xi/PI , depending on one string length the BAPI needs to be rounted to 4.6 C or ECC 6.

3) If String lenght > 6, Call BAPI in 4.6C else call BAPI in ECC 6.

Stpes I have followed:

1) Created a document,Message Type for flat file data from ABAP proxy

2) Created a temporary document with the one value as STRLEN.

3) Created a Mapping between MT for steps 1 and 2.

4) In the mapping , I have used the "lenght" function and mapped to the STRLEN value in temp document.

I am not sure from here how to proceed further , can you pls help me out in completing the steps

Thanks in advacne

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Here the lenght is confirmed in the Mapping and on taret side you will be putting up the value in STRLEN. So you can't use the Conditinal editor in Receiver determination for any kind of X-path expression as it will refer to Source data.

You need to use simple BPM steps to identify the conditional routing. Maintain one container element and based on the value of container element you can switch between 4.6C or ECC 6.0

Thanks

Swarup

Former Member
0 Kudos

Hi Swarup,

Thanks for the info.

Is there any way or workaround we can solve this without using BPM.?

In our environment, we are not using BPM and we are adviced not to go for BPM as this might hit performanace....

any thoughts...

Answers (1)

Answers (1)

Former Member
0 Kudos

Hey

You don't need any BPM here,simply use enhanced receiver determination.you can route messages based upon any condition as long as that condition is valid in message mapping via enhanced Recv. determination.

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

Thanx

Aamir

Former Member
0 Kudos

Hi

Sorryyyyy...I had missed the usage of Enhanced receiver determination from my mind.

As Aamir had mentioned you can use the Enhanced receiver determination precisely.

Here you need to create 3 mappings.

1. To decide the Services at runtime

2. Mappings for passing data to 4.6C

3. Mapping for passing the data to ECC 6

Now in 1st mapping you can check the STRLEN and have decide the Service as either 4.6C or ECC 6

Please refer the blog that Amir had given, it will explain the usage as step by step.

Also refer

http://help.sap.com/saphelp_nw04/helpdata/en/43/a5f2066340332de10000000a11466f/frameset.htm

Please let me know if you need anything else in it.

Thanks

Swarup

Former Member
0 Kudos

Hi Aamir/Swarup,

Thanks for the information.

Regards

Venkata