We have a reached a road block in which we are hoping someone here can assist us.
We are using Biztalk Server 2006 R2. Our backend is SQL Server 2000. We are using X12 and AS2 for all communication.
We are sending EDI 810s (Invoices) to our partners using the EDISEND pipeline, and they are sending back EDI 997s (Functional Acknowlegements) which we are receiving through an EDIRECEIVE pipeline. The 997s are currently being written to a file location upon receipt.
This process is working fine in that they are successfully receiving the 810s, and we are successfully receiving the 997s back from them, except we are unsure how to properly process the 997s we are receiving. We would like to update a database table with a datetime stamp of when we received the 997 for the corresponding 810.
We first attempted to set up a send-receive (request-response) port that would send the 810, receive the 997 acknowledgement back, and update the table at that time. Our problem in this instance was how to properly configure the send-receive port to send the 810 EDI File, and receive the 810 EDI File. It appears that “FILE” is not an option when configuring this type of port.
Our second attempt, was to create two other orchestrations. The first orchestration (which is working fine), picks up the 810 file that we have created and sent to our partner, grabs the Group Control Number from the ST02 element in the ST segment, and writes this value to a database table, associating it with an internal invoice number.
We then created a second orchestration whose purpose was to pick up the 997 received, grab the Group Control Number from the AK102 element of the AK1 segment, and update the corresponding invoice in our database table with a datetime stamp signifying that the 997 was received.
What appears to be happening in this case is that the 997 file is picked up, but nothing inside the orchestration appears to be taking place. There are no errors in the event log, and the message is not suspended. We are thinking that because Biztalk 2006 R2 is setup to process 997s “automatically,” that maybe it is taking over the 997 before it can be processed by the orchestration.
At this point we are unsure how to proceed, and so are hoping others have had this same requirement, and can point us towards the best solution.
Thanks!