Resending from ERROR database

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Resending from ERROR database

  • Creator
    Topic
  • #54799
    Rob Lindsey
    Participant

      Found an interesting situation yesterday.  I have 4 programs on the Inbound TPS stack.  The 4th TCL proc had an error in it and rightfully the data went to the error database.  The issue that I discovered was that the 3rd program rearranged the data of the MSH (flipped msh-3 and msh-5).  So after the 4th program got fixed, I did a resend of the data out of the error database.  Well what I did not know was that the resend drops the data back at the beginning of the TPS stack, not on the program that errored out.

      MSH Data as it came in:

      MSH|^~&|TMJ|IBT|IBT|0535|20150826114851||ORU^R01|01718281|P|2.3|||AL|NE

      MSH|^~&|TMJ|IBT|IBT|0535|20150826114851||ORU^R01|01718282|P|2.3|||AL|NE

      MSH data in the error database:

      MSH|^~&|IBT|IBT|TMJ|0535|20150826114851||ORU^R01|01718281|P|2.3|||AL|NE

      MSH|^~&|IBT|IBT|TMJ|0535|20150826114851||ORU^R01|01718282|P|2.3|||AL|NE

      MSH data after resending out of the error database:

      MSH|^~&|TMJ|IBT|IBT|0535|20150826114851||ORU^R01|01718281|P|2.3|||AL|NE

      MSH|^~&|TMJ|IBT|IBT|0535|20150826114851||ORU^R01|01718282|P|2.3|||AL|NE

      (basically put the data back to the way it originally was sent in, which caused errors in the receiving system)

      Not sure if this is a “Feature” that everyone else knew about or not but I wanted to let everyone know.

      I can put in a ticket if it is not supposed to be that way.  So I have learned that you have to be careful when resending out of the Error database.

      Rob

    Viewing 1 reply thread
    • Author
      Replies
      • #83059
        Jim Kosloskey
        Participant

          Rob,

          So you saved the message from the Error DB to a file, then resent the file to the IB thread post-tps or pre-tps?

          If the above is true then I suspect things are working as they should.

          My thought is the original message is saved to the DB because the inbound stack failed and you only have the option of resending prior to the entire stack or after the entire stack.

          So if any element in the stack failed how would you be able to specify where in the stack things should restart?

          I think the generally safest approach is to resend pre-Tps if any element failed.

          Of course if your first element in the stack is a reply proc then an unsolicited reply would be experienced by the sending system.

          email: jim.kosloskey@jim-kosloskey.com 30+ years Cloverleaf, 60 years IT – old fart.

        • #83060
          James Cobane
          Participant

            Rob,

            You essentially have a couple of options when performing a resend (inbound); pre-tps or post tps.  Pre-tps sends the message through the full IB tps stack; post-tps skips the tps stack.  You probably wanted to send it post-tps, to avoid re-processing through the stack.  So, it is behaving as designed.

            Hope that helps.

            Jim Cobane

            Henry Ford Health

        Viewing 1 reply thread
        • The forum ‘Cloverleaf’ is closed to new topics and replies.