We have received large number of EDIINT documents from our customer which was not processed at our TN server as they were found as Duplicated EDIINT. But, they were not duplicates and found that a change to DB caused it to fail as duplicates. We have fixed this.
Now we want to process all the documents received. To ask customer to resend is not an option.
Any help please.
TN server6.0.1 running on Windows2000 server
You have several options, none of which will be pleasing but some easier than others:
Manually reprocess each document in TN. This will permit the duplicate ID and reprocess the document. You will do this in TN console and spend a long time doing this.
Programicatically reprocess each document by writing a flow service that Queries TN to determine which documents need reprocessing. You should be able to pull a series of message meta data and then filter by times, partner ids, etc.
Reprocess changed the status of the document from
ProcessStatus=DONE W/ ERRORS and
I tried to resubmit but that was even worse; Sender, Receiver & DocType all become unknown.
Any other way, please!
Instead of resubmit,try using reprocess the EDIINT document from TNConsole.
RMG is correct (and please read my message as I also used the term “REPROCESS”.
However, in your case, if TN cannot identify the document based on type or extract the IDs from the document, it is possible that the database is corrupt or was corrupted by whatever change occurred.
You mentioned a change on the DB. I hope you backed up the DB prior to the change.
Also, for next time, you can export your TN configuration as an XML file and restore IDs, document types and processing rules (along with other stuff). I highly recommend this prior to anyone monkeying around with the database.
If someone manipulated the database, then you may be in unsupported territory (i.e., you corrupted the database and no one can recover it as we are not magicians).
One thing you can do here to recover is to create a flow that extracts the data from TN, writes it to the file system. This will allow you to drop and recreate the tables for TN. Be sure to backup your TN Configuration. Once the tables are recreated, restore the configuration (if it was possible) or rebuild the configuration.
Then, you can create a loadDocument service, routeXML, and get the docs back in.
I highly recommend that you sit down and give your self a restore/recover strategy for the future. It will save you heartburn.
A Clarification: What I mean by extracting data from TN is to create a service that queries for the documents in question, and write the file content to the file system for later recovery.
Bascially as a best practice you have to design/build a process recovery logic in the realtime transactions especially when these types of problems occurs.This makes life easier when you want to reprocess a batch of documents which are failed due to any transient/network errors and stucked during processing.Follow as Ray mentioned above.
Ray & RMG,
Thanks for the guidance. Hope I can get all the docs back.
We recovered many documents and for some we asked our Partner to resend.
Now, as you suggested, I want to prepare a service which can query and recover data from the TN programmatically. How to do that?
TN has builtin query services,here are the steps
createDocumentQuery(specify query criteria)
documentQuery(specify query it gives results/docs)
look into documentation about using of these services.