cancel
Showing results for 
Search instead for 
Did you mean: 

Pre-mapping

Former Member
0 Kudos

Hello Gurus,

I asked yesterday how to do a pre-mapping and I closed the topic because it's still not clear. What I want to achieve is the following:

I have a 3 messages Source 1, Source 2 and Target. I get an incoming msg which can be Source 1 or Source 2 based on an element within the Source message (1or2) I have 2 situations:

- either I send a message from Source 1 to Source 2 and then send a message to the target.

- or I just send a message from Source 2 to the Target.

Now I guess to achieve that I need a BPM but when I define all my objects I made a mistake somewhere but do not know where:

Message Interface

- MI_Source1, abstract asynchronous

- MI_Source2, abstract synchronous

- MI_Target, abstract asynchronous

Message Mappings:

MM_Source2_to_Target

MM_Source1_to_MM_Source2

Interface Mapping:

One Interface mapping saying that:

Source message - MM_Source1 and Target - MM_Source2

Source message - MM_Source2 and Target - MM_Target

But I get alot of errors like: Synchronous message interfaces are not permitted in multi-mappings. Remove the synchronous source message interfaces Message Interface.

How do I need to solve it?

Hope someone can help.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Ok are the conditos illustrated below correct ?

IF Source 1-> PO_003 -> Source 2 -> Convert -> PO_007 -> Target.

ELSE Source 1 -> PO_007 -> DIRECTLY-> Target.

is the condition right as u have mentioned as " I just send a message from Source 2 to the Target."

............

Former Member
0 Kudos

If Incomming Message = PO_003 Then Convert PO_003 to PO_007 ELSE

IF Incoming Message = PO_007 then PO_007 to Target

prabhu_s2
Active Contributor
0 Kudos

as pointed earlier use a switch step with 2 bracnes. the condition of the switch will be for PO_003. if yes then in the first branch have a transformation step for PO_003 to PO_007 conversion and a send step. If the condition is not ture then a send step in the second bracnh to send the message to target.

Former Member
0 Kudos

Thnx guys for all the help!!!

Answers (5)

Answers (5)

Former Member
0 Kudos

What I am trying to do is the following. I have an Incoming OrderRequest, But the incoming OrderRequest can be Message PO_007 or PO_003. When It's PO_003 I need to translate that message to PO_007 and then continue my BPM. When It's PO_007 I can directly continue my BPM.

justin_santhanam
Active Contributor
0 Kudos

Koopmann,

Is there any fields in the payload that differentiates PO-003 and PO-007.

Best regards,

raj.

prabhu_s2
Active Contributor
0 Kudos

recv step for OrderRequest. Switch step with 2 branches. In the first brach have the first rule and in the second process only PO_007. Now for the switch set the conditions if it is POP_003 or not. something like IF..ELSE

Former Member
0 Kudos

Yes, there are field withing PO_003 and PO_007 where you can see which message it is.

Former Member
0 Kudos

Which of the source system generates messages PO_007 and PO_003?

Former Member
0 Kudos

PO_003 generates a message to PO_007 and PO_007 generates a message to the target...

Former Member
0 Kudos

Hi,

Can you explain clearly with a demo example on which condition does data be routed >? Got a idea how to go abt it but i am looking for lil more clarity juz the bpm part will be lil complex.

In of fork , switch can do the job.

cheers,

<b>*RAJ*</b>

prabhu_s2
Active Contributor
0 Kudos

how many sender CC u tend to configure? to be more simple but with some extra efforts put create two interface one addressin the source1->source2-targetue and second for source2->target alone. but before that let us know how many sender CC?

Message was edited by:

Prabhu S

Former Member
0 Kudos

hi Koopmann,

ur scenario looks similar to SAP BASIS--> BPM Pattern...

Basically u need to take a fork with two branch --one having receive step for source 1 and the other one for source2.. Put Necessary branch=1 in property of fork.

if each brach do the mapping- first brachsource1 to source2 and then source2 to target... (use two message mapping in a single interface mapping for this)

similarly do the mapping in the other branch...

at runtime suppose source1 come then it will go to first brach..then it will do the mapping present in that branch and exit the fork..

if source2 comes then it will activate second branch...

try this .. i think it should work....

Former Member
0 Kudos

Hi Koopmann,

What do you want to achieve from this scenario, and where do you find such situations in the real time scenario. Please let us know so that we able to answer your quetstion.

Thanks

Sudheer