Killing a Message within a Translator

Clovertech Forums Read Only Archives Cloverleaf Cloverleaf Killing a Message within a Translator

  • Creator
    Topic
  • #48008
    Tony Benitz
    Participant

      I have an inbound message that I break into multiple messages with an existing translator.  I want to be able to NOT create the NEW message within the translator, if a certain condition exists.

      Inbound message has ORC/OBR groupings with no OBX (result) segments.  Translator takes the ORC/OBR and places the OBX segments with them, the result is a single inbound message and multiple outbound messages.

      Problem is that some of the tests are NOT to be forwarded.  If the test is X, the target system does not want to see the message.

      I can do it on a post xlate filter, but I want to see if I can do it within the translator, If the value of the test name is X, suppress the message.

      Another question is does suppress kill the message or does it do something else.

      Thanks in advance

    Viewing 3 reply threads
    • Author
      Replies
      • #57280
        James Cobane
        Participant

          Tony,

          You can SUPPRESS the message within the Xlate if you like, but if you know that you don’t want to route the message based on some condition, you probably should KILL it in a pre-Xlate tps.  Rather than let the message pass into translation to ultimately be disposed of, you should KILL it prior to translation to save unnecessary translation/processing.

          Hope this helps.

          Jim Cobane

          Henry Ford Health System

        • #57281
          Tony Benitz
          Participant

            There lays the problem, I don’t if I want to kill the message until I am in the translator.

            The message is a result, the Order category is contained with the ORC/OBR pairing, which repeats, the problem is that the single message contains multiple orders.  One order for X and one order for Y.

            In the translator, I split apart the message and get a message for X and a message for Y.  I currently have a post xlate filter, BUT the question remains, How to kill in the translator.

            I found the suppress will NOT kill the message.

            What does suppress really do?

            Can you KILL the message in the translator?

            Tony

          • #57282
            David Caragay
            Participant

              Tony,

              SUPPRESS can be used to kill a msg if used correctly in an xlate.

              In a simple xlate (without a SUPPRESS or CONTINUE xlate detail), a CONTINUE command (disposition) will execute on the created msg after the xlate detail has processed.

            • #57283
              Michael Lacriola
              Participant

                A good rule of thumb that I use if I plan on destroying a message within a xlate is to place the SUPPRESS at the very end of the xlate file. This will guarantee that nothing gets sent unless you specify a CONTINUE when your message has been completely built on the output side.

                so…

                ITERATE over OBR segment

                   IF test ne “X”

                       Start creating output message

                       CONTINUE

                SUPPRESS

                Notice the nesting.

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