kill message in translation / suppress

Clovertech Forums Cloverleaf kill message in translation / suppress

  • Creator
    Topic
  • #114925
    Stewart
    Participant

      In reviewing the cloverleaf documentation related translations it states that suppress will transmit the message.  I had a translation that sent a duplicate message when I had set it be suppressed.  What’s the best way to kill the message if you don’t want it to be sent?

    Viewing 3 reply threads
    • Author
      Replies
      • #114926
        Paul Bishop
        Participant

          To me, the wording in the documentation is confusing.  SUPPRESS in a translate will prevent the message from going beyond the translation process.  It will still process the message through the translate so any coding you have will still be done (an email for example), but the message will not be sent to the output after the translate.

          To prevent a message from being translated, you can use a proc in either the Inbound/TPS Inbound Data UPOC which prevents the message from getting to any routing, or you can use Pre Procs UPOC on the Xlate routing setup which will be only for that particular route.

          • This reply was modified 4 years, 11 months ago by Paul Bishop.

          Paul Bishop
          Carle Foundation Hospital
          Urbana, IL

        • #114932
          Jim Kosloskey
          Participant

            The way I like to use SUPPRESS to filter messages is to use an IF  with ELSE Action:

            IF <cond>

            SUPPRESS

            ELSE

            Build the OB message…

             

            This way the Xlate tokenizes the OB message but does not populate anything IF the filter condition is true.

            If you are receiving duplicate OB messages, then I suspect you have a CONTINUE or SEND Action being executed.

            I had a situation where the requirement was to do a lot of filtering and it was required to be in Xlate. In that case I used specific Xlate(s) for filtering, named them appropriately so one could tell which Xlates filtered and chained them in front of the Xlates which were needed to build unfiltered messages.

            That worked quite well. I did not detect any significant performance issues.

             

             

            email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.

          • #114935
            Charlie Bursell
            Participant

              Why would you want to incur the overhead of translation if you will KILL the message within the Xlate?  Translation is the long pole in the overall message processing path.   As Paul said, write a filter pre-proc and kill before Xlate.  There are probably exceptions, but will be rare.

            • #114944
              Matthew Brophy
              Participant

                Just another perspective, IF you’re receiving multiple messages from an xlate it is likely because you’re using CONTINUE off an iterate.

                 

                If you are qualifying a message off of values within a repeating group/segment (which would be difficult from a pre-proc), then you could use a garbage variable such as “@sendFlag”.  Populate @sendFlag with NO before the iterate. Populate the variable with something else (YES) if the condition is met.  Then CONTINUE if that variable is not NO.  This way you will only have a true or false condition rather than multiple CONTINUES of a message within an iterate.

            Viewing 3 reply threads
            • You must be logged in to reply to this topic.