The DFHMSCAN program:
- Can scan only one load module for each invocation.
- Does not scan CICS® modules and tables in the load library.
- Does not separately identify CHECK macros.
- Cannot identify certain forms of the DFHBIF macro that do not produce
a BALR, or that produce code indistinguishable from that generated by EXEC
CICS commands.
- Cannot, with certainty, find all EXEC CICS commands for COBOL and PL/I,
because the code depends so much on the compiler. Those EXEC CICS commands
not flagged by the "EXEC CICS, EXEC DLI, DLI CALL OR DFHBIF DETECTED"
message are listed as "BALR 14,15 FOUND - NO FURTHER INTERPRETATION".
The main purpose of the DFHMSCAN program is to find macro-level programs.
- Identifies the language of a module by reference to the language of its
last CSECT. This may be confusing if the module is made up of CSECTs written
in different languages.
- Prints only 20 bytes of the code preceding a suspect instruction, in its
detailed report (even though, for a BALR 14,15 instruction, it has scanned
back 40-bytes). This may lead to apparent inconsistencies of interpretation
in detailed reports. For example, two similar EXEC CICS commands in a scanned
module may produce exactly the same 20-byte output in the report, but be interpreted
differently.
- Works by finding code patterns that are similar to those generated by
CICS macros. A module can contain such code without having a CICS macro in
its source.

[[ Contents Previous Page | Next Page Index ]]