Mapset definition.
DFHMSD Minimum BMS >>-mapset--DFHMSD--TYPE--=--+-DSECT-+---------------------------> +-MAP---+ '-FINAL-' .-,---------------------------------. .-,---------------------------------------. V | V | >----+-------------------------------+-+----+-------------------------------------+-+->< | .-OUT---. | | .-NO--. | +-MODE--=--+-------+------------+ +-CURSLOC--=--+-----+-----------------+ | +-IN----+ | | '-YES-' | | '-INOUT-' | | .-OFF-------. | | .-LOWER-. | +-HILIGHT--=--+-----------+-----------+ +-FOLD--=--+-------+------------+ | +-BLINK-----+ | | '-UPPER-' | | +-REVERSE---+ | | .-NO--. | | '-UNDERLINE-' | +-TRIGRAPH--=--+-----+----------+ +-PS--=--+-BASE-+---------------------+ | '-YES-' | | '-psid-' | | .-ASM----. | | .-,-------------. | +-LANG--=--+--------+-----------+ | V | | | +-COBOL -+ | +-VALIDN--=----+-----------+-+--------+ | +-COBOL2-+ | | +-MUSTFILL--+ | | +-PLI----+ | | +-MUSTENTER-+ | | '-C------' | | +-TRIGGER---+ | +-+------------------+----------+ | '-USEREXIT--' | | +-STORAGE--=--AUTO-+ | +-+-TERM--=--type-+-------------------+ | '-BASE--=--name----' | | '-SUFFIX--=--n--' | | .-,----------. | | .-NO--. | | V | | +-TIOAPFX--=--+-----+-----------------+ +-CTRL--=--(----+--------+-+--)-+ | '-YES-' | | +-PRINT--+ | | .-,----------------------. | | +-length-+ | | V | | | +-FREEKB-+ | +---MAPATTS--=--(--attr--)-+----------+ | +-ALARM--+ | | .-,---------------------. | | '-FRSET--' | | V | | | .-NO------. | +---DSATTS--=--(--attr--)-+-----------+ +-EXTATT--=--+---------+--------+ +-OUTLINE--=--+-BOX-----------------+-+ | +-MAPONLY-+ | | | .-,---------. | | | '-YES-----' | | | V | | | | .-DEFAULT-. | | '-(----+-------+-+--)-' | +-COLOR--=--+---------+---------+ | +-LEFT--+ | | '-color---' | | +-RIGHT-+ | | .-ADS--. | | +-OVER--+ | '-DSECT--=--+------+------------' | '-UNDER-' | '-ADSL-' | .-NO--. | +-SOSI--=--+-----+--------------------+ | '-YES-' | | .-YES-. | '-TRANSP--=--+-----+------------------' '-NO--'
DFHMSD Standard BMS .-,-----------------------------------------. V | >>---+---------------------------------------+-+--------------->< +-PARTN--=--(--name--)--+-------------+-+ | '-,--ACTIVATE-' | +-LDC--=--mnemonic----------------------+ | .-NO--. | +-OBFMT--=--+-----+---------------------+ | '-YES-' | | .-,---. | | V | | +-HTAB--=----tab-+----------------------+ | .-,---. | | V | | +-VTAB--=----tab-+----------------------+ | .-FIELD-. | +-DATA--=--+-------+--------------------+ | '-BLOCK-' | '-FLDSEP--=--+-char--------------+------' '-X--'--hex-char--'-'
DFHMSD TYPE=MAP (or TYPE=DSECT)
DFHMSD TYPE=FINAL
“mapset” is the name of the mapset. Normally, the name is up to 7 characters in length. However, if the mapset is used to generate HTML templates, and contains more than 36 maps, the name must not exceed 6 characters in length.
A DFHMSD macro contains one or more map definition macros, each of which contains one or more field definition macros.
You should ensure that the names of maps, and names of fields within a mapset (or within multiple mapsets that are copied into one application program) are unique. However, a map can have the same name as a mapset.
Before CICS® can load a physical map, you must define a physical map using an RDO DEFINE MAPSET command.
You assemble a BMS mapset definition to generate either a symbolic description map or a physical map. The CICS Application Programming Guide tells you how to assemble and catalog the maps.
This operand is not valid for assembler-language programs, and cannot be used when STORAGE=AUTO has been specified.
The valid colors are blue, red, pink, green, turquoise, yellow, and neutral.
The COLOR operand is ignored unless the terminal supports color, as indicated by the RDO TYPETERM definition COLOR(YES) option.
The flag may be tested by DFHBMCUR (see copybook DFHBMSCA in BMS-related constants).
(DFHBMSCA)
...
02 DFHBMEOF PIC X VALUE X'80'.
02 DFHBMCUR PIC X VALUE X'02'.
02 DFHBMEC PIC X VALUE X'82'.
02 DFHBMFLG PIC X.
88 DFHERASE VALUES ARE X'80', X'82'.
88 DFHCURSR VALUES ARE X'02', X'82'.
MOVE FLD1F TO DFHBMFLG.
IF DFHERASE THEN ...
ELSE ...
IF DFHCURSR THEN ...
ELSE ...
LL | A | data field |
“LL” is two bytes specifying the length of the data as input from the terminal (these two bytes are ignored in output processing). “A” is a byte into which the programmer can place an attribute to override that specified in the map used to process this data (see copybook DFHBMSCA in BMS-related constants).
A | data field | space |
This stream is processed as line segments of the length specified in the map used to process the data. The data is in the form that it appears on the terminal; that is, it contains data fields and interspersed blanks corresponding to any spaces that are to appear between the fields on output. You cannot use DSATTS=YES, if you specify DATA=BLOCK.
Block data is further discussed in the CICS Application Programming Guide.
This option requires LANG=C.
MAPATTS=(COLOR,HILIGHT,PS,VALIDN)
DSATTS=(COLOR,HILIGHT,PS,VALIDN)
MAPATTS=(COLOR,HILIGHT,PS,VALIDN)
FOLD is only available for programs written in C.
The HILIGHT operand is ignored unless the terminal supports highlighting, as indicated by HILIGHT(YES) on the RDO TYPETERM definition.
Where possible these values are deduced from operands already specified in the DFHMDI and DFHMSD macros. For example, if COLOR=BLUE has been specified, MAPATTS=COLOR is assumed.
The PARTN operand is ignored if the target terminal does not support partitions, or if there is no partition set associated with the transaction.
The PS operand is ignored unless the terminal supports programmed symbols, as indicated by PROGSYMBOLS(YES) on the RDO TYPETERM definition.
For a COBOL program, STORAGE=AUTO specifies that the symbolic description maps in the mapset are to occupy separate (that is, not redefined) areas of storage. This operand is used when the symbolic description maps are copied into the working-storage section and the storage for the separate maps in the mapset is to be used concurrently.
For a C program, STORAGE=AUTO specifies that the symbolic description maps are to be defined as having the automatic storage class. If STORAGE=AUTO is not specified, they are declared as pointers. You cannot specify both BASE=name and STORAGE=AUTO for the same mapset. If STORAGE=AUTO is specified and TIOAPFX is not, TIOAPFX=YES is assumed.
For a PL/I program, STORAGE=AUTO specifies that the symbolic description maps are to be declared as having the AUTOMATIC storage class. If STORAGE=AUTO is not specified, they are declared as BASED. You cannot specify both BASE=name and STORAGE=AUTO for the same mapset. If STORAGE=AUTO is specified and TIOAPFX is not, TIOAPFX=YES is assumed.
For an assembler-language program, STORAGE=AUTO specifies that individual maps within a mapset are to occupy separate areas of storage instead of overlaying one another.
In addition, you should note the following:
For TCAM-connected terminals (other than 3270 or SNA devices), use either CRLP or ALL; for TCAM-connected 3270s or SNA devices, select the appropriate parameter in the normal way.
If ALL is specified, ensure that device dependent characters are not included in the mapset and that format characteristics such as page size are suitable for all input/output operations (and all terminals) in which the mapset is applied. For example, some terminals are limited to 480 bytes, others to 1920 bytes; the 3604 is limited to six lines of 40 characters each. Within these guidelines, use of ALL can offer important advantages. Because an assembly run is required for each map generation, the use of ALL, indicating that one map is to be used for more than one terminal, can result in significant time and storage savings.
However, better run-time performance for maps used by single terminal types is achieved if the terminal type (rather than ALL) is specified. Alternatively, BMS support for device-dependent mapsets can be bypassed by specifying NODDS in the BMS operand of the system initialization parameters. For more information, see the CICS Resource Definition Guide.
Type | Suffix | Notes |
---|---|---|
CRLP | A | Card-reader-in/line-printer-out |
TAPE | B | |
DISK | C | |
TWX | D | |
1050 | E | |
2740 | F | |
2741 | G | |
2770 | I | |
2780 | J | |
3780 | K | |
3270-1 (40-column) | L | |
3270-2 (80-column) | M | |
INTLU/3767/3770I/SCS | p | All interactive LUs including 3790 full-function LU and SCS printer LUs (3270 and 3790). |
2980 | Q | |
2980-4 | R | |
3270 | blank | Default if TERM omitted. Same as ALL; used when no need to distinguish between models. |
3601 | U | |
3653 | V | Plus host-conv (3653) LU. |
3650UP | W | Plus interpreter LU. |
3650/3270 | X | Plus host-conv (32700 LU. |
BCHLU/3770B | Y | Plus all batch and BDI LUs. |
ALL (all of the above) | blank |
This option is only available for programs written in C.
If both map and DSECT are to be generated in the same job, the SYSPARM option can be used in the assembler job execution step, as described in the CICS Installation Guide.
The MUSTFILL, MUSTENTER and TRIGGER specifications are valid only for terminals that support the field validation extended attribute, otherwise they are ignored. The USEREXIT specification applies to all 3270 devices.