on 10-18-2012 3:55 PM
I am new to PI (7.11) and am attempting this scenario. Via Proxy I am sent data that needs to be broken into multiple files based on the content of two elements. One of the elements will determine which receiver will get the file(s) and one element will determine when to break the data into one or more files. I have the receiver determination working for the routing based on the first element, but I can't get the data to break into multiple files. The proxy may push data for one receiver that needs to be broken into multiple files and sent to only one receiver or the proxy may push data that needs to be broken into multiple files and the receiver for each file determined individually.
Hi Dave,
I would suggest the following approach:
1) First work out on the breaking of data into one or multiple files
2) Determine receiver individually even if all the files need to go to the same receiver.
I am not sure what are you exactly looking for but I thought you wanted to discuss the approach.
Regards,
-- V J
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi V J,
Thanks for the quick reply. I understand how to send the file individually (I am at least fairly sure I understand this part). What I do not fully understand is how to break the data into multiple files. My data is like this:
<DC>XXX</DC>
<RECEIVERID>FRED</RECEIVERID>
<DC>YYY</DC>
<RECEIVERID>FRED</RECEIVERID>
<DC>ZZZ</DC>
<RECEIVERID>FRED</RECEIVERID>
<DC>AAA</DC>
<RECEIVERID>BOB</RECEIVERID>
<DC>BBB</DC>
<RECEIVERID>BOB</RECEIVERID>
<DC>CCC</DC>
<RECEIVERID>BOB</RECEIVERID>
So I wish to create six (6) files. Three (XXX,YYY,ZZZ) go to FRED and three (AAA,BBB,CCC) go to BOB. I am dynamically creating the file names based on the value in the <DC> element (This part works, but I am only getting one file---however it is named correctly.
Thank you again and I hope I made my question clearer.
Hi Dave,
You can try this mapping:
<RECEIVERID> (Context changed to the parent node of <DC> and <RECEIVERID>) ---> Collapse Context ---> Split by Value (Value Change) --> Target Node
Now you have all the FRED ones together and BOB ones together.
Is this what you were looking for?
If not, please share your Target Structure and I'll help you with the mapping.
Regards,
V J
Hi Dave,
Here is an example where I have done something like this using an interface determination that maps one source message into multiple receiver interfaces. There would also be an option to use receiver determination with multiple parties for one receiver interface if the file formats on the receiver side could be generated from the same XML structure. In my case the file formats were different so I have many receiver interfaces for different files that needed to be dropped on the other end. If you look at the screenshot I've included you'll see that you can use operation mappings to split the source as necessary into multiple receiver interfaces and you can also use conditions to decide how this should happen. See below:
Regards,
Ryan Crosby
So here is the Source Mapping (with unimportant stuff at the bottom removed.
And here is the target mapping (unimportant stuff removed)
Speaking from the Source mapping, every time there is a new Distributor Code node, I want to create and send a separate file. The file will be routed based on the value in the Receiver ID field (and by design, this value will always be the same under each Distributor Code Node).
There can be one more approach of using Multi mapping to split the file based on condition in the mapping and then using the conditions in receiver determination to send it to different receivers.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
If you are using one bussiness syste./Bussines service then use Ryan Crosby replay and implement, it works.
else
Write a condition in receiver determination if you have multiple receiver.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
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.