Module 12: CICS Resource Definitions and Administration
BMS Map Definitions
Before a program can SEND or RECEIVE a screen, its BMS mapset must be assembled into a load module and defined to CICS with a MAPSET definition.
From BMS source to a running map
- You code the map in BMS macros: DFHMSD for the mapset, DFHMDI for each map, DFHMDF for each field.
- The source is assembled twice - once for the physical map (screen layout) and once for the symbolic map (the COBOL copybook your program uses).
- TYPE=MAP with MODE=INOUT builds the physical map; TYPE=DSECT with LANG=COBOL builds the symbolic DSECT.
- The assembled physical map becomes a load module in a load library on the DFHRPL concatenation.
- PARTITIONSET definitions are the same idea for partitioned screen sets - rarely needed today.
The MAPSET definition
- MAPSET - the 1 to 8 character name of the assembled mapset load module.
- STATUS(ENABLED) makes the maps usable; DISABLED blocks them.
- RESIDENT(YES) keeps the mapset in storage; NO loads it on demand - fine for most maps.
- USAGE(NORMAL) is the standard; other values exist for special device support.
- Like programs, mapsets are refreshed with NEWCOPY after reassembly.
Assembling a mapset
- Assemble with the high-level assembler, using &SYSPARM to pick MAP or DSECT in one source member.
- Put the load module where CICS can find it, define the MAPSET, and install the group.
Example - assemble skeleton and define the mapset:
//MAPASM EXEC PGM=ASMA90,PARM='OBJECT'
//SYSLIB DD DSN=CICS.SDFHMAC,DISP=SHR
//SYSIN DD *
ORDMAP DFHMSD TYPE=&SYSPARM,MODE=INOUT,LANG=COBOL, X
STORAGE=AUTO,CTRL=(FREEKB,FRSET)
ORDM1 DFHMDI SIZE=(24,80),LINE=1,COLUMN=1
CUSTNO DFHMDF POS=(5,10),LENGTH=6,ATTRB=(UNPROT,NUM)
DFHMSD TYPE=FINAL
END
/*
CEDA DEFINE MAPSET(ORDMAP) GROUP(ORDGRP)
STATUS(ENABLED) RESIDENT(NO)
CEDA INSTALL GROUP(ORDGRP)
