IDIDATST side file availability test utility

A utility program, IDIDATST, is provided to help determine the availability of matching source mapping side files for programs within load modules. Normally, IDIDATST would be used during an installation phase, to check if existing compile listings or side file rebuild processes had produced usable side files, should abends occur in the program suite. It is a way of determining before an abend occurs, if matching compile listings or side files are available for a program.

The basic operation of IDIDATST, with no input parameters, is to scan all programs in load modules of the //STEPLIB DD first concatenation data set. Each program or CSECT is tested for an available matching side file from the corresponding IDICNFxx DataSets option list of side file data sets, and a search report is written to //IDITRACE DD, if there is one in the job step. All of the side file DD statements for each language, such as //IDILCOB for COBOL, can be added to the IDIDATST job step, and they are searched first for the corresponding program language before searching any IDICNFxx options data sets.

A sample job for invoking the IDIDATST utility is as follows:

//IDIDATST JOB ...
//RUN      EXEC PGM=IDIDATST,PARM='parms'
//STEPLIB  DD   DISP=SHR,DSN=load_lib_dsn
//IDICSV   DD   SYSOUT=*
The optional PARM field can be added to the EXEC PGM=IDIDATST JCL statement in the form:
Figure 1. Syntax

1 PARM='PGM=load_module_name'
where:
load_module_name
The name of a load module in the //STEPLIB DD first concatenation data set. If the load module name that is specified is shorter than 8 characters, then it is used as a filter to match against the same first characters of all load module names.

For example, specifying


PARM='PGM=KACBB092'

tests only the load module KACBB092, whereas specifying


PARM='PGM=KAC'

tests all load modules with names starting with KAC in the first STEPLIB data set.

A consolidated report is created from each run of IDIDATST, with a one-line result for each program search, which is written to the //IDICSV DD. The IDICSV output is in comma-separated-value (CSV) format, which might be useful if importing the data into a spreadsheet program, for example. For a copy of the same data in a column-aligned format (which is more suited to editor review), add //IDIFLAT DD to align the CSV data with blanks.

The IDIDATST process for a STEPLIB does not re-test programs or CSECTS that occur in a subsequent load module.

IDIDATST cannot exactly replicate a side file test that would occur under an abend condition.

An optional //IDINOTST DD can be added to provide a blank-delimited list of prefixes for program names that are to be excluded from side file checking. For example:

//IDINOTST DD * 
XYZ ERR1*       
ABCD
/*              
Appending an asterisk to the program name prefix is optional and does not alter the IDIDATST behavior.