IBM Security Z Security

 View Only

 Use of DSNPREF for LEEF file creation

Stuart Evans's profile image
Stuart Evans posted Mon January 27, 2025 07:12 AM

Hi

We have been tasked with creating LEEF files of RACF events from the last seven years. This needs to be automated as far as possible, so we can run batch jobs continuously in order to create the files as soon as possible., including over weekends, so we need to schedule the jobs via TWS.

Looking at the LEEF file process, we can use the DSNPREF statement to pull in the relevant SMF dump, and due to the size of the data, I think we'd need to process one days worth of data at a time, thus one LEEF file for each day.

The problem is, how do we code the DSNPREF statement so that it pulls in the correct SMF file ? The SMF dump datasets are in the format SYSMF.lpar.RACFRECS.DATA.Dyymmdd. Is there anything we can specify that doesn't mean we have to hardcode the DSNPREF statement for the SMF dump dataset ?

Any other suggestions for how we can do this ?

Thanks in advance.

Stuart

Rob van Hoboken's profile image
Rob van Hoboken IBM Champion

If you have only 1 SMF data set per day for each LPAR, you could move the dsname specification into the JCL, using a JCL symbol for the date, like so:

// SET DATE=250117
...
//SMFSYSA DD DISP=SHR,DSN=SYSMF.SYSA.RACFRECS.DATA.D&DATE
//SMFSYSB DD DISP=SHR,DSN=SYSMF.SYSB.RACFRECS.DATA.D&DATE

In your modified CKQSPECL you write several ALLOC commands like

ALLOC TYPE=SMF DD=SMFSYSA
ALLOC TYPE=SMF DD=SMFSYSB

The generate your jobs with different values for the symbol DATE.  Oh, consider allocating a smallish CKFREEZE for each of the LPARs.

Rob van Hoboken's profile image
Rob van Hoboken IBM Champion

Alternatively, you can start the LEEF generation job with a Rexx (or CARLa) step that generates as many ALLOC commands as you need, for all the possible system ids with the date field generated from a parameter, stuffs them in a temporary data set, and the CKRCARLA step that generates LEEF includes the temporary data set using INCLUDE DD=ddname.  You will want to use the ALLOC TYPE=SMF DSNPREF= variant, because this allows the step to continue even if the SMF data set is missing for the day.