on 02-10-2011 9:54 AM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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.
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
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
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,
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
9 | |
9 | |
9 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.