Thank you very much for the reply.
I asked this question because I’m curious about how the correlated transactions are handled. Since the X12 doesn’t concern the semantics of the transactions, the transactions are independent and stateless from its point view. So in this sense, the sequence of the correlated transactions are not guaranteed as well as the logical relationships are not reflected.
Consider this scenario: a retailer creates purchase orders using 850 and expects order to be acknowledged by 855 from its vendor; the retailer also changes the previous orders using 860 and expects the order change request to be acknowledged too. Now the retailer sends a 850 to the vendor and before it receives the corresponding 997 from the vendor, it again sends a 860 to change the order in the 850. On the vendor’s side, however, after receiving the 850 it turns out the document is not processable, so it sends a 997 back to the retailer to rejected the 850. Then the vendor processes next transaction which is a valid 860, and finds that the original order this 860 wants to change doesn’t exist…
Things could be more complicated: even the vendor knows the previous 850 could be lost or rejected and processes the 860 without any problem. What should it do after it receives a resubmitted 850 from the retailer? Should it send a 855 indicating the acceptance or the rejection? It already accepted the 860 which replaces the 850, so it shouldn’t accept the resubmitted 850 again. Should it reject it? Where are the chicken from if there were no eggs?
#Integration-Server-and-ESB#webMethods#edi