Nailed it. (I love date challenges!)
Note that you can change the "20180424" literal to test for different run days.
==========
! return current date on Tuesdays, except for last Tuesday of month.
:Set &MyFormat# = "YYYYMMDD"
!:set &Today# = sys_date_physical(&MyFormat#)
:set &Today# = "20180424"
:print "today: &Today#"
:set &MM# = substr(&Today#,5,2)
:print "Current MM: &MM#"
!Test to see if next tuesday is in the same month
:set &NextWeek# = add_days("&MyFormat#:&Today#",7)
:set &NextWeekMM# = substr(&NextWeek#,5,2)
:print "NextWeekMM: &NextWeekMM#"
:if &NextWeekMM# = &MM#
: print "No adjustment necessary"
: set &Results# = &Today#
:else
: print "Adjusting date to first of next month"
: set &Results# = last_of_period("&MyFormat#:&Today#","MM",&MyFormat#)
: set &Results# = add_days("&MyFormat#:&Results#",1)
:endif
:print "results: &Results#"