Let's understand Mainframe
Home Tutorials Interview Q&A Quiz Mainframe Memes Contact us About us

Module 5: CICS BMS and Screens


Mapset

What is a mapset

  • A mapset is a set of one or more related screen maps defined together as one unit.
  • It is coded as assembler-language source using three BMS macros: DFHMSD, DFHMDI and DFHMDF.
  • One DFHMSD per mapset, one DFHMDI per map, one DFHMDF per field.
  • A mapset typically holds all the maps of one program - for example a key map and a data map.

The BMS macros

  • PRINT NOGEN: coded once at the start; stops the assembler listing the macro expansions.
  • DFHMSD: coded once; supplies values that apply to the entire mapset (language, terminal type, mode).
  • DFHMDI: coded once per map; supplies values for a single map (size, starting position).
  • DFHMDF: coded once per field; position, length and attributes of a screen field.
  • DFHMSD TYPE=FINAL: coded after the last map; tells BMS the mapset is complete.
  • END: must be the last statement of the input stream.

Assembling a mapset

  • The mapset source is assembled with the DFHMAPS cataloged procedure.
  • The MAPLIB parameter names the load library where the physical map is stored.
  • The DSCTLIB parameter names the copy library where the symbolic map is stored.
  • The MAPNAME parameter (required) gives the name to the physical and symbolic maps.
  • The SYSUT1 DD statement points to the source library member holding the mapset source.
  • Example:-
    PRINT NOGEN INQSET1 DFHMSD TYPE=&SYSPARM, X LANG=COBOL, X MODE=INOUT, X TERM=3270-2, X CTRL=FREEKB, X STORAGE=AUTO, X TIOAPFX=YES INQMAP1 DFHMDI SIZE=(24,80), X LINE=1, X COLUMN=1 DFHMDF POS=(1,1), X LENGTH=7, X ATTRB=(NORM,PROT), X COLOR=BLUE, X INITIAL='INQMAP1' CUSTNO DFHMDF POS=(5,26), X LENGTH=6, X ATTRB=(NORM,UNPROT,IC), X COLOR=TURQUOISE, X INITIAL='______' DFHMDF POS=(5,33), X LENGTH=1, X ATTRB=ASKIP DFHMSD TYPE=FINAL END





© copyright mainframebug.com
Privacy Policy
MainframeBug Assistant