cancel
Showing results for 
Search instead for 
Did you mean: 

One sender, one receiver but muliple mappings - how to map only one of them

Former Member
0 Kudos

Hi,

I have Idoc-XI-jdbc stored proc scenario. The idoc contains a field table_name. There will be only one idoc at a time having only one value in table_name field. But there are 30 possible values. So I have 30 different message types and 30 message mappings and interface mappings, because on destination there are 30 different stored procedures(only one is triggered at a time)

There is one to one mapping between table name and stored procedure, so if table name is a, i want 1st mapping to trigger, if table name is b, then only 2nd mapping should trigger not others, and so on.

The receiver expects only one of the stored proc to be triggered. so how do i put conditions in my incoming idoc to map to a specific mapping.

Please do not tell me that i have to use BPM, as i am a selflearner and this is just my 4th XI interface and do not know anything about BPM.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Pulin,

BPM is not required here

Have you developed 30 Message Mappings and 30 Interface mappings in IR? Hope each IM has the same O/b interface and different I/b interface.

If this is what you have done, then in Interface determination object, add all the inbound interface (use the + sign to add a new interface). When you add a new interface, there will be a new column to add condition, here apply your condition to each interface.

Do let us know if you have problems with this.

Ref: /people/suraj.sr/blog/2006/01/05/multiple-inbound-interfaces-within-a-service

Regards,

Jai Shankar

Former Member
0 Kudos

Hi Jai,

I think your solution will be the answer. Full points to you. Also points to everyone who replied so quickly.

I also have another question regarding sequence of stored procedure parameters, if you can help. I cannot link to that thread, but if you search

"Parameter sequence in stored proc in JDBC receiver", you will find it.

Thanks

Former Member
0 Kudos

Already gone through the thread and watching the same. Will update you if I can find some thing useful.

Regards,

Jai Shankar

henrique_pinto
Active Contributor
0 Kudos

Apart from condition in interface determination, you could have a single message mapping, which would be way easier to maintain.

In your target mapping definition, just define the 30 possible element tags under root tag, and mark them all as optional (occurance = 0...1). Then, in your message mapping, create each of the element tags with a CreateIf standard function. As input of the CreateIf function, use the result of comparing the value of the input field with the value refering to that particular tag (with EqualS standard function, for example).

Regards,

Henrique.

Former Member
0 Kudos

HI,

See the above given link is hard coded one because , you would have to do 30 interfaces and the given ref blog is old SP version not new..

But i suggest dynamic routing is the best one based on condition.

I mean in above condition always only one message interface will be routed to reciver is it correct or not .

if it is correct , the no need of 30 interface mappings??

use 30 messages in mapping and apply filter / condition based on condition route message and rest of messages will be SUPPRESS ,

so in configuration only one IM is required.

This solution is only if you have 30 different idocs / or messages .

else if you have all 30 similar messages then no need of it you can do it with Idoc packaging or collection of messages

With replying to second question ,

Yes you should have the sequence in stored proceedure for JDBC.

Regards

Chilla

<i>reward points if it is helpful..</i>

Answers (3)

Answers (3)

Former Member
0 Kudos

I think there is no option without BPM. Current XI doesn't support multiple sources, to one target structure using specific mapping for each source.

Former Member
0 Kudos

HI,

Develop multiple mappings and use in interface mapping

See the below link

Multiple mappings into one Im -

Regards

Chilla

Former Member
0 Kudos

Sounds tricky to me. Are you sending dynamic message types?

You can define multiple mapping programs to convert Source sturcture to Target message structure but in your case multiple message types and for each message type one mapping program?