Another way it to use a pre-processing fex. The 7th day before the end of the month will be one of the following:
the 21st in Feb or 22nd in a Leap Year.
the 24th of Jan, Mar, May, Jul, Aug, Oct or Dec
the 23rd of Apr, Jun, Sep or Nov
Set the job in RC to run on the 21st, 22nd, 23rd and 24th.
In the pre-processing fex see if the run date is the 7th day befor the end of the month (lots of ways to do this). If it is allow the job to run. If not, set the &&KILL_RPC to Y and the job will stop. The only catch is if the job has multiple tasks, you have to do the pre-processing fex before every task. (Ive had a NFR in for this for about 5+ years).
We do this a lot. We have jobs that run on a given Business day of the Month which takes into account weekends and holidays.