The load module scanner locates all EXEC CICS® commands in the load modules in the library you are scanning. It then applies a filter that you have specified, and reports only on the subset of commands that you have listed in the filter. For example, you might want to find a particular command that is not supported for certain usage in CICS. You can specify that command in a filter input file. When you run a summary report using that filter, the load module scanner reports the names of the modules containing that command. When you run a detailed report using that filter, the load module scanner reports each occurrence of that command in each module.
Each command that you want to find is placed on a separate line in the filter input file, for example:
Note that where a command consists of two words, you must
specify both words. For example, just specifying INQUIRE * on a line
in a filter input file does not work, because INQUIRE is not valid
on its own as a command. You need to specify the complete command,
for example, INQUIRE FILE *. A sample filter input file, DFHEIDAL,
is supplied to provide a definitive list of all valid CICS commands
that the load module scanner will recognize.
As well as the command itself, you can specify parameters or options that you want to find or exclude. When specifying parameters, two operators are allowed, as follows:
If no parameter or operator is specified for a particular command, the load module scanner searches for that command with no parameters. In the example above, RETURN * finds all RETURN commands, with any parameters or no parameters. RETURN, without the *, would only find occurrences of the RETURN command with no parameters.
.-----------------------. V | >>-+-VERB-+--+--------+----+-------------------+-+--------------> '-*----' '-ADVERB-' '-+----+--PARAMETER-' '- --' >--...--+---+-------------------------------------------------->< '-*-'
Table 7 shows you how commands can be specified for the filter input file.
Command | Parameter specification |
---|---|
SYNCPOINT | SYNCPOINT commands that have no parameters |
RETURN * | All RETURN commands, with any parameters or no parameters |
WRITEQ TS * | All WRITEQ TS commands, with any parameters or no parameters |
LINK PROGRAM SYSID * | LINK PROGRAM commands with SYSID, with any other parameters (or no other parameters) |
GETMAIN BELOW -SHARED * | GETMAIN commands with BELOW, but without SHARED, with any other parameters (or no other parameters) |
GETMAIN -INITIMG * | GETMAIN commands without INITIMG, with any other parameters (or no other parameters) |
WRITEQ TS QUEUE FROM LENGTH | WRITEQ TS commands that have only the parameters QUEUE & FROM & LENGTH (and no other parameters) |
* LENGTH * | All commands with a LENGTH parameter and possibly other parameters |
* LENGTH | All commands with a LENGTH parameter and no other parameters |
* * | All commands with any parameters |
* | All commands with any parameters |
The * LENGTH * line shows how the 'any' operator specification can be used to search for any command. The second * operator is needed, unless you want the line to imply all commands with only a LENGTH parameter.
If you include * * or * as a line in the filter input file, this effectively means that no filtering of commands takes place.
Comments may be placed in the filter input file by beginning the line with a # character.
Each line specified in the file will be checked to ensure it represents a valid filter. Checks are made to ensure that the command exists, that the parameters exist, and that they are usable as filter data.
Some parameters cannot be identified by the scanner -- if they are specified as part of a filter, a warning message is returned.
If you incorrectly specify a command or parameter, you receive an error message, and the load module scanner terminates with a return code of 12.
CICS provides the following sample tables in the SDFHSAMP library:
INQUIRE UOWENQ is detected as INQUIRE ENQ.
Where parameters can be coded as CVDA values, only the real parameter is located by the scanner. Additionally, if equivalent or CVDA-based parameters are included within a filter file, the scanner sends a warning to inform you which parameters cannot be located.
JUSFIRST and JUSLAST on SEND TEXT are detected as JUSTIFY, and reported as CVDA values.