You will need some tcl even if you do the majority of the filtering logic in the Xlate.
If you filter using the Xlate, you will need Tcl to determine if the date in PV1-44 is greater than today’s date.
You can either have some inline Tcl code in the Xlate or invoke a XPM type proc in a COPY or CALL Action which returns a value (Y or N possibly) depending on the relationship of PV1-44 to todays date putting the result in a temp variable (let’s call it @suppress).
Then in an IF Action after the Tcl proc is invoked, check @suppress (or whatever temp variable you used) is eq =Y (assuming Y means PV1-44 is greater than todays date).
If it is equal then issue a SUPPRESS – else – build the message.
If you have many ADT Xlates then this logic will need to be in each Xlate – or you can have a filtering Xlate (where BULKCOPY would be used in the else above) chained with the actual Xlates that build the ob messages. There then would only be one filtering Xlate.
OR you can use nothing but Tcl placed in the pre-Xlate UPoC which finds PV1-44, tests it for greater than todays date and KILLs or CONTINUEs the message depending on the result.
Perhaps a member out there has a proc that does what you want and is willing to share it.
email: jim.kosloskey@jim-kosloskey.com 29+ years Cloverleaf, 59 years IT - old fart.