Changes to the BMS map generation macro (DFHMSD)

CICS® provides a sample map generation job, DFHMAPS, for assembling BMS maps defined using the DFHMSD macro. Although this procedure provides an RMODE variable (which defaults to RMODE=24 in earlier releases), RMODE is used only on the LINKMAP job step. This has meant that, in the absence of any AMODE and RMODE statements explicitly specified in the DFHMSD map source statements, the assembler uses RMODE(24) and AMODE(24) by default. If you invoke DFHMAPS with RMODE=ANY specified, the assembler default values result in the binder reporting a conflict between the AMODE and RMODE values in the LINKMAP step (IEW2646W with condition code 4). To avoid this binder warning message, the DFHMSD macro is changed, together with a corresponding change in the DFHMAPS procedure.

Note:
The changes described below are made in response to APAR PQ25976.

The DFHMSD macro is changed to test for the presence of a CSECT statement. If your DFHMSD map source statements do not already include a CSECT, the DFHMSD macro adds the following statements for you:

mpsname  CSECT
mpsname  AMODE 31 
mpsname  RMODE ANY 

The addition of these statements means that, by default, all maps are generated for use above 16MB, unless you include AMODE and RMODE statements to specify otherwise.

If DFHMSD detects a CSECT statement, it operates as in earlier releases, and does not add the new AMODE(31) RMODE(ANY) statements. If your source maps define a CSECT but not AMODE and RMODE values, you might want to consider changing them to exploit the DFHMSD and DFHMAPS enhancements.

To support the changes to the DFHMSD macro, the following changes are made to the DFHMAPS procedure:

[[ Contents Previous Page | Next Page Index ]]