DFHMDI

The DFHMDI macro defines a map within the mapset defined by a previous DFHMSD macro.

DFHMDI Minimum BMS

Read syntax diagramSkip visual syntax diagrammapDFHMDI ,SIZE=(line,column)TERM=typeCTRL=(,PRINTlengthFREEKBALARMFRSET)EXTATT=NOMAPONLYYESCOLOR=DEFAULTcolorCURSLOC=NOYESHILIGHT=OFFBLINKREVERSEUNDERLINE ,PS=BASEpsidVALIDN=,MUSTFILLMUSTENTERTRIGGERUSEREXITCOLUMN=numberLINE=numberFIELDS=NO,MAPATTS=(attr),DSATTS=(attr)OUTLINE=BOX(,LEFTRIGHTOVERUNDER)SOSI=NOYESTRANSP=YESNOJUSTIFY=BOTTOM

DFHMDI Standard BMS

Read syntax diagramSkip visual syntax diagram,PARTN=(name),ACTIVATEOBFMT=YESNODATA=FIELDBLOCKTIOAPFX=NOYESFLDSEP=charX'hex-char'

DFHMDI Full BMS

Read syntax diagramSkip visual syntax diagram,COLUMN=SAMEnumberNEXTLINE=NEXTnumberSAMEJUSTIFY=(LEFTRIGHT,FIRSTLAST)HEADER=YESTRAILER=YES

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.
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. 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:
  1. 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.
  2. 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 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.