cancel
Showing results for 
Search instead for 
Did you mean: 

1:N mapping idoc to soap

Former Member
0 Kudos

Hi,

We are planing to implement idoc to soap scenario , which is based on BOMMAT idoc filed value to two soap receiver.

if STLAN=1 send idoc data to soap 1 and if STLAN=3 then send idoc data to soap 2.

So i understant i have to use Correlation using BPM.

Please descibe the step to achive this.

Thanks

Laxmi Bhushan Jha

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Laxmi,

There is no need of BPM for your requirement.

Perform Enhanced Receiver determination & Interface determination to send the message. You can achieve this by writing X-path condition or using context objects.

Ref: /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

Thanks,

Edited by: Hareenkumar on Feb 10, 2011 11:05 AM

Edited by: Hareenkumar on Feb 10, 2011 11:06 AM

Former Member
0 Kudos

Thanks for your reply,

I m unable to set condition in xpath as i have two soap receiver communication channel based on given condition they execute.

please tell me how to set CC when STLAN value is 1 then SOAP 1 Receiver CC and When STLAN value is 3 then SOAP 2 Receiver should execute.

Please respond.

Rgards

Laxmi Bhushan Jha

former_member200962
Active Contributor
0 Kudos
please tell me how to set CC when STLAN value is 1 then SOAP 1 Receiver CC and When STLAN value is 3 then SOAP 2 
Receiver should execute.

If SOAP receiver Business Service is same for channel1 and 2 then do not specify condition in Receiver Determination.

have your condition in Interface Determination...and then accordingly select the receiver interface...then the relevant receiver agreement will be called....which will have your relevant receiver SOAP channel.

Former Member
0 Kudos

Hi Laxmi,

1) If Receiver Business Systems are same for both the SOAP 1 and SOAP 2, you need not set the condition in Receiver Determination. If receiver Business Systems are different for SOAP1 and SOAP only then you will have to set the Condition in Receiver Determination.

2) You will be having 2 Operation mappings with two Inbound Service Interfaces. In Interface Determination you can set the condition based on the field SATAN in path and call the respective Operation mapping.

3) Now you will have 2 Receiver Agreements for the 2 SOAP communication channels with respective Inbound Service Interfaces.

Thus based on the condition in the Interface determination and the respective Service Interface in the Receiver agreement. Appropriate Channel SOAP1 or SOAP2 will be called.

Regards,

Aravind

Former Member
0 Kudos

Hi,

I have one business for both soap receiver channel.

I am getting (No receiver agreement found for sender ) error. But it is correctly defined.

Error in sxmb_moni

No receiver agreement found for sender ,SOAP_RECV_BS to receiver ,BS_IDOC,http://ivend.com/IDOC/BOM,SI_IB_SETKIT

while SOAP_RECV_BS is receiver Bussiness service and BS_IDOC is Sender Business services

Regards

Laxmi Bhushan

Edited by: laxmi bhushan on Feb 11, 2011 3:36 PM

Former Member
0 Kudos

Hi Laxmi,

Make sure that all the below are done correctly:

1. Receiver agreement

2. Business system with the communication channel

3. Proper selection of Interfaces while configuring ID

4. If u r using conditional receiver determination, then make sure that the condition handles all possible values of the field

Thanks,

former_member200962
Active Contributor
0 Kudos

delete the Receiver agreement and re-create it manually....remove any * from the un-used fields.

baskar_gopalakrishnan2
Active Contributor
0 Kudos

We believe that you use Business System not Business Service on the sender side (IDOC).

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi Laxmi,

>>If Receiver Business Systems are same for both the SOAP 1 and SOAP 2, you need not set the condition in Receiver Determination.You have to give the condition in the Interface Determination instead.

For eg. Suppose you have Inbound Service Intefaces named SI_SOAP1 and SI_SOAP2 for SOAP1 and SOAP2 respectively.

Then in Interface Determination, set the condition as:

if STLAN=1 send idoc data to SI_SOAP1 else if STLAN=3 then send idoc data to SI_SOAP2.

If receiver Business Systems are different for SOAP1 and SOAP only then you will have to set the Condition in Receiver Determination.

Fo eg. Supppose You have: For SOAP1-Business System is B1, and for SOAP2--Business System is B2.

Then in receiver determination, set the condition as:

if STLAN=1 send idoc data to B1 else if STLAN=3 then send idoc data to B2.

>>You will be having 2 Operation mappings with two Inbound Service Interfaces.

>>Now you will have 2 Receiver Agreements for the 2 SOAP communication channels with respective Inbound Service Interfaces.

THANKS

BISWAJIT

Edited by: 007biswa on Feb 11, 2011 10:01 AM

Edited by: 007biswa on Feb 11, 2011 10:08 AM

former_member463616
Contributor
0 Kudos

Hi Laxmi,

In your case no need to use BPM. Please see the below links, it will useful to you.

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

http://wiki.sdn.sap.com/wiki/display/XI/EnhancedReceiverDeterminationinSAP+XI

Regards,

Rajesh

Former Member
0 Kudos

Hi Laxmi,

Why you want to use BPM???Using simple scenario u can do this. If u have same receiver then use conditional interface determination else use conditional receiver determination to achieve ur solution.

Regards,

Nayan

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

if STLAN=1 send idoc data to soap 1 and if STLAN=3 then send idoc data to soap 2.

So i understant i have to use Correlation using BPM.

Based on what you have said, there is no need to use BPM. What you can do is:

1.) To create a receiver determination (use xPath for receiver conditions)

2.) To create an interface determination (also use xPath for interface determination)

3.) create two receiver agreements

Hope this helps,

Mark

Edited by: Mark Dihiansan on Feb 10, 2011 10:59 AM