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.
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:
//LINKMAP EXEC PGM=IEWL,PARM=('LIST,LET,XREF,RMODE(&RMODE)',
// 'AMODE(&AMODE)')