![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
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 changed to 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).
|