At present, we have some interfaces read flat file from file system. One file contains more than one rows and each row will become one record into the database. We read data from the file, convert 1 row as 1 document and log this document into our logger before doing any insertion.
When logic error appears, such as parent key mismatch, we will send email to user to notify them to fix the data in the database. Once they have fixed the problem, we will reload the document from the Integration Monitor to re-execute data insertion.
Is there any way user can resubmit the document by themselves without Integration Monitor?
If I had this scenario here is one options I would consider …
Make sure each row-document contains a unique value. If not intrinsic to the data, add something (e.g., a fine-grained time stamp).
Create an agent that subscribes to these documents and records them in a file.
The email that requests a database correction contains the unique value in the subject and contains a special email address for reply.
Instructions in that email tell user to perform the database correction and, when done, reply to the message. Content of reply can be blank, or if user wants to record what they did to correct.
Email adapter subscribes to those replies.
In turn, creates a resubmit document with the unique value, and publishes that document.
The agent from step 2 also subscribes to these resubmits. When it gets one it retrieves the recorded document, publishes it, and marks the entry in file as resubmitted (maybe a counter).
The agent is a little bit of coding, and can expand if the volume of these documents is large. The agent should trim the file from time to time to manage the size.
I should think this a one week maximum project on its own, plus the documentation and training requirements in your environment.