Same party - different EDI delimiters?
Let's say we have a party called "THEM". We send EDI 850 documents to them, and receive back a 997. But we also receive EDI 810 documents from "THEM", which have different delimiters than what was defined to send the EDI 850s; we have to send them back a 997 following these different delimiters.
Is this scenario possible, or does each party have to use only one set of delimiters for all its EDI transactions?
Thanks
"does each party have to use only one set of delimiters for all its EDI transactions?"
Yes
For message serialization(Party as Interchange Receiver), the delimiters configured are the ones used, and there is no different delimiter application based on different doc type etc. However the party can change any delimiter at any given time and these new delimiters will be applied for the next document.
So in your case, you can generate a 997 based on the 810 that you receive, configure a second party (lets say party2) with the required delimiters and use party2's setting to serialize this message.
If you want more information on party resolution, you can open a separate thread and I will be glad to assist you with that process.
Thanks
Mohsin
Mohsin Kalam – MSFT wrote: |
| So in your case, you can generate a 997 based on the 810 that you receive, configure a second party (lets say party2) with the required delimiters and use party2's setting to serialize this message. | |
Thanks for the response. I'm unable to create this "party2" as I get an error about duplicate parties, even if the delimiters are different. The two parties are the same, so I cannot change the ISA5/6/7/8 fields to make this new party unique. What am I missing here? I would appreciate any suggestions. Thanks
Perhaps I was not clear enough in my previous thread, so I will explain in more detail.
Delimiter discovery during interchange disassembly (EDI to XML) is dynamic. That means you can get 2 documents with different delimiters that resolve to the same party and they will both be disassembled without any configuration from the party.
During serialization (XML to EDI) however, each party will have a specific set of delimiters defined under Party as Interchange Receiver tab and that will be used to serialize the doc. So if you want to apply two different set of delimiters, you would need to have two different parties. Also by the error you see, the quarter ISA5-8 under Party as Interchange Receiver needs to be unique (because of the way party resolution works).
With this information in hand, lets apply this to your scenario. You said you have a party that receives multiple documents, generates a 997 for the respective document and applies the same delimiters from the source document. As I explained above, you will need to have the following configuration:
1 party for all the incoming documents (since delimiter discovery is dynamic). Lets name it ReceiveParty1
2 parties for the 2 outgoing 997s configured with the proper delimiters (ISA5-8 under Party as Interchange Receiver needs to be unique). Lets name them SendParty1 and SendParty2
In addition to that you need to perform the loopback. You can do this by passing through the generated 997 to a file location and picking up that file by receive pipeline with a custom component that writes the "DestinationPartyName" property to the context (SendParty1 for 850, 2 for 810 etc). This is required since the original 997 will have this property set to ReceiveParty1.
You can then apply filter on the sendport to pick up this 997 and serialize.
Hope this helps
Mohsin