Skip to Content
0

Message split according to data

Mar 06 at 05:35 AM

59

avatar image

Dear All,

I have IDOC to JDBC scenario. I have multiple SQL servers with same stored procedure name. I’m using IDOC ARTMAS to trigger material data from SAP. Once IDOC came to SAP PI server (Single stack without BPM) I want to create multiple messages as per the value in <E1BPE1MARCRT>-<Plant> field.

Eg:- <E1BPE1MARCRT>-<Plant> = “SCCC” Header data + 1st E1BPEMARCRT segment Data should go to sql server A

<E1BPE1MARCRT>-<Plant> = “SCA2” Header data + 2nd E1BPEMARCRT segment Data should go to sql server B

Please help me to resolve this.

scenario.png (31.4 kB)
10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Best Answer
Chih-Chieh Chan Mar 12 at 06:36 AM
1

Hi, Buddhika

Using standard PI message split, node function "createif" and setup 2 different JDBC receiver communication channels can implement your idea.

1.Set up standard message split in message mapping object in the tab of "Signature." 1st msg is design to go to System A while 2nd msg goes to System B.

2.Leverage "createif" node function so plant "SCCC" goes to 1st target msg and plant "SCA1" goes to 2nd target msg. Be noticed, make "plant" node in the context of "grand parent" level, in this case it is "MTComposite", rather than a regular one.

3.Configure 2 different JDBC receiver communication channels to represent different DB.


Show 5 Share
10 |10000 characters needed characters left characters exceeded

Thanks for your detailed explanation. :) I have more than 70 Databases. Will that be okay to use more than 70 target messages in message mapping?

0
Buddhika Krishantha

I would suggest having 70 different receivers and there individual mapping, this way you can maintain them independently and it would be more easy to do if any further enhancement.

0

If I get another database, then I have to add another target message right?

0
Buddhika Krishantha

Yes, you need to add one more extra.

0
Buddhika Krishantha

I'm not quite sure about it. It depends on PI's capacity and perhaps you can make an experiment to find it out.

0