cancel
Showing results for 
Search instead for 
Did you mean: 

One Sender system and two receivers system(Sync) . Pls help

Former Member
0 Kudos

Hello All,

Help required to make one scenario in XI.

Currently there is one interface (XI is not used) that is already in place.

CRM sender system

DM and ERP Receiver systems.

CRM RFC call DM RFC directly and same CRM RFC call ERP RFC directly.

Result (can be error or correct)is returned back to CRM RFC from DM and ERP RFC's.

Now I want to make this scenario in XI.

If I make without BPM I get message 'Multiple receivers are not allowed for Sync systems in Receiver Determination.

Pls advice how to make this scenario with Error an Exception Handling.

Regard

Accepted Solutions (1)

Accepted Solutions (1)

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

hi

the no problem to define then togheter into same Receiver Determination. i did many of this case with sync scenarios.

if you get an error something wrong you are doing.

you need

1 receiver determination

2 Interface determination.

1 sender agreement

2 receiver agreement.

if you want to mannage error, you have many ways.

u can use

BPM

UDF

Payload

...

...

you choose what you want.

see these links

/people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step

/people/community.user/blog/2006/10/16/simple-steps-to-get-descriptive-alerts-from-bpm-in-xi

/people/sukumar.natarajan/blog/2007/01/07/how-to-raise-alerts-from-abap-proxy

/people/michal.krawczyk2/blog/2005/03/13/alerts-with-variables-from-the-messages-payload-xi--updated

/people/bhavesh.kantilal/blog/2006/07/25/triggering-xi-alerts-from-a-user-defined-function

Hope it help

Thanks

Rodrigo

Edited by: Rodrigo Pertierra on Feb 8, 2008 9:20 AM

Former Member
0 Kudos

Hi ,

*Case 1 -- without BPM*

Since it is Sync Send and 2 sync receivers

I get error messaage "You cannot have multiple sync receivers"

Pls tell me how to resolve this without BPM and error handling without BPM

*Case 2 -- with BPM*

Cannot use Receive step as there are two modes

a. Async -- cannot use as my sender is RFC (sync)

b. Sync/Async Bridge --- cannot use as my receivers are Sync.

Pls help

Edited by: Rick A on Feb 8, 2008 1:36 PM

Edited by: Rick A on Feb 8, 2008 1:41 PM

Former Member
0 Kudos

Rick,

did u put a condition in your receiver determination? of course it will fail, if one sync message is sent to multiple systems. so provide the condition to be sure, the message is sent only to one system in a time.

Peter

rodrigoalejandro_pertierr
Active Contributor
0 Kudos

did u put a condition in your receiver determination? of course it will fail, if one sync message is sent to multiple systems. so provide the condition to be sure, the message is sent only to one system in a time

it wont fail, becouse in runtime for each receiver a message is created.

with BPM is easy to solve your scenario but is

Difficult to configure if you dont use BPM before,

my server in down at moment, when it'll be up i will create you a

demo how to create your scenario.

to manage alerts in BPM see it

/people/michal.krawczyk2/blog/2005/03/13/alerts-with-variables-from-the-messages-payload-xi--updated

without BPM

to manage alert do this, is the same im ussing at moment and works

/people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step

this error you are getting i've never seen it before, i did some interface type sync to many receiver sync and no problem.

wait me to send the presentation

Thanks

Rodrigo

Former Member
0 Kudos

Hi Peter,

condition cannot be put.

Pls give your suggestion then how to proceed.

Can I use sync/async bridge.

Regards

Former Member
0 Kudos

Hi

Thanks!!

Can i mail you also.

Pls allow me and send ur mail id

Former Member
0 Kudos

Of course it is possible Go to your receiver determination and you can define there multiple receivers and add a condition too.

Why do you think you can't add it? What's the problem?

Rick, you are starting to be a bit confused i think... Relax.. Try first the simple scenario. Create the condition in receiver determination. Forget BPMs and sync/async bridges and everything Just create simple scenario with multiple condition based receivers.

Peter

Rick, sorry - no mails please. Let's discuss it here. If you have problem with anything, just let us know, or write new threads.. We all wonna get some points

Former Member
0 Kudos

Hi Peter,

You are worhty of all the points as you have helped me a lot.

I have tested with condition and it is working fine.

I was saying no conditions means that my DM and ERP team told me that no condition is there. It has to be generic.

So I asked how to do without condition.

I am also reading this thread

I have implemented it

Now I am gettiing in sxmb_moni error (Sync bridge close)

<SAP:Stack>Message 47AC7A764AAD2198E1000000AC140A4F pipeline PE_ADAPTER unknown XML message not found</SAP:Stack> -- any idea

As I am working for project that is why i need mail id.

As it was urgent.

Thanks to all of you

I am going now and will be back after 7-10 hours. so in order to proceed again I need mail id and then we can come back on this sdn.

Regards

Former Member
0 Kudos

Rick,

this makes no sense - there must be some differentiation. It woudn't be necessary only if there was one function, which first calls DM and then calls ERP and both calls would be done INSIDE this one function.

I meant, that you have only one function, which calls both systems - I mean - the same interface would call the system... Do you know what I mean?

Whatever..

I have a better solution for you. Do you know what ABAP proxies are? Let's do it this way and it will be the easiest and most reliable way.

Create 2 interfacec - one will call DM and one ERP. Develop 2 separate scenarios. No conditions - Just 2 simple scenarios. On the CRM system go to t-code sproxy. (eeee, hope you have an SAP CRM and have configured settings to be able to develop proxy objects.)

Generate proxies and replace current functions by calling the proxy objects' methods.

This is of course possible only if u have

a, CRM from SAP

b, configured settings XI<->CRM (usually does basis team)

Ok, again one thing: CHECK how your current scenario work - how are the calls made.. I believe, there are 2 different calls in one function, so when the function in CRM is ran, first call is made and then the second. But forget this general function, because it is not the interface. The interfaces are the functions which really try to send and receive data. And they simply CAN'T be the same, otherwise it wouldn't be possible for CRM to know, to which system should be the call made to!!! So, ask you colleagues for THESE TWO calls. If they tell you, no, there is only one call, which is general (which is ****, because it simply can't - again, there must be at least some flag or what), then just tell them - ok, this is not possible. I need a flag to be able to differentiate the messages (and this will be the condition in receiver determination) or simply let them to develop for you 2 independent function. ! for call to DM and 1 to call to ERP. You will then create 2 separate scenarios and they will use these 2 functions in their one general or whatever...

ufffff

Peter

Former Member
0 Kudos

Your error with the bridge is probably, that you first need to open the bridge. (it is in the properties of receive step I think).

But RICK - think about, how will you process the answer messaage?!

i don't think this will solve your requirement...

Peter

Answers (1)

Answers (1)

Former Member
0 Kudos

Rick,

we have duscussed it here already, haven't we?

hawever - thsi explains your requirement..

How the current interfaces work? are they independent? or is there any dependency?

Peter

VijayKonam
Active Contributor
0 Kudos

Hi Rick,

For this requirement, you might have to club the response from both target systems in to one and then return it to the calling system. If not, if they are independent, 2 different sync scenarios would be a better option.

For the first case, receive the message in BPM, use a block and a fork to send the message to 2 receivers. Then collate the responses in to one message in BPM and assign it as the response for the first sender. You would have to use multimapping for this.

VJ

Former Member
0 Kudos

Hi,

Can u pls send ur mail id so that i can discuss in details.

Thanks and Regards

Edited by: Rick A on Feb 7, 2008 6:57 PM

Former Member
0 Kudos

Hi

I received the message in BPM, use a block and a fork to send the message to 2 receivers -- ok

Response from both systems are different.-- how to send it to one system (CRM).

Pls send blog for this.

As two systems are different but have the same sender interface how can I make two different scenarios as it will have only one sender aggrement

Regards

VijayKonam
Active Contributor
0 Kudos

Hi Rick,

I am sorry, it is against the forum rules...

We can discuss anything here..!! That would help many other SDNers aswell..!!

VJ

Former Member
0 Kudos

Ok VJ

Hi

I received the message in BPM, use a block and a fork to send the message to 2 receivers -- ok

Response from both systems are different.-- how to send it to one system (CRM).

Pls send blog for this.

As two systems are different but have the same sender interface how can I make two different scenarios as it will have only one sender aggrement

Regards

Former Member
0 Kudos

Hi Rick!

I don't think there is a blog for this. Why are u using a block in the BPM?

I believe, there is anly one way, how to process 2 responses at once - collect the messages in the BPM, so the result will be one message.

Rick, you say, you need to replace a current scenario. Can you please answer my questions? How these current scenarios work? Are they independent? How they work technically (RFC, some other middleware,..)?

Peter

Former Member
0 Kudos

Hi Peter,

CRM sender system (R/3)

DM Receiver System (R/3)

ERP Receiver system (R/3) will come later

Currently CRM RFC (from CRM R/3) call DM RFC directly.

Result (can be error or correct) is returned back to CRM RFC from DM RFC.

Same will the process for ERP system later on.

So one sender CRM

and two different receivers DM and ERP

For one Sender system (sync) and two receivers system(Sync)

I am using BPM for it.

Pls let me know

In Receive there is only two mode

1. Async

2. Open S/A bridge

So do i need to choose Async mode for sender RFC.

Pls tell me the BPM flow steps for my scenario

Regards

Former Member
0 Kudos

Rick, but this seems, that you current scenarios are INDEPENDENT!

So just create 2 sync scenarios which will be executed like the current one: first you'll send a message to DM and later to CRM.

Is this possible?

Because I don't believe it is possible to create you scenario like you need. The problem is in logics - if you send one source message, you'll receive:

a, two separate messages - and there is no way how sync sender interface could deal with it

b, one complex message - but the reponse can't meet the sender sync response message format! (not the current message awaited - at least!)

So think about the logics of your requirement..

Peter

Former Member
0 Kudos

Hi Peter,

If I get you right

Suppose I create two sync scenarios need to know it has to be created with BPM or without BPM.

1. CRM --- XI --- DM

2. CRM --- XI --- ERP

I created above CRM --- XI --- DM scenario

without BPM as both source and target are sync.

But when I tried to make CRM --- XI --- ERP it says

Sender Aggrement already exist.

Now pls let me know

1. If I get you right that two secnarios need to be made

without BPM.

2. If I do Sender Aggrement "Add to Scenario"

to CRM --- XI --- ERP will it work correctly.

Regards

Former Member
0 Kudos

1, yes

2, no

well, you say, u are using the same RFC functionality in the current scenario. How do you differentiate the calls? I mean - how the system knows, where to connect in each call - whether DM or ERP? Is there a flag in the FM?

Peter

Former Member
0 Kudos

Hi,

Suppose I get some condition for DM and ERP

Both Scenarios without BPM will work like that

a. For 1st scenario I will make Sender Aggrement

b. For 2nd scenario I will add this Sender Aggrement to 2nd

Scenario as sender is same.

c Now In Receiver determination for both scenarios using x

path I will check condition.

Am I correct ?

If conditions cannot be provided then any suggestions

Regards

Former Member
0 Kudos

Rick,

first - you can't suppose, you must know.. if you don't know, you can't replace the scenario..

there are two ways -

a, only 1 scenario with a condition in a receiver determination

b, 2 scenarios..

sorry, but I don't have time to test it, so first try the 1 scenario.. check, which condition (field) is use to differentiate current target system and make this condition in receiver determination. test the scenario and let me know the result.. i think it should work

Peter