HP OpenVMS Systemsask the wizard |
The Question is:
I need to know how to get the SUBMIT/AFTER
command to submit a job to a batch queue every first of the month - thanks for
any assistance you can offer. Here is what I have done so far $ y =
f$cvtime("TODAY","ABSOLUTE","YEAR")
$ m = f$cvtime("TODAY","ABSOLUTE","MONTH")
$ nextmonth = f$cvtime ("''nextmonth'+32-","ABSOLUTE","DATE")
$ submitdate = f$edit(f$cvtime (nextmonth,,"day"),"UPCASE,COLLAPSE")
$ submitday = f$edit(f$cvtime (nextmonth,,"weekday"),"UPCASE,COLLAPSE")
The Answer is :
One approach involves resumbitting the job daily, and simply
checking to see if the current day is the first of the month:
$ if f$int(f$cvt("TODAY",,"DAY")) .ne. 1 then EXIT
Another could involve DCL similar to the following:
$ WhichDay = F$Cvt("TODAY+31-","ABSOLUTE","DATE")
$ MonthFirst = F$Cvtime( F$Cvtime( WhichDay + -
"-"+F$Cvtime( WhichDay,,"DAY")+"-", -
"ABSOLUTE","DATE") + -
"+1-","ABSOLUTE","DATE")
$! and, if needed...
$ MonthLast = F$Cvtime( F$Cvtime( MonthFirst + -
"-"+F$Cvtime(MonthFirst+"+31-",,"DAY")+"-", -
"ABSOLUTE","DATE") + -
"+31-","ABSOLUTE","DATE")
You could easily replace the TODAY+31- used in the first line of DCL
with some other required month, of course, and the remainder of the
code would calculate the first and last day of that month.
Various DCL-related resources are available, including the OpenVMS
User's Guide and books from Digital Press. Also see topic (6069).
|