Previous Topic: Using the Suspense File Feature

Next Topic: Additional Considerations


Suspense File JCL Requirements

The DD statement CAIJSSPN defines the output suspense file and must be present in order for incomplete jobs/sessions to be suspended. A DD statement concatenated to the CAIJSSMF DD statement defines the previously created input suspense file. If it is not present, the portions of jobs now completed by subsequent SMF data are converted into the account file and are missing data that had previously been suspended.

In order to avoid continual JCL modifications, it may be appropriate to establish a Generation Data Group to define the data set names used for the Suspense files. In this case, an example input suspense file's data set name might be JARS.SPINFILE(0), and the output data set name would be JARS.SPINFILE(+1). Under normal circumstances, the space requirement for a suspense file does not exceed approximately 10% of the space required to hold the amount of SMF data typically processed. For example, if 40 cylinders of a given device type are allocated for the input SMF file, then 4 cylinders should be adequate for a suspense file.

Another alternative is shown in the example on the next page. Note that permanent, preallocated files have been setup. A trailing job step conditionally copies the output suspense file (created today) to the (next) input suspense file (to be read tomorrow).

The data set names are examples meant to convey usage in this JCL skeleton:

//   EXEC PGM=JSIMAIN
//CAIJSSMF DD DISP=SHR,DSN=raw.SMF                  (INPUT)
//         DD DISP=SHR,DSN=suspense.yesterday       (INPUT)
//CAIJSSPN DD DISP=SHR,DSN=suspense.today           (OUTPUT)
 .
 .
 .
//   EXEC PGM=IEBGENER,COND=(0,NE)
//SYSPRINT DD SYSOUT=*
//SYSIN    DD DUMMY
//SYSUT1   DD DISP=SHR,DSN=suspense.today           (INPUT)
//SYSUT2   DD DISP=SHR,DSN=suspense.yesterday       (OUTPUT)