Map definition.

DFHMDI Minimum BMS
>>-map--DFHMDI-------------------------------------------------->
.-,----------------------------------. .-,---------------------------------------.
V | V |
>----+--------------------------------+-+----+-------------------------------------+-+-><
+-SIZE--=--(--line--,--column--)-+ +-PS--=--+-BASE-+---------------------+
+-TERM--=--type------------------+ | '-psid-' |
| .-,----------. | | .-,-------------. |
| V | | | V | |
+-CTRL--=--(----+--------+-+--)--+ +-VALIDN--=----+-----------+-+--------+
| +-PRINT--+ | | +-MUSTFILL--+ |
| +-length-+ | | +-MUSTENTER-+ |
| +-FREEKB-+ | | +-TRIGGER---+ |
| +-ALARM--+ | | '-USEREXIT--' |
| '-FRSET--' | +-COLUMN--=--number-------------------+
| .-NO------. | +-LINE--=--number---------------------+
+-EXTATT--=--+---------+---------+ +-FIELDS--=--NO-----------------------+
| +-MAPONLY-+ | | .-,----------------------. |
| '-YES-----' | | V | |
| .-DEFAULT-. | +---MAPATTS--=--(--attr--)-+----------+
+-COLOR--=--+---------+----------+ | .-,---------------------. |
| '-color---' | | V | |
| .-NO--. | +---DSATTS--=--(--attr--)-+-----------+
+-CURSLOC--=--+-----+------------+ +-OUTLINE--=--+-BOX-----------------+-+
| '-YES-' | | | .-,---------. | |
| .-OFF-------. | | | V | | |
'-HILIGHT--=--+-----------+------' | '-(----+-------+-+--)-' |
+-BLINK-----+ | +-LEFT--+ |
+-REVERSE---+ | +-RIGHT-+ |
'-UNDERLINE-' | +-OVER--+ |
| '-UNDER-' |
| .-NO--. |
+-SOSI--=--+-----+--------------------+
| '-YES-' |
| .-YES-. |
+-TRANSP--=--+-----+------------------+
| '-NO--' |
'-JUSTIFY--=--BOTTOM------------------'

DFHMDI Standard BMS
.-,-----------------------------------------.
V |
>>---+---------------------------------------+-+---------------><
+-PARTN--=--(--name--)--+-------------+-+
| '-,--ACTIVATE-' |
+-OBFMT--=--+-YES-+---------------------+
| '-NO--' |
| .-FIELD-. |
+-DATA--=--+-------+--------------------+
| '-BLOCK-' |
| .-NO--. |
+-TIOAPFX--=--+-----+-------------------+
| '-YES-' |
'-FLDSEP--=--+-char--------------+------'
'-X--'--hex-char--'-'

DFHMDI Full BMS
.-,-------------------------------------------------.
V |
>>---+-----------------------------------------------+-+-------><
| .-SAME---. |
+-COLUMN--=--+--------+-------------------------+
| +-number-+ |
| '-NEXT---' |
| .-NEXT---. |
+-LINE--=--+--------+---------------------------+
| +-number-+ |
| '-SAME---' |
| .-LEFT--. |
+-JUSTIFY--=--(--+-------+--+--------------+--)-+
| '-RIGHT-' '-,--+-FIRST-+-' |
| '-LAST--' |
+-HEADER--=--YES--------------------------------+
'-TRAILER--=--YES-------------------------------'
The
DFHMDI macro defines a map within the mapset defined by a previous DFHMSD
macro. A map contains zero or more fields.
“map” is the name (1–7 characters)
of the map.
Operands
- COLOR
- indicates
the individual color, or the default color for the mapset (where applicable).
This is overridden by the COLOR operand of the DFHMDF macro.
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 option COLOR(YES)>
- COLUMN
- specifies
the column in a line at which the map is to be placed, that is, it establishes
the left or right map margin. The JUSTIFY operand of the DFHMDI macro controls
whether map and page margin selection and column counting are to be from the
left or right side of the page. The columns between the specified map margin
and the page margin are not available for subsequent use on the page for any
lines included in the map.
- NUMBER
- is the
column from the left or right page margin where the left or right map margin
is to be established.
- NEXT
- indicates
that the left or right map margin is to be placed in the next available column
from the left or right on the current line.
- SAME
- indicates
that the left or right map margin is to be established in the same column
as the last nonheader or nontrailer map used that specified COLUMN=number
and the same JUSTIFY operands as this macro.
For input operations, the
map is positioned at the extreme left-hand or right-hand side, depending on
whether JUSTIFY=LEFT or JUSTIFY=RIGHT has been specified.
- CTRL
- defines
characteristics of IBM® 3270 terminals. Use of any of the control
options in the SEND MAP command overrides all control options
in the DFHMDI macro, which in turn overrides all control options
in the DFHMSD macro.
If CTRL is used with cumulative BMS paging (that
is, the ACCUM option is used on the BMS SEND MAP commands), it must be specified
on the last (or only) map of a page, unless it is overridden by the ALARM,
FREEKB and so on, options on the SEND MAP or accumulated SEND CONTROL command.
- PRINT
- must be
specified if the printer is to be started; if omitted, the data is sent to
the printer buffer but is not printed. This operand is ignored if the mapset
is used with 3270 displays without the Printer Adapter feature.
- LENGTH
- indicates
the line length on the printer; length can be specified as L40, L64, L80,
or HONEOM. L40, L64, and L80 force a new line after 40, 64, or 80 characters,
respectively. HONEOM causes the default printer line length to be used. If
this option is omitted, BMS sets the line length from the TCT page size.
- FREEKB
- causes
the keyboard to be unlocked after the map is written. If FREEKB is not specified,
the keyboard remains locked; data entry from the keyboard is inhibited until
this status is changed.
- ALARM
- activates
the 3270 audible alarm. For non-3270 VTAM® terminals it sets the alarm flag in the
FMH. (This feature is not supported by interactive and batch logical units.)
- FRSET
- specifies
that the modified data tags (MDTs) of all fields currently in the 3270 buffer
are to be reset to an unmodified condition (that is, field reset) before map
data is written to the buffer. This allows the DFHMDF macro with the ATTRB
operand to control the final status of any fields written or rewritten in
response to a BMS command.
Note: CTRL cannot be specified in the DFHMDI and DFHMSD
macros in the same mapset.
- CURSLOC
- indicates
that for all RECEIVE MAP operations using this map on 3270 terminals, BMS
sets a flag in the application data structure element for the field where
the cursor is located.
The flag may be tested by DFHBMCUR (see copybook
DFHBMSCA in BMS-related constants).
To
test the flag (COBOL example):
(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 ...
Note: - If CURSLOC=YES is specified for the MAP definitions, and there is no data
for any field of the application data structure, but the cursor lies within
a field known to the application data structure, BMS sets the cursor flag
for the appropriate field, but the data for all fields in the application
data structure is null, and the MAPFAIL condition does not occur. The unmapped
data stream is not available to the application program unless it is a RECEIVE
DATA FROM request.
- A valid CURSLOC definition in DFHMDI overrides the definition in DFHMSD.
- DATA
- specifies
the format of the data.
- FIELD
- specifies
that the data is passed as contiguous fields, each field having the format:
“LL” is two bytes specifying the length of the data as input from
the terminal (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).
- BLOCK
- specifies
that the data is passed as a continuous stream in the following format:
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 in which it appears
at 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.
- DSATTS
- specifies
the attribute types to be included in the symbolic description map. These
types can be one or more of the following: COLOR, HILIGHT, OUTLINE, PS, SOSI,
TRANSP, and VALIDN. Any type included in DSATTS should also be included in
MAPATTS.
- EXTATT
- this
operand is supported for compatibility with previous releases. Each of the
extended attributes can be defined individually. For new maps, the operands
DSATTS and MAPATTS should be used instead.
- NO
- is equivalent
to specifying neither the DSATTS operand nor the MAPATTS operand.
- YES
- is equivalent
to:
MAPATTS=(COLOR,HILIGHT,PS,VALIDN)
DSATTS=(COLOR,HILIGHT,PS,VALIDN)
- MAPONLY
- is equivalent
to:
MAPATTS=(COLOR,HILIGHT,PS,VALIDN)
- FIELDS
- specifies
whether or not the map contains fields. If you specify FIELDS=NO, you create
a null map that defines a “hole” in BMS's view of the screen. BMS cannot change
the contents of such a hole after it has created it by sending a null map.
- FLDSEP
- specifies the field separator sequence (1–4 characters)
for input from non-3270 devices. Input from non-3270 devices can be entered
as a single string of data with the field separator sequence delimiting fields.
The data between the field separators is moved to the input fields in the
map in order.
- HEADER
- allows
the map to be used during page building without terminating the OVERFLOW condition.
This operand may be specified for more than one map in a mapset.
- HILIGHT
- specifies
the default highlighting attribute for all fields in all maps in a mapset.
This is overridden by the HILIGHT operand of the DFHMDF.
- OFF
- is the default
and indicates that no highlighting is used.
- BLINK
- specifies
that the field must blink.
- REVERSE
- specifies
that the character or field is displayed in reverse video, for example, on
a 3278, black characters on a green background.
- UNDERLINE
- specifies
that a field is underlined.
The HILIGHT operand is ignored unless the terminal supports
highlighting, as indicated by HILIGHT(YES) on the RDO TYPETERM definition,
- JUSTIFY
- specifies
the position of the map on the page.
- LEFT
- specifies
that the map is to be positioned starting at the specified column from the
left margin on the specified line.
- RIGHT
- specifies
that the map is to be positioned starting at the specified column from the
right margin on the specified line.
- FIRST
- specifies
that the map is to be positioned as the first map on a new page. Any partially
formatted page from preceding BMS commands is considered to be complete. This
operand can be specified for only one map per page.
- LAST
- indicates
that the map is to be positioned at the bottom of the current page. This operand
can be specified for multiple maps to be placed on one page. However, maps
other than the first map for which it is specified must be able to be positioned
horizontally without requiring that more lines be used.
- BOTTOM
- for a
SEND MAP ACCUM command has the same effect as LAST, above. For a SEND MAP
command (without ACCUM) and a RECEIVE MAP command, JUSTIFY=BOTTOM positions
the map at the bottom of the screen if the number of lines in the map is specified
in the SIZE operand. No account is taken of trailer maps in the mapset. JUSTIFY=BOTTOM
is equivalent to specifying
LINE=(screendepth-mapdepth+1)
on
the map definition, but it allows the same map to be used for different screen
sizes. JUSTIFY=BOTTOM is ignored if the number of lines is not also specified.
If JUSTIFY=BOTTOM and LINE are both specified, the value specified in LINE
is ignored.
LEFT and RIGHT are mutually exclusive, as are FIRST
and LAST. If neither FIRST nor LAST is specified, the data is mapped at the
next available position as determined by other parameters of the map definition
and the current mapping operation. FIRST or LAST is ignored unless ACCUM is
specified on SEND MAP commands; otherwise only one map is placed on each page.
Note: If
a field is initialized by an output map or contains data from any other source,
data that is keyed as input overwrites only the equivalent length of the existing
data; surplus existing data remains in the field and could cause unexpected
interpretation of the new data.
- LINE
- specifies
the starting line on a page in which data for a map is to be formatted.
- NUMBER
- is a value
in the range 1–240, specifying a starting line number. A request to map, on
a line and column, data that has been formatted in response to a preceding
BMS command, causes the current page to be treated as though complete. The
new data is formatted at the requested line and column on a new page.
- NEXT
- specifies
that formatting of data is to begin on the next available completely empty
line. If LINE=NEXT is specified in the DFHMDI macro, it is ignored for input
operations and LINE=1 is assumed.
- SAME
- specifies
that formatting of data is to begin on the same line as that used for a preceding
BMS command. If COLUMN=NEXT is specified, it is ignored for input operations
and COLUMN=1 is assumed. If the data does not fit on the same line, it is
placed on the next available line that is completely empty.
- MAPATTS
- specifies
the attribute types to be included in the physical map. These types can be
one or more of the following: COLOR, HILIGHT, OUTLINE, PS, SOSI, TRANSP, and
VALIDN. This list must include all the attribute types to be specified for
individual fields in the map (DFHMDF macro).
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.
- OBFMT
- specifies
whether outboard formatting is to be used. This operand is available only
for 3650 logical units, or for an 8100 series processor running DPS Release
2 and defined to CICS as an LUTYPE2 logical unit. For more information, see
the CICS Application
Programming Guide.
The OBFMT operand overrides the OBFMT operand
on the DFHMSD macro.
- YES
- specifies
that this map definition can be used in outboard formatting.
- NO
- specifies
that this map definition cannot be used in outboard formatting.
- OUTLINE
- allows
lines to be included above, below, to the left, or to the right of a field.
You can use these lines in any combination to construct boxes around fields
or groups of fields.
- PARTN
- specifies
the default partition to be associated with maps in this mapset. If the ACTIVATE
option is specified, the specified partition is also activated when maps in
this mapset are output to a terminal that supports partitions.
This option
overrides the PARTN option of the DFHMSD macro and is overridden by any OUTPARTN
or ACTPARTN option on the SEND MAP command, or the INPARTN option on a RECEIVE
MAP command.
The PARTN option is ignored if the target terminal does
not support partitions, or if there is no partition set associated with the
transaction.
- PS
- specifies
that programmed symbols are to be used. This overrides the PS operand of the
DFHMSD macro and is overridden by the PS operand of the DFHMDF macro.
- BASE
- specifies
that the base symbol set is to be used.
- psid
- specifies
a single EBCDIC character, or a hexadecimal code of the form X'nn',
that identifies the set of programmed symbols to be used.
The PS operand is ignored unless the terminal supports
programmed symbols, as indicated by the PROGSYMBOLS(YES) on the RDO TYPETERM
definition.
- SIZE
- specifies
the size of a map.
- line
- is a value
in the range 1–240, specifying the depth of a map as a number of lines.
- column
- is a value
in the range 1–240, specifying the width of a map as a number of columns.
This operand is required in the following cases:
- An associated DFHMDF macro with the POS operand is used.
- The map is to be referred to in a SEND MAP command with the ACCUM option.
- The map is to be used when referring to input data from other than a 3270
terminal in a RECEIVE MAP command.
- The map is to be used to send or receive data by way of the CICS 3270
Web Bridge.
- SOSI
- indicates
that the field may contain a mixture of EBCDIC and DBCS data. The DBCS subfields
within an EBCDIC field are delimited by SO (shift out) and SI (shift in) characters.
SO and SI both occupy a single screen position (normally displayed as a blank).
They can be included in any non-DBCS field on output, if they are correctly
paired. The terminal user can transmit them inbound if they are already present
in the field, but can add them to an EBCDIC field only if the field has the
SOSI attribute.
- TERM
- kept for
compatibility with previous releases.
- TIOAPFX
- specifies
whether BMS should include a filler in the symbolic description maps to allow
for the unused TIOA prefix. This operand overrides the TIOAPFX operand specified
for the DFHMSD macro.
- YES
- specifies
that the filler should be included in the symbolic description maps. If TIOAPFX=YES
is specified, all maps within the mapset have the filler. TIOAPFX=YES should always be
used for command-level application programs.
- NO
- is the default
and specifies that the filler is not to be included.
- TRAILER
- allows
the map to be used during page building without terminating the OVERFLOW condition.
This operand may be specified for more than one map in a mapset. If a trailer
map is used other than in the overflow environment, the space normally reserved
for overflow trailer maps is not reserved while mapping the trailer map.
- TRANSP
- determines
whether the background of an alphanumeric field is transparent or opaque,
that is, whether an underlying (graphic) presentation space is visible between
the characters.
- VALIDN
- specifies
that:
- validation is to be used on an 8775 terminal
- this field can be processed by the BMS global user exits
This is overridden by the VALIDN operand of the DFHMDF macro, and
overrides the VALIDN operand of the DFHMSD macro.'
- MUSTFILL
- specifies
that the field must be filled completely with data. An attempt to move the
cursor from the field before it has been filled, or to transmit data from
an incomplete field, raises the INHIBIT INPUT condition.
- MUSTENTER
- specifies
that data must be entered into the field, though need not fill it. An attempt
to move the cursor from an empty field raises the INHIBIT INPUT condition.
- TRIGGER
- specifies
that this field is a trigger field. Trigger fields are discussed in the CICS Application Programming Guide.
- USEREXIT
- specifies
that this field is to be processed by the BMS global user exits, XBMIN and
XBMOUT, if this field is received or transmitted in a 3270 datastream when
the respective exit is enabled. For further information on the use of the
BMS global user exits refer to the CICS Customization
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.
Note: The USEREXIT specification is totally unconnected with
the field validation extended attribute as defined in the 3270 datastream
architecture.