TSO-ISPF JCL COBOL VSAM DB2 CICS Tools Articles Job Portal Forum Quiz Interview Q&A

BMS Macro - DFHMSD


DFHMSD is used to define a mapset with its characteristic and to end a mapset. So you will find two DFHMSD in any BMS coding. Some of the important operands are below:

  • TYPE

    It should be DSECT for Symbolic map generation, MAP for physical map generation and FINAL to indicate the end of mapset. Alternatively symbolic parameter &SYSPARM can be coded in the TYPE of defining DFHMSD and the value can be overridden in the PARM parameter of assembly procedure. This avoids the change in the BMS coding.

  • MODE

    IN for input maps like order entry screens and OUT for output maps like display screens and INOUT for input-output maps like update screens.

  • LANG

    It specifies the language in which the symbolic map is to be generated. It can be COBOL, PLI, ASM or RPG.

  • STORAGE

    AUTO is used to acquire separate symbolic map area for each mapset. BASE=MAP-IOAREA allows multiple maps from more than one mapset to share same storage area. MAP-IOAREA will be redefined multiple times to achieve it.

  • TIOAPFX

    It should be ‘YES’ to reserve the prefix space of 12 bytes for BMS commands to access TIOA properly. This is required for command level CICS.

  • CTRL

    Device control requests are placed here. Multiple parameters are separated by comma. FREEKB is used to unlock the keyboard. FRSET is used to reset the MDT of all the fields in all the maps to zero. ALARM is used to set an alarm at screen display time. PRINT is used to send the mapset to printer.

  • TERM

    If anything other than 3270 terminal is used for display of screens, then it should be coded here. This ensures device independence by means of providing the suffix. SUFFIX is used to specify suffix for the terminal and it should correspond to TCT entry of the terminal.


Example

The following example shows how to code a mapset definition,

MPSET1  DFHMSD TYPE = &SYSPARM, X
   CTRL = (FREEKB,FRSET), X
   LANG = COBOL, X
   STORAGE = AUTO, X
   TIOAPFX = YES, X
   MODE = INOUT, X
   TERM = 3270
   DFHMSD TYPE = FINAL
END


If you have any doubts or queries related to this chapter, get them clarified from our Mainframe experts on ibmmainframer Community!

Are you looking for Job Change? Job Portal