DFHMDI
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 or right 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.
- 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. 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 might 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 A data field “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:
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 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 Block data .
- 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 must be used instead.
- NO
- is equivalent to not specifying the DSATTS operand or 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 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 can be specified for more than one map in a map set.
- 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 flash.
- 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 foot 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. For
a SEND MAP command (without ACCUM) and a RECEIVE MAP command, JUSTIFY=BOTTOM
positions the map at the foot 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 FIRST or LAST are not 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 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 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 Outboard formatting.
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 can 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 or defaulted for the DFHMSD
macro. If it is not specified, the value specified or defaulted on
the DFHMSD macro is used.
- YES
- specifies that the filler should be included in the symbolic description maps. Always use TIOAPFX=YES for command-level application programs.
- NO
- 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 can 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 Trigger field support.
- 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.
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.