Creating a filter input file for the load module scanner

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:

Start of changeNote 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.End of change

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:

-
not interested in commands containing this parameter
*
any parameter

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.

Read syntax diagramSkip visual syntax diagram                         .-----------------------.
                         V                       |
>>-+-VERB-+--+--------+----+-------------------+-+-------------->
   '-*----'  '-ADVERB-'    '-+----+--PARAMETER-'
                             '- --'
 
>--...--+---+--------------------------------------------------><
        '-*-'
 

Table 7 shows you how commands can be specified for the filter input file.

Table 7. Examples of commands 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:

Note:
The following exceptions apply to the load module scanner:
Misdetection of verbs
SPOOLOPEN INPUT is detected as SPOOLOPEN OUTPUT, and WAIT JOURNAL is detected as WAIT JOURNALNUM. SPOOLOPEN OUTPUT and WAIT JOURNALNUM, where present, are detected as themselves.

INQUIRE UOWENQ is detected as INQUIRE ENQ.

Equivalent or CVDA--based parameters
Where one parameter is really an equivalent of another, for example, NOSUSPEND on ALLOCATE is equivalent to NOQUEUE, the preferred keyword is returned.

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.

False hits
As with all types of scanners, it is not possible to guarantee that a hit is genuine. There may be a few false hits, due to static data in a module. The reports identify candidates matching a given set of criteria (the commands and options specified in your filter), and the candidates that are identified might not be an exact match to your requirements.

Related reference
Load module scanner (DFHEISUP)
Creating a summary report using the load module scanner
Creating a detailed report using the load module scanner
Activating trace for the load module scanner
[[ Contents Previous Page | Next Page Index ]]