The Question is:
In a production environment, periodic work is often performed by batch jobs
that resubmit themselves. Inevidably, the batch log files will increment to
the maximum version number for a VMS file of ;32767 and when the next instance
of this job releases fr
om the queue, the job fails because it cannot create a batch log file with a
version greater than 32767.
I would like to modify re-submit logic of the DCL script to look for the
previous logfile having MAXVERSION - 1 and fix the impending failure.
Here is one course of action I thought of -
1.) rename existing logs which range from ;m to ;n to ;1 to ;n-m. (Notice that
we never retain all 32767 prior logs, but we might have 400 of them
from ;32366 to ;32767, for example.)
2.) the currently opened log still has the version ;32767! and it must be
n-m+1!! Can I do this from the running batch program acting on its own batch
log!!! I doubt that dcl "rename" or rtl lib$rename_file works on a file that
is currently opened, even though it is opened by the batch process trying to
rename it. Are there a
ny options using the open channel??
Or, is there a better way which escaped my analysis?
The Answer is :
Please see topic (5845).