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
