on 08-21-2014 3:18 PM
Hello guru's
I have the following scenario and requirements.
I receive one message with multiple records from Sender.
1) All records must be sent separately to Receiver
(easy to do with the 1:n split)
2) Depending on content of the record some records must be mapped differently and sent via a different interface.
So my example is this:
<message>
<record>
<ID> 1111 </ID>
<indicator>NEW</indicator>
</record>
<record>
<ID> 2222 </ID>
<indicator>NEW</indicator>
</record>
<ID> 3333 </ID>
<indicator>CHG</indicator>
</record>
<record>
<ID> 4444 </ID>
<indicator>CHG</indicator>
</record>
</message>
So in this case it would be that all records where indicator has value NEW we must use mapping A and interface A and all records where value for indicator is CHG must be sent via mapping B to interface B.
But both interfaces still point to the same RECEIVER.
The last requirement would be that all records where indicator has value NEW be sent first.
Can this be done without BPM?
Is there a way to use a dummy receiver in PI system?
What would be the best way to create the required solution?
Regards
Robert
Yes you can do it. You need to sort the mapping after (first) 1:n mapping based on indicator, use interface determination condition and check maintain order at runtime.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Peter,
Thx for your reply.
I created 1 to N mapping where on the N side i have 2 messages: the first is for the NEW and the second is for the CHG messages. Then i call the operation mapping in the interface determination and it works.
Now i have another problem though for i wanted to put this to an ECC proxy receiver. However i got the error that: ADAPTER_NOT_MMF meaning that "Adapter IENGINE cannot process message packages" which is something i was not aware of.
When i did a quick test and put a dummy file receiver in place of the proxy the message was processed without error and i saw 4 messages in the adapter engine monitoring.
But i dont want to use file receiver.
Is there another way to do this?
Regards
Robert
Hi,
It seems you have done multimapping, the message will split into multiple messages in adapter engine but in your case you used proxy which relies on Integration Engine. Please check this thread
However you can use soap adapter with XI protocol for your requirement if you are using PI7.1. Please check this link http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/70066f78-7794-2c10-2e8c-cb967cef4...
Regards,
Praveen
Hi everyone,
Thx for the input. The interface works now as required.
Regards
Robert
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Have a look at this blog. You can do condition based interface determination as given below
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi guys,
I have managed it allright with a few modifications.
The message mapping is really the heart of it all.
The receiver adapter works allright as SOAP adapter with XI protocol.
The one thing that i'm not completely sure about is the sorting into NEW and CHG, where the NEW messages must be sent first to the receiver.
I've now created the message mapping so that it splits to message1 and message2 where message1 gets created for every NEW and message2 gets created for every CHG. Likewise in the OM and then when i call that in the Interface Determnination it all looks ok.
Using testcase of 4 records NEW, CHG, NEW, CHG it looks like it gets sent to receiver NEW, NEW, CHG, CHG, so it looks ok.
I just would like to see if there is a way to make sure that it gets done in the required way. Anyway, thx all sofar in thinking with me.
Regards
Robert
User | Count |
---|---|
80 | |
9 | |
9 | |
7 | |
7 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.