Skip to main content

IBM Systems  >   z Systems  >   z/VM  >  

Description of CONCLOSE

Download count: 15 this month, 1862 altogether.

Downloads for CONCLOSE:
VMARC archive: v-9K

From Kris Buelens, IBM Belgium The CONCLOSE exec will close CONSOLE of all users except BATCH users and maybe Print files (can be tailored, see inside CONCLOSE EXEC).

The close should best be done a little after midnight, as to have spool files named with a good date/time stamp, a job for VMUTIL.

Why such an exec ?

  • Long running machines can get very large console files
    • Such big files are cumbersome to scan (e.g. with PEEK)
    • As long as the console files are not closed, they can't be purged by automatic spool file purgers (such as SFPURGER).
  • Spool files could get purged too soon too because CP's time stamps the console files with the time of OPEN.
    Suppose your spool file purger keeps console files for 7 days, a service machine ran for 10 days and the system is reIPL-ed. The SHUTDOWN will close the console file. After IPL your spool file purger runs and find a 10 days old console, so it is purged. No traces anymore about what your server did before the IPL.
   | format:  | CONCLOSE                                 |
  • Parameter TEST: then we'll tell what consoles WOULD get closed.
  • One can exclude some users from this automatic closing:
    Some products/execs do handle their consoles fine (e.g. VMPRF and DIRMAINT) or some servers never run long (e.g. worker machines of VM/BATCH) and often the consoles of batch jobs are collected and one wouldn't like the consoles of a job running at midnight to be split in two files.
    You can update REXX vars IGNOREUSERS & IGNOREGENERIC to list your excpetions.
  • The code was originally written to close console of all users, except the exluded ones.
    If however you list some userids on the "CloseCon" variable, only the listed users will have their consoles closed. Users both on CloseCon and Ignore* lists will not have their consoles closed.
  • If you code "IgnoreGeneric='BATCH* APPL'" the console of user BATCH1, BATCH2, ... APPL, APPL1, APPLTWO, ... will be ignored, but not the console of user BATCH. (this is perfect for how VM/BATCH works: BATCH is the work manager machine, BATCH1 etc are the workers) If you'd like to exclude user BATCH itself too code:
      IgnoreGeneric='BATCH APPL'
    With other words: the ending * represents "at least one character"
  • Requirements:
    • VM/ESA Rel 2 for the SET SECUSER command, and
    • The right CP class to execute this SET SECUSER ( A or C ),
    • And the class to issue Q PRT ALL (class D normally).
    • MAILIT in case we need to report problems
Similar to console files: some long-running users create big PRINT-type files. We will close the files of known "spool file fillers". The list of users is hard-coded below.

At the end of the closings, you can request a command to be run. This command could for example be an XAUTOLOG of a spool file saver.