Formatting attribute section statements
Each attribute statement defines the attribute character for a particular kind of field. You can define a given attribute character only once. The remainder of the statement contains keyword parameters that define the nature of the field.
Generally, you should choose special (non-alphanumeric) characters for attribute characters so that they will not conflict with the panel text. An ampersand (&), blank (hexadecimal 40), shift-out (hexadecimal 0E), shift-in (hexadecimal 0F), or null (hexadecimal 00) cannot be used as an attribute character.
- You can specify a maximum of 127 attribute characters. This limit includes the 3 default characters, attribute overrides, and TBDISPL dual defaults. For action bar panels or panels with scrollable areas, you can specify a maximum of 110 attribute characters. This is because ISPF uses some attribute characters internally.
- For the attribute keywords AREA, EXTEND, SCROLL, and REP, the keyword value must be expressed as a literal.
- For other attribute keywords the value can be expressed as a literal,
or as a dialog variable name preceded by an ampersand (&). For
example:
INTENS(&A) - Variable substitution is done after the )INIT section has been processed. The current value of the dialog variable must be valid for the particular keyword. For example, if the CAPS keyword is specified as CAPS(&B), the value of dialog variable B must be ON, OFF, IN, or OUT.
- attrchar
- The single-character or two-digit hexadecimal code that is assigned to the attributes that follow.
- AREA(DYNAMIC)
- The
value in attrchar specifies the special
character or two-position hexadecimal value that is used to define
the dynamic area within the panel body section. In the panel body
section, the name immediately following this character identifies
the dialog variable that contains the dynamically formatted string
to be displayed in the area. Subsequent lines of the dynamic area
are defined in the panel body by placing this character in the starting
and ending columns of the dynamic area. Except on the first line of
the dynamic area, where the area name immediately follows the left
delimiter character, at least one blank must follow the delimiter
characters on the left side of the dynamic area. This is a special
character, not an actual attribute character. Other fields must not
be defined within or overlapping a DYNAMIC area.
- EXTEND
- Specifies
whether the depth of an area can be automatically increased.
- ON
- Specifies that the depth (number of lines) of an area can be automatically
increased, if required, so that the depth of the entire body of the
panel matches the depth of the physical screen on which it is being
displayed. Accordingly, an extendable area can be designated
in the panel definition by a single line unless text or other fields
are to appear along the graphic area. Only one extendable area can
be specified in a panel definition. Note: Using EXTEND(ON) is not recommended if your dynamic area is displayed in a pop-up. When EXTEND(ON) is used, the panel is extended to the size of the logical screen. If the panel is then displayed in a pop-up, the panel may be truncated at the pop-up border.
The value for the EXTEND keyword cannot be specified as a dialog variable.
- OFF
- The default. Specifies that the depth (number of lines) of an area cannot be automatically increased.
- SCROLL
- Specifies
whether the area can be treated as a scrollable area.
- ON
- Specifies that the area can be treated as a scrollable area. When
a panel containing a scrollable area is displayed, the scrolling commands
are automatically enabled. Only one scrollable area can be specified
in a panel definition.
The value for the SCROLL keyword cannot be specified as a dialog variable.
A panel cannot have more than one scrollable area or more than one extended area.
A panel displayed using TBDISPL cannot have a dynamic area defined by SCROLL ON.
Although the panel display service does not perform the scrolling, it does provide an interpretation of the user's scroll request.
- OFF
- The default. Specifies that the area cannot be treated as a scrollable area.
- USERMOD(usermod-code) and DATAMOD(datamod-code)
- Specifies a
character or two-position hexadecimal value to be substituted for
attribute characters in a dynamic area variable following a user interaction.
The attribute characters used within the dynamic area are intermixed
with the data. These attribute characters designate the beginning
of a new data field within the area. When the dynamic area variable
is returned to the dialog, usermod-code and datamod-code are
used to replace the attribute character of each field that has been
modified, according to these rules:
- USERMOD specified but DATAMOD not specified
If there has been any user entry into the field, even if the field was overtyped with identical characters, the attribute byte for that field is replaced with usermod-code.
- DATAMOD specified but USERMOD not specified
If there has been any user entry into the field, and if the value in the field has changed, either by the user entry or by ISPF capitalization or justification, the attribute byte for that field is replaced with datamod-code.
- Both USERMOD and DATAMOD specified If there has been any user
entry into the field but the value in the field has not changed, the
attribute byte for that field is replaced with usermod-code.
If there has been any user entry into the field and the value in the field has changed, either by the user entry or by ISPF capitalization or justification, then the attribute byte for that field is replaced with datamod-code.
- Neither DATAMOD nor USERMOD specified
The attribute byte for the field is unchanged.
- USERMOD specified but DATAMOD not specified
You can specify more than one dynamic area on a panel. The number of dynamic areas in a panel definition is limited only by physical space limitations of the particular terminal being used for the display.
Examples:
The character '!' replaces the attribute byte for each field in the dynamic area that has been touched, not necessarily changed in value, by the user. All other attribute bytes remain as they are.)ATTR # AREA(DYNAMIC) EXTEND(ON) USERMOD(!)
The hexadecimal code '01' replaces the attribute byte for each field in the dynamic area that has been touched by the user and has changed in value. All other attribute bytes remain as they are.)ATTR # AREA(DYNAMIC) EXTEND(ON) DATAMOD(01)
The hexadecimal code '0C' replaces the attribute byte for each field in the dynamic area that has been touched by the user, but has not changed in value. The hexadecimal code '03' replaces the attribute byte for each field in the dynamic area that has been touched by the user and has changed in value. All other attribute bytes remain as they are.)ATTR # AREA(DYNAMIC) EXTEND(ON) USERMOD(0C) DATAMOD(03)If the datamod or usermod code is one of these special characters, it must be enclosed in single quotes in the )ATTR section:
If the desired character is a single quote, use four single quotes: DATAMOD(‘’‘’).blank < ( + | ) ; ¬ - , > : = - AREA(GRAPHIC)
- The value
in attrchar specifies a character or two-digit
hexadecimal value, called the graphic attribute character, to be used
to define the graphic area (4 corners) within the panel body. If you
use a graphics area, this character must be defined; there is no default
value. A panel definition can contain only one graphic area.
- EXTEND
- Specifies whether the depth of an area can be automatically increased.
- ON
- Specifies that the depth (number of lines) of an area can be automatically
increased, if required, so that the depth of the entire body of the
panel matches the depth of the physical screen on which it is being
displayed. Accordingly, an extendable area can be designated
in the panel definition by a single line unless text or other fields
are to appear along the graphic area. Only one extendable area can
be specified in a panel definition. Note: Using EXTEND(ON) is not recommended if your graphic area is displayed in a pop-up. When EXTEND(ON) is used, the panel is extended to the size of the logical screen. If the panel is then displayed in a pop-up, the panel may be truncated at the pop-up border.
The value for the EXTEND keyword cannot be specified as a dialog variable.
- OFF
- The default. Specifies that the depth (number of lines) of an area cannot be automatically increased.
A graphic attribute character cannot have any other attribute properties. For example, it cannot be mixed with attributes such as INTENS, CAPS, JUST, or PAD.
The graphic attribute character is used to define the boundaries of the graphic area in the panel body, as follows:- The graphic area is defined on the panel as a rectangle. The graphic attribute character is used to define the 4 corners plus the remaining characters of the vertical sides of this rectangle. You delineate the top and bottom of the rectangle with the characters you use to complete the area outline on the screen. For example, in Figure 1, the 4 corners and vertical sides are defined by the asterisk character in the )ATTR section. The top and bottom of the area have been completed with dashes.
- A graphic area must be identified with a name that appears in the left top corner, immediately following the first graphic attribute character of that area. The name of the graphic area must be followed by a blank. This name is used when retrieving information about the area through the PQUERY dialog service or the LVLINE panel built-in function. The PQUERY service is described in z/OS ISPF Services Guide.
- A graphic area can contain ISPF-defined alphanumeric fields.
- ISPF-defined alphanumeric fields can partially overlap graphic areas.
- The first line of the graphic area in the panel definition must have the graphic attribute character in the starting and ending columns of the area. If an alphanumeric field overlaps one of the subsequent lines of the graphic area, it must be delimited by a graphic attribute character. See Figure 3 for an example.
- Any field preceding a graphic attribute character should be terminated by an ISPF attribute character to prevent GDDM from overlaying the left-most boundary characters of the area. When variable substitution occurs within a text field in the panel body, the field must be terminated by an attribute character before a special character defining a graphic area. Using variables and literal expressions in text fields and panel sections provides additional information about variable substitution in text fields.
- The width of the graphic area includes the graphic attribute character positions.
- The PQUERY service and the LVLINE panel built-in function can be used to obtain information about the size of the graphic area.
These rules are applied in Figure 1.
Figure 1. Panel definition illustrating a graphic area )ATTR * AREA(GRAPHIC) )BODY %------------------- TITLE ------------------- %COMMAND ===>_ZCMD % % + (Text or other fields that are part of the + normal panel body ... ) + + +*PICT1 ----------------------------* * * * * * * * * * * * * * ---------------------------------* )ENDIn this example, a graphic area is defined. PICT1 is specified as the name of the area. An asterisk (*) is the delimiter character for the vertical sides of the area, and hyphens (-) are the delimiter character for the top and bottom. Note that a blank follows the area name and follows all asterisks (*) other than the asterisk adjacent to PICT1.
Figure 2 and Figure 3 are examples of panel definitions with a graphic area. In Figure 3, note that the alphanumeric field INPUT1 starts at '_' and ends at '|'.
Figure 2. Panel definition with graphic area )ATTR * AREA(GRAPHIC) )BODY % MY COMPANY OPTION PANEL % Your selection ==>_ZCMD + + + 1 Our application 1 +*LOGO ----------------* + 2 Our application 2 +* * + 3 Our application 3 +* * + 4 Our application 4 +* * + 5 Our application 5 +* * + +* * + X Exit +* --------------------* + T Tutorial <--- Graphic Area ---> )ENDFigure 3. Definition of panel graphic area with overlapping text field )ATTR | AREA(GRAPHIC) )BODY % Panel with Overlapping text field % % Here is the data as a graph and with editorial text: + +|PIC1 ------------| | | | | | | | | _INPUT1 | | | | | ----------------| % <- graphic area -> )END - AREA(SCRL)
- The value in attrchar specifies the
special character or two-position hexadecimal value that is used to
define the borders of the scrollable area in the )BODY section.
- EXTEND
- Specifies
whether the depth of an area can be automatically increased.
- ON
- Specifies that the depth (number of lines) of an area can be automatically
increased, if required, so that the depth of the entire body of the
panel matches the depth of the physical screen on which it is being
displayed. Accordingly,
an extendable area can be designated in the panel definition
by a single line unless text or other fields are to appear along the
graphic area. Only one extendable area can be specified in a panel
definition. Note: Using EXTEND(ON) is not recommended if your scrollable area is displayed in a pop-up. When EXTEND(ON) is used, the panel is extended to the size of the logical screen. If the panel is then displayed in a pop-up, the panel may be truncated at the pop-up border.
The value for the EXTEND keyword cannot be specified as a dialog variable.
- OFF
- The default. Specifies that the depth (number of lines) of an area cannot be automatically increased.
- ATTN
- Defines the attention-select attribute of the field; it is valid only for text fields.
- ON
- Specifies that the field can be selected by using the cursor select key.
- OFF
- The default. Specifies that the field cannot be selected in this manner.
Note: The panel designer must provide an adequate number of blank characters before and after the attention attribute character, as required by the 3270 hardware. - CAPS
- Specifies the uppercase or lowercase attribute of a field. CAPS
is not valid for text fields. The CAPS keyword can have
these values:
- ON
- Data is translated to uppercase before being displayed and all input fields are translated to uppercase before being stored.
- OFF
- Data is displayed as it appears in the variable pool and all input fields are stored as they appear on the screen.
- IN
- Data is displayed as it appears in the variable pool, but all input fields on the screen are translated to uppercase before being stored.
- OUT
- Data is translated to uppercase before being displayed. All input fields are stored as they appear on the screen.
Unless you specify a CONTROL ASIS command procedure (CLIST) statement, the use of CAPS(OFF), CAPS(IN), and CAPS(OUT) is negated if the dialog variable is referred to in the command procedure.
If you omit the CAPS parameter, the default is:- CAPS(OFF) for input or output fields in the )MODEL section of a table display panel
- CAPS(OFF) for DATAIN and DATAOUT fields in dynamic areas
- CAPS(ON) for all other input or output fields.
- CKBOX
- Allows
a 1-character input field followed by a protected (text or output)
field to be processed as a check box in GUI mode. The input field
is displayed as a check box and the protected field is the check box
description. The CKBOX keyword can have one of these values:
- ON
- Process the input field as a check box.
- OFF
- Process the input field as non-check box field. This is the default setting.
If the check box input field is not blank, the check box is initialized as selected (checked). If the check box is selected, a slash character (/) is placed in the check box input field when the panel is processed.
The CKBOX keyword is ignored if the input field is greater than one character, or if the field following the check box field is not a protected field. An error message is issued if the CKBOX keyword is used on any fields other than input fields, or the selected choice (SC) output field.
Figure 4. Example of CKBOX keyword )ATTR @ TYPE(CEF) CKBOX(ON) $ TYPE(SAC) )BODY % -------- CHECK BOX PANEL ---------- + + Select options: &INSTR+ @Z$Check box #1 description+ @Z$Check box #2 description+ @Z$Check box #3 description+ @Z$Check box #4 description+ )INIT .ZVARS = '(BOX1 BOX2 BOX3 BOX4)' IF (&ZGUI = ' ') &INSTR = 'Enter '/'' to select option.' ELSE &INSTR = 'Check box to select option.' )END - COLOR(value)
- For 3279-B terminals (or other
ISPF-supported seven-color terminals), the COLOR keyword defines the color of a field. The value can
be: WHITE, RED, BLUE, GREEN, PINK, YELLOW, or TURQ (turquoise). If a color has not been specified
and the panel is displayed on a terminal, a default color is generated based on the protection
(TYPE) and intensity attributes of the field. Table 1 shows which defaults are
the same as the hardware-generated colors for 3279-A (or other ISPF-supported four-color terminals).
Table 1. Color defaults Field Type Intensity Default Color Text/Output HIGH WHITE Text/Output LOW BLUE Input HIGH RED Input LOW GREEN If a color has been specified and the panel is displayed on a terminal other than one with features such as those on the 3279-B, then:
- If an explicit intensity has also been specified for the field, the color specification is
ignored. For example:
)ATTR @ TYPE(INPUT) INTENS(HIGH) COLOR(YELLOW)In this example, COLOR(YELLOW) is ignored except on terminals like the 3279-B. On a 3279-A terminal, for example, the resulting color is red.
- If an explicit intensity has not been specified for the field, the color is used to generate a
default intensity. Specification of blue, green, or turquoise defaults to low intensity.
Specification of red, yellow, pink, or white defaults to high intensity. For example:
)ATTR $ TYPE(OUTPUT) COLOR(GREEN)In this example, a low-intensity output field results.
- If neither color nor intensity has been specified for a field, the default intensity is HIGH.
Note: You can make global changes to one or more of the ISPF-supported colors by using the COLOR command or by selecting the Global Color Change choice from the Colors pull-down on the ISPF Settings panel (Option 0). You can control the colors when you are in GUI mode. See the z/OS ISPF User's Guide Vol II for more information. - If an explicit intensity has also been specified for the field, the color specification is
ignored. For example:
- COMBO
- Enables
you to define choices for a combination box in GUI mode. This keyword
is used in conjunction with the )LIST section. See Defining the LIST section for more information about the )LIST
section.
The COMBO attribute keyword is valid on input type fields only. The combination box combines the functions of an entry field and a drop-down list (see DDLIST Keyword). It has an entry field and contains a list of choices that you can scroll through to select from to complete the entry field. The list of choices is hidden until you take an action to make the list visible. As an alternative, you can type text directly into the entry field. The typed text does not need to match one of the choices in the list.
The width of the input field determines the width of the combination box. If a COMBOBOX field is immediately followed by three or more consecutive attributes, the COMBOBOX will be displayed for the entire length of the field, since the three attributes allow space for the COMBOBOX button without overlaying data in the next field. If a COMBOBOX field is not followed by three or more consecutive attributes, the COMBOBOX will be displayed for the length of the field, to avoid overlaying data in the next field, but the COMBOBOX field will scroll to the right so that the user will be able to type in more than enough data to fill the field.
On the host, the application must be made to implement this function. One method to do this is to code the input field with a field-level help panel containing a scrollable list of choices.
The COMBO keyword can have one of these values:- ON
- Specifies an input field is to display as a combination box when running in GUI mode.
- OFF
- Specifies an input field is NOT to display as a combination box when running in GUI mode. This is the default setting.
- name
- Specifies a name that is matched with the )LIST section name parameter (see Defining the LIST section). This name is valid only on a CEF or other input type field. The name is composed of 1 to 8 characters. Alphanumeric characters A-Z, a-z, 0-9, #, $, or @ can be used in the name, but the first character cannot be numeric. Lowercase characters are converted into uppercase equivalents.
Note: The COMBO keyword is supported for any input field type. To keep the discussion simple, CEF is used to mean any input field type, and SAC is used to mean any text or output field type.The COMBO keyword must be used in conjunction with the CSRGRP(x) keyword. The CSRGRP(x) keyword must appear on the CEF field that is used to enter the selection on the host, and on the SAC field that identifies the choices in the list. The x value is a number that ties the choices to the correct input field, which has the same COMBO keyword and CSRGRP(x) number.
To specify the attributes of a combination box, use this syntax:
where attribute-char is the special character or 2-position hexadecimal value that is used to define the field within the panel body section. The x in CSRGRP(x) can be a number between 1 and 99. The number is used to group all of the fields with the same value into cursor groups.attribute-char TYPE(input) COMBO(ON|OFF|name) CSRGRP(x) DEPTH(d)The TYPE value must be an input type field. The DEPTH(d) sets the number of rows for the combination box. Values can be from 0 to 99. For example, if you specify DEPTH(8), the combination box contains eight rows of data. If the depth specified is 0, or if the depth is not specified, the default depth is 4.
- CSRGRP(x)
- Enables
you to determine which pushbuttons and checkbox fields are grouped
together for cursor movement purposes. When pushbuttons or checkboxes
are grouped into cursor groups, the cursor up and down keys move the
focus through each of the fields within the group. The TAB key moves
the focus out of the group, to the next field that is not within this
particular group. To specify the CSRGRP(x) keyword for cursor groups use this syntax:
where attribute-char is the special character or 2-position hexadecimal value that is used to define the field within the panel body section. The x in CSRGRP(x) can be a number between 1 and 99. The number is used to group all of the fields with the same value into cursor groups. If you specify a CSRGRP on a field that is not displayed as a pushbutton, a checkbox, a radio button, list box, combination box, or drop-down list, then the CSRGRP keyword is ignored.attribute-char TYPE(PS) CSRGRP(x) attribute-char TYPE(OUTPUT) PAS(ON) CSRGRP(x) attribute-char TYPE(CEF) CKBOX(ON) CSRGRP(x)All pushbuttons and checkbox fields that do not have a CSRGRP defined do not have a cursor group set in GUI mode, which has the same effect as having them all in the same cursor group.
- CUADYN(value)
- Enables you to define dynamic area DATAIN and DATAOUT attributes with CUA attribute characteristics. For more information, see Specifying dynamic areas.
- DDLIST
- Enables you to define choices for a
single choice selection list and display the list in a drop-down box in GUI mode. A drop-down list
is a variation of a list box (see LISTBOX Keyword). A drop-down
list initially displays only one item until you take action to display the rest of the items in the
list. The DDLIST keyword can have one of these values:
- ON
- Specifies a single selection list to display as a drop-down list when running in GUI mode.
- OFF
- Specifies a single selection list is NOT to display as a drop-down list when running in GUI mode. This is the default setting.
- name
- Specifies a name that is matched with the )LIST section name parameter (see Defining the LIST section). This name is valid only on a CEF or other input type field. The name is composed of 1-8 characters. Alphanumeric characters A-Z, a-z, 0-9, #, $, or @ can be used in the name, but the first character cannot be numeric. Lowercase characters are converted into uppercase equivalents.
Note: To keep the discussion simple, CEF is used to mean any input field type, and SAC is used to mean any protected text or output type.The DDLIST keyword must be used in conjunction with the CSRGRP(x) keyword (see "CSRGRP(x)"). The CSRGRP(x) keyword must appear on the CEF field that is used to enter the selection on the host, and on the SAC field that identifies the choices in the list. The x value is a number that ties the choices to the correct input field, which has the same DDLIST keyword and CSRGRP(x) number.
You can define a DDLIST with or without a (LIST section. For more information see:
Note: Defining drop-down lists is not a trivial task. You might find it simpler to use Dialog Tag Language to define panels that contain drop-down lists. See z/OS ISPF Dialog Tag Language Guide and Reference for more information.When you define drop-down lists, keep these points in mind:- The CEF field (or other input field) receives the selection number and the SAC field (or other output or text field) that contains the selection number. The SAC field must be followed by another output or text field with the choice description to be placed in the list.
- The CEF field should not be more than 3 characters long. Only 3 characters are checked and set for CEF fields processed as drop-down lists.
- If the text following the SAC attribute is longer than 3 characters or the CEF field, then the text is truncated to the size of the CEF field, or 3 characters (whichever is smaller when that list choice is selected). Periods at the end of the string are ignored, they are not set into the list entry field with the other text when the choice is selected and the panel is processed.
- If a CEF field has the same CSRGRP value as a previous CEF field, and both of them have the same DDLIST(ON) keyword, then the second CEF field is displayed as an input field and all of the choices with the same keywords are grouped under the first CEF field.
- If a CEF field has a DDLIST(ON) and a CSRGRP value that does not match an SAC field with DDLIST(ON) and a CSRGRP value that comes after it, then the CEF field is displayed as an input field.
- If an SAC field has a DDLIST(ON) and a CSRGRP value that does not match a previous CEF field with DDLIST(ON) and a CSRGRP value, then the SAC field and the description following it do not display.
- If an SAC field is not followed by an output or text field to be used as the list choice text, then the SAC field is not displayed, and there is no entry in the list for that choice.
- DEPTH(d)
- The value of d sets the number of rows for a list box, drop-down list, or combination box to display. Values can be from 0 to 99. This parameter is only used when it is specified on an input field. See the appropriate sections on list boxes, drop-down lists, and combination boxes for more information.
- FORMAT
- For
DBCS terminals, the FORMAT keyword specifies the character format
for a field.
- EBCDIC
- EBCDIC characters only
- DBCS
- DBCS characters only
- MIX
- EBCDIC and DBCS characters
In a FORMAT(MIX) field, any DBCS character string must be enclosed by a shift-out (hexadecimal 0E) and a shift-in (hexadecimal 0F).
The default value for a TYPE(INPUT) and a TYPE(DATAIN) field is FORMAT(EBCDIC). These two default values can be changed by using the )ATTR statement or the )BODY statement. These values, in turn, can be overridden if explicitly specified on a subsequent statement. For example, the net result of these two statements is FORMAT(DBCS):
)ATTR FORMAT(MIX) $ TYPE(INPUT) FORMAT(DBCS)The default value for a TYPE(TEXT) and a TYPE(OUTPUT) field is FORMAT(MIX). The format of a TYPE(TEXT) field cannot be overridden by the execution of an .ATTR or .ATTRCHAR statement. Attempting to do so results in a dialog error.
The pad character for a DBCS field is converted to the corresponding 16-bit character and is then used for padding. Other format fields are padded normally.
The CAPS attribute is meaningful only for EBCDIC and MIX fields. In addition, within a MIX field, the CAPS attribute applies only to the EBCDIC subfields.
- GE
- The
GE keyword indicates that a specific character attribute should be
preceded in the order stream by the graphic escape order, provided
the terminal supports GE order. The GE order indicates that the character
comes from the APL/TEXT character set. This keyword is supported on
TYPE(CHAR) within a Dynamic Area, action bar separator lines (TYPE(ABSL)),
work area separator lines (TYPE(WASL)), and column headings (TYPE(CH)).
The GE keyword can have one of these values:
- ON
- Specifies that ISPF will place a graphic escape order before the attribute character when building the order stream.
- OFF
- The default. Specifies that ISPF will not place a graphic escape order before the attribute character.
If GE(ON) is specified on TYPE(ABSL), TYPE(WASL), or TYPE(CH), and if the characters following these TYPE's in the panel definition are dashes (-) or vertical bars (|), then the appropriate APL character will be used. This results in these panel elements displaying as solid horizontal or vertical lines, instead of broken lines.
Note: If the terminal does not support graphic escape or if you are running under GDDM (i.e., GRINIT service has been issued) then these panel elements will be displayed as coded in the panel definition.For more information about the GE keyword support on TYPE(CHAR) within a dynamic area, see Specifying character attributes in a dynamic area.
- HILITE(value)
- For ISPF-supported terminals
with the extended highlighting feature, the HILITE keyword defines
the extended highlighting attribute for a field. The value can
be:
- USCORE
- Underscore
- BLINK
- Blinking
- REVERSE
- Reverse video
No default is assumed if highlighting is not specified. When you are running in GUI mode, the HILITE keyword is ignored.
If highlighting is specified and the panel is displayed on a terminal without the extended highlighting feature, then:- If an explicit intensity has also been specified, the highlighting is ignored.
- If an explicit intensity has not been specified for the field, a high-intensity field results. On a 3279-A terminal, there is also color provided by default, as described in Table 1.
- Examples of Using COLOR and HILITE Keywords
-
the results are as follows:@ TYPE(OUTPUT) INTENS(HIGH) COLOR(YELLOW) HILITE(BLINK)3277,8 — TYPE(OUTPUT) INTENS(HIGH) 3279-A — TYPE(OUTPUT) INTENS(HIGH) * 3279-B — TYPE(OUTPUT) COLOR(YELLOW) HILITE(BLINK) 3290 — TYPE(OUTPUT) HILITE(BLINK)* Results in white.
- INTENS
- Specifies the intensity of the
field (HIGH is the default):
- HIGH
- High-intensity field
- LOW
- Low-intensity (normal) field
- NON
- Nondisplay field
You can specify these operands for the basic attribute types (TEXT|INPUT|OUTPUT). NEF is the only CUA panel-element type that supports the INTENS(NON) operand. The remaining CUA panel-element types do not allow the COLOR, INTENS, and HILITE keyword default values to be changed. The NON operand allows you to optionally display comments or directive lines.
For a panel displayed on a color terminal, you can also use the INTENS keyword to generate a default color for the field, as described for the COLOR keyword. INTENS(HIGH) and INTENS(LOW) are ignored for a 3290 terminal and in GUI mode.
- JUST
- Specifies how the contents of the field
are to be justified when displayed. JUST is valid only for input and
output fields.
- LEFT
- Left justification
- RIGHT
- Right justification
- ASIS
- No justification
Justification occurs if the initial value of a field is shorter than the length of the field as described in the panel body. Normally, right justification should be used only with output fields, since a right-justified input field would be difficult to type over.
For LEFT or RIGHT, the justification applies only to how the field appears on the screen. Leading blanks are automatically deleted when the field is processed. For ASIS, leading blanks are not deleted when the field is processed, nor when it is initialized. Trailing blanks are automatically deleted when a field is processed, regardless of its justification.
If you omit the JUST parameter, the default is:- JUST(ASIS) for input or output fields in the )MODEL section of a table display panel
- JUST(ASIS) for DATAIN and DATAOUT fields in dynamic areas
- JUST(LEFT) for all other input or output fields.
- LISTBOX
- Enables you to define choices for
a single choice selection list and display the list in a list box in GUI mode. A list box displays a
scrollable list of choices in a box on the display.
The LISTBOX keyword can have one of these values:
- ON
- Specifies a single selection list to display as a list box when running in GUI mode.
- OFF
- Specifies a single selection list is NOT to display as a list box when running in GUI mode. This is the default setting.
- name
- Specifies a name that is matched with the )LIST section name parameter (see Defining the LIST section). This name is valid only on a CEF or other input type field. The name can be 1 to 8 characters long. Alphanumeric characters A-Z, a-z, 0-9, #, $, or @ can be used in the name, but the first character cannot be numeric. Lowercase characters are converted into uppercase equivalents.
Note: To keep the discussion simple, CEF is used to mean any input field type, and SAC is used to mean any protected text or output type.The LISTBOX keyword must be used with the CSRGRP(x) keyword (see CSRGRP(x)). The CSRGRP(x) keyword must appear on the CEF field that is used to enter the selection on the host, and on the SAC field that identifies the choices in the list. The x value is a number that ties the choices to the correct input field, which has the same LISTBOX keyword and CSRGRP(x) number.
You can define a LISTBOX with or without a (LIST section. For more information see:
Note: Defining list box lists is not a trivial task. You might find it simpler to use Dialog Tag Language to define panels that contain list box lists. See z/OS ISPF Dialog Tag Language Guide and Reference for more information.When you define listboxes, keep these points in mind:- The CEF field (or other input field) receives the selection number and the SAC field (or other output or text field) that contains the selection number. The SAC field must be followed by another output or text field with the choice description to be placed in the list.
- The CEF field should not be more than 3 characters long. Only 3 characters are checked and set for CEF fields processed as drop-down lists.
- If the text following the SAC attribute is longer than 3 characters or the CEF field, then the text is truncated to the size of the CEF field, or 3 characters (whichever is smaller when that list choice is selected). Periods at the end of the string are ignored, they are not set into the list entry field with the other text when the choice is selected and the panel is processed.
- If a CEF field has the same CSRGRP value as a previous CEF field, and both of them have the same LISTBOX(ON) keyword, then the second CEF field is displayed as an input field and all of the choices with the same keywords are grouped under the first CEF field.
- If a CEF field has a LISTBOX(ON) and a CSRGRP value that does not match an SAC field with LISTBOX(ON) and a CSRGRP value that comes after it, then the CEF field is displayed as an input field.
- If an SAC field has a LISTBOX(ON) and a CSRGRP value that does not match a previous CEF field with LISTBOX(ON) and a CSRGRP value, then the SAC field and the description following it do not display.
- If an SAC field is not followed by an output or text field to be used as the list choice text, then the SAC field is not displayed, and there is no entry in the list for that choice.
- NOJUMP
- Specifies
whether the jump function is disabled for a specific input field.
It is ignored on text and output fields. NOJUMP(OFF), jump function
enabled, is the default for fields with field prompts of ==> and
for fields with field prompts of leader dots (. . or ...), provided
that jump from leader dots is set to YES in the Configuration table
or "jump from leader dots" is selected in the Settings panel.
- ON
- Specifies that the jump function is disabled and the data entered is passed to the dialog as it was entered.
- OFF
- Specifies that the jump function is enabled for fields with field prompts of ==> and for fields with field prompts of leader dots (. . or ...) provided that "jump from leader dots" is set to YES in the Configuration table or selected in the Settings panel. This is the default.
Note: If the application developer defines the NOJUMP(ON) attribute keyword on a specific input field, this disables the "jump from leader dots" setting for that field, and takes precedence over the "jump from leader dots" setting on the Settings panel or the Configuration setting of YES for "jump from leader dots". - NUMERIC
- For terminals
with the Numeric Lock feature, the NUMERIC attribute keyword allows
users to be alerted to certain keying errors. The NUMERIC attribute
keyword is used to specify, for a panel field, whether Numeric Lock
is to be activated for data keyed into that field.
- ON
- Specifies that the Numeric Lock feature is to be activated. The terminal keyboard locks if the operator presses any key other than 0 through 9, minus(-), period (.), or duplicate (DUP). ON is valid only for unprotected fields.
- OFF
- Specifies that the Numeric Lock feature is not to be activated. The user can type in any characters. NUMERIC(OFF) is the default value.
On a data-entry keyboard with the Numeric Lock feature, when the user moves the cursor into a field defined by the NUMERIC(ON) attribute keyword, the display shifts to numeric mode. If the user presses any key other than those allowed by the Numeric Lock feature, the DO NOT ENTER message displays in the operator information area and the terminal is disabled. The user can continue by pressing the reset key.
Note: On non-English keyboards with the Numeric Lock feature, the comma sometimes replaces the period as a valid numeric character.NUMERIC(ON) and SKIP(ON) attributes cannot be specified for the same field. If attempted, ISPF issues an error message.
The NUMERIC(ON) attribute is not supported when GDDM is active.
When running in GUI mode, any panel field defined as NUMERIC(ON) is verified at the workstation. That is, only numeric characters 0 through 9 and special characters comma (,), dash (-), and period (.) are accepted in a numeric only defined field.
- OUTLINE
- For
DBCS terminals, the OUTLINE keyword lets you display lines around
any type of field. The keyword parameters specify where the line or
lines are displayed.
- L
- Line to the left side of the field
- R
- Line to the right side of the field
- O
- Line over the field
- U
- Line under the field
- BOX
- Line surrounding the field (equivalent to LROU)
- NONE
- No lines
You can specify any combination of the L, R, O, or U parameters in any order, without intervening blanks.
The default value for OUTLINE is NONE. The default value for TYPE(INPUT) and TYPE(DATAIN) fields can be specified on the )ATTR or )BODY statement, and can be overridden by the OUTLINE keyword. For example:
When you are running in GUI mode, the OUTLINE keyword is ignored.)ATTR OUTLINE(U) @ TYPE(INPUT) OUTLINE(BOX) - PAD
- Specifies the pad character for initializing
the field. This is not valid for text fields. If PAD is omitted, the
default is PAD(' ') for output fields.
- char
- Any character, including blank (' '), can be specified as the
padding character. If the character is any of these, it must be enclosed
in single quotes:
If the desired pad character is a single quote, use four single quotes: PAD('''').blank < ( + ) ; ¬ , > : = - NULLS
- Nulls are used for padding.
- USER
- Padding character is specified by a user through the ISPF Settings panel.
If the field is initialized to blanks or the corresponding dialog variable is blank, the entire field contains the pad character when the panel is first displayed. If the field is initialized with a value, the remaining field positions, if any, contain the pad character.
Padding and justification work together as follows. At initialization, unless you have specified ASIS, the field is justified and then padded. For left-justified and ASIS fields, the padding extends to the right. For right-justified fields, the padding extends to the left.
When ISPF processes an input field, it automatically deletes leading or trailing pad characters as follows:- For a left-justified field, ISPF deletes leading and trailing pad characters.
- For a right-justified field, ISPF deletes leading pad characters and stores trailing pad characters.
- For an ASIS field, ISPF deletes trailing pad characters and stores
leading pad characters.
Regardless of the type of justification, ISPF deletes leading and trailing pad characters for command fields.
In no case does ISPF delete embedded pad characters. It deletes only leading or trailing pad characters.
- PADC
- Specifies
conditional padding with the specified pad character. The pad character
is used as a field filler only if the value of the input or output
field is initially blank. The pad character is not displayed in the
remaining unfilled character positions if the field has an initial
value. Instead, the unfilled positions contain nulls. Otherwise, ISPF
treats the PADC keyword like the PAD keyword, including justification
and deletion of pad characters before storing variables in the pool.
- char
- Any character, including blank (' '), can be specified as the
padding character. If the character is any of these, it must be enclosed
in single quotes:
If the desired pad character is a single quote, use four single quotes: PADC('''').blank < ( + ) ; ¬ , > : = - NULLS
- Nulls are used for padding.
- USER
- Specifies that a user-defined character be used for padding. You define the character by using the ISPF Settings panel. PAD and PADC are incompatible. It is not valid to specify both PAD and PADC for the same attribute character.
If PADC is omitted, the default is PADC(USER) for input fields.
- PAS
- PAS is
valid for input and output fields only (not for text fields). The
point-and-shoot keyword specifies the field as a point-and-shoot field.
In GUI mode, output fields specified as point-and-shoot fields are
displayed as buttons. The PAS keyword is used in conjunction with
the )PNTS point-and-shoot panel section. See Defining the point-and-shoot section for
more information. For each field on the panel that has been designated as a point-and-shoot field, there must be a corresponding entry in the )PNTS point-and-shoot panel section. If the cursor is placed on a point-and-shoot panel field and the Enter key is pressed, the action associated with the field is performed. In the example shown, if the cursor is placed on the point-and-shoot field, BLUE1, and the Enter key is pressed, the variable RED1 is set to RED. In GUI mode, the action is performed when the pushbutton point-and-shoot field is selected. The cursor only remains positioned on the point-and-shoot field if no intermediate panel is displayed and if the dialog does not set the cursor position.Note: You can use option 0 (Settings) to set the tab key to move the cursor point-and-shoot fields. This changes output fields to input fields, but data is not altered. However, if a variable is used on an output field that is changed to an input field by the tab to point-and-shoot option, and the variable is VDEFINEd to the application, the variable will be truncated. In this case, the application developer should have a temporary panel variable.
- ON
- The field is a point-and-shoot field.
- OFF
- The default. This field is not a point-and-shoot field.
Example:)PANEL )ATTR $ TYPE(PIN) } TYPE(PS) + TYPE(NT) | AREA(SCRL) EXTEND(ON) ! TYPE(OUTPUT) PAS(ON) COLOR(RED) * TYPE(OUTPUT) PAS(ON) COLOR(BLUE) @ TYPE(TEXT) INTENS(LOW) COLOR(RED) PAD(NULLS) ø TYPE(TEXT) INTENS(LOW) COLOR(BLUE) PAD(NULLS) )BODY WINDOW(60,23) $ %COMMAND ===>_ZCMD $ $ Press }DEFAULTS$to reinstate defaults $ + |S1 | )AREA S1 + + + + + øBLUE . . . .*BLUE1 + + @RED . . . . .!RED1 + )INIT .cursor = blue1 &blue1 = ' ' )PROC REFRESH(*) )PNTS FIELD(BLUE1) VAR(RED1) VAL(RED) FIELD(ZPS00001) VAR(BLUE1) VAL(DEFAULT) )END - RADIO
- Displays
mutually exclusive textual settings choices. These fields must contain
at least two choices, one of which is usually selected. A single-choice
selection list is the equivalent function on the host. In GUI mode,
they appear as radio button groups. To have a single-choice selection list display as a radio button group, use the RADIO(ON) keyword with the CSRGRP(x) keyword on the CEF type (or other input type) field that is used to enter the selection on the host.Note: The RADIO keyword is supported for any input, output, or text field type. To keep the discussion simple, CEF is used to mean any input field type, and SAC is used to mean any protected text or output type.For a list of possible selections, attribute type SAC (select available choice) or another text or output field type must be used before the choice selection number. The attribute used for the choice selection number also must have the RADIO(ON) keyword with the CSRGRP(x) keyword. The x on the CSRGRP keyword is a number used to identify each radio button group. The CSRGRP number on both the CEF type field and the SAC type field must match. (For more information about CSRGRP, see CSRGRP(x).) The next field must be a text or output field, used as the radio button choice text.
ISPF initially sets the radio button in the group that corresponds to the value in the CEF field. If the CEF field is blank or the value in the field does not correspond with any of the radio button selections, then no radio button is set by default. ISPF then uses the characters following the SAC attribute to set the value into the CEF field with the same CSRGRP(x) number.
The CEF field must be no more than 3 characters, because only 3 characters are checked and set for the CEF fields processed as radio buttons. If the text following the SAC attribute is longer than 3 characters, or longer than the value in the CEF field, then the text is truncated to the size of the CEF field or 3 characters, whichever is smaller when the radio button corresponding to that choice is selected. Periods at the end of the string are ignored.
To specify the RADIO(ON/OFF) CSRGRP(xx) keyword for radio buttons, use this syntax:attribute-char TYPE(CEF) RADIO(ON/OFF) CSRGRP(x) attribute-char TYPE(SAC) RADIO(ON/OFF) CSRGRP(x)- attribute-char
- the special character or 2-position hexadecimal value used to define the choice entry field, or the SAC field within the panel body section. The radio button group is defined in the panel body section by using the special character to define the radio button entry field and the radio button choices that go with it.
- TYPE(CEF)
- field attribute overrides for the CEF fields can be used to set the RADIO(ON) and CSRGRP(x) value for the CEF field.
- TYPE(SAC)
- or other text or output field type to be used before each of the choice selection numbers.
- RADIO
- ON if the radio button is implemented, OFF if it is not.
- CSRGRP(x)
- x can be any number from 1 to 99. The number refers to the number of the radio button group as a whole, not the individual choices with the radio button group.
For example:)ATTR @ TYPE(CEF) RADIO(ON) CSRGRP(1) $ TYPE(SAC) RADIO(ON) CSRGRP(1) ! TYPE(CEF) RADIO(ON) CSRGRP(2) ^ TYPE(SAC) RADIO(ON) CSRGRP(2) #TYPE(SAC) )BODY % -------- Radio Button PANEL ---------- + +Terminal Characteristics: +Screen format @Z $1.#Data+ $2.#Std+ $3.#Max+ $4.#Part+ +Terminal Type !Z ^1.#3277+ ^3.#3278+ ^5.#3290A+ ^7.#3278CF+ ^2.#3277A+ ^4.#3278A+ ^6.#3278T+ ^8.#3277KN+ )ENDNotes about syntax:- If a CEF field has the same CSRGRP(x) value as a previous CEF field, and both of them have RADIO(ON), then the new CEF field is displayed as an input field.
- If a CEF field has a RADIO(ON) and a CSRGRP(x) value that does not match an SAC with RADIO(ON) and a CSRGRP(x) value that comes after it, then the CEF field is displayed as an input field.
- If an SAC field has a RADIO(ON) and a CSRGRP(x) value that does not match a previous CEF field with RADIO(ON) and a CSRGRP(x) value, then the SAC field is displayed as an output field instead of a radio button.
- If an SAC field is not followed by an output field to be used as the radio button text, then the SAC field is displayed as an output field.
- If the radio button choice text wraps from one row to the next, then the text on the next line is not displayed as part of the radio button choice text, but as normal text.
Restrictions on radio buttons and scrollable areas:
- Radio button groups can appear in a scrollable area, but choices that do not appear in the visible portion of the area are not displayed.
- If a radio button group does appear in a scrollable area, and the panel cannot be scrolled to show all of the choices and the CEF field, then it might not be possible to select some of the choices in the radio button group.
- If the CEF field is scrolled out of the visible area of a scrollable area, the SAC field and the choice text field that follow it are displayed in the panel body as text or output fields.
Because of these scrolling restrictions, instead of using radio buttons, try using a LISTBOX or DDLIST with the )LIST section for your application.
- REP(character)
- For
DBCS terminals, the REP keyword allows users to view, on panel definitions,
the displayable replacements for nondisplayable attribute characters.
This provides for the use of a wider range of BODY record attribute
characters that can be viewed on panel definitions. These replacement
characters are not visible on the actual panel displays.
You can specify any replacement character, but those that must be enclosed in single quotes are as follows: < > ( ) + ; : , = blank.
Replacement characters are defined in the attribute section. Then, in the body section of the panel definition, a record containing only the defined attribute replacement characters is inserted immediately below any field defined by a corresponding statement in the attribute section. Each replacement character must be in the same column position as the attribute character position in the field above.
When the panel definition, for example, is viewed for editing, the data field and the characters that replace the attribute positions are both displayed. However, when the panel is displayed, the record containing the replacement characters is not displayed.
Any character immediately above an attribute replacement character in the panel definition is overlaid by the attribute character's hexadecimal code, not by the displayable replacement character.
In the example shown, hexadecimal codes 38, 31, 32, and 34 are in the field attribute positions when the panel is displayed. Because these codes are not visible on a display, replacement characters *, !, $, and # are specified for viewing the panel definition.
When the panel is displayed, the attribute position above the asterisk (*) contains hexadecimal 38; the one above the exclamation marks (!) contain hexadecimal 31; the one above the dollar sign ($) contains hexadecimal 32, and the one above the number sign (#) contains hexadecimal 34. None of these attribute characters is visible on the display, and the panel definition record containing the replacement characters is not displayed.
The field attribute positions on the panel definition can contain any character, illustrated as x in the example shown, because they are overlaid by the replacement characters when the panel is displayed.
Example:)ATTR 38 TYPE(INPUT) FORMAT(DBCS) REP(*) 31 TYPE(INPUT) FORMAT(EBCDIC) REP(!) 32 TYPE(TEXT) FORMAT(EBCDIC) REP($) 34 TYPE(TEXT) FORMAT(MIX) REP(#) )BODY + DBCS input field %===>x VARDBCS + * [DBDBDBDBDBDBDBDBDB]===>x VAREBC + # $ !Any characters used to replace shift-out or shift-in characters must be less than hexadecimal 40 and must not be hexadecimal 00, 0E, or 0F.
The EXPAND keyword cannot be used for records containing only those characters defined by the REP keyword.
- SKIP
- The
SKIP keyword defines the autoskip attribute of the field. It is valid
only for text or output (protected) fields (OFF is the default).
- ON
- Specifies that the cursor automatically skips the field. When a character is entered into the last character location of the preceding unprotected data field, ISPF positions the cursor at the first character location of the next unprotected field.
- OFF
- Specifies that the cursor does not automatically skip the field when the condition described for SKIP(ON) occurs.
- TYPE(value)
- Specifies
the TYPE category of the panel element. The default is TYPE(INPUT).
The TYPE values shown must be coded explicitly; it is not valid to
assign any of these values to dialog variables: AB, ABSL, CH, CHAR,
CT, DATAIN, DATAOUT, DT, ET, FP, GRPBOX, NT, PIN, PT, RP, SAC, SI,
SUC, TEXT, WASL, and WT. For simplicity, the values in examples are
shown as literals. value may be:
- Value
- Description
- AB
- AB unselected choices
- ABSL
- AB separator line
- CEF
- Choice entry field
- CH
- Column heading
- CHAR
- Character attributes in a dynamic area
- CT
- Caution text
- DATAIN
- Input (unprotected) field in a dynamic area
- DATAOUT
- Output (protected) field in a dynamic area
- DT
- Descriptive text
- EE
- Error emphasis
- ET
- Emphasized text
- FP
- Field prompt
- GRPBOX
- Group box
- INPUT
- Input (unprotected) field
- LEF
- List entry field
- LI
- List items
- LID
- List item description
- NEF
- Normal entry field
- NT
- Normal text
- OUTPUT
- Output (protected) field
- PIN
- Panel instruction
- PS
- Point-and-shoot
- PT
- Panel title
- RP
- Reference phrase
- SAC
- Select available choices
- SC
- Selected choice
- SI
- Scroll information
- SUC
- Select unavailable choices
- TEXT
- Text (protected) field
- VOI
- Variable output information
- WASL
- Work area separator line
- WT
- Warning text
Note: TYPE values are grouped into four categories:- Basic attribute types (TEXT|INPUT|OUTPUT). See Basic attribute types.
- Dynamic area types (CHAR|DATAIN|DATAOUT). See Specifying dynamic areas.
- CUA panel-element types. See CUA panel-element types.
- Other attribute types. See Other attribute types.
- The UNAVAIL attribute keyword is used to show the availability
of a choice in conjunction with radio buttons, checkboxes, and pushbuttons.
The UNAVAIL attribute keyword can also be used with the LISTBOX, DDLIST, and COMBO attribute keywords on choices specified in the )LIST section to show the availability of a choice.
In GUI mode, if a LISTBOX, DDLIST, or COMBO choice is set as unavailable, that choice does not appear in the LISTBOX, DDLIST, or COMBO list of choices.
- ON
- Specifies that the choice is not available. In GUI mode this means that the choice cannot be selected in the current context. In host mode, you can still select the choice. It is up to the application you are running to display an error message or ignore the choice. You can use the VER statement keywords LISTX or LISTVX to handle an unavailable choice selection.
- OFF
- Specifies the choice is available and can be selected. This is the default setting.
- WIDTH(w)
- The value of w sets the width for a list box or drop-down list. Values can be from 0 to 99. This parameter is only used when it is specified on an input field. See the appropriate sections on list boxes, and drop-down lists for more information.
Defining a DDLIST without a )LIST section
To define a drop-down list using just the attribute keywords DDLIST and CSRGRP, define the drop-down list by coding the DDLIST(ON) keyword on the CEF field and on the SAC field that identifies the choices that go with the CEF field. The SAC choice fields that have the same keyword settings (DDLIST and CSRGRP) as the CEF field are used to build the list of choices in the list. They are not built into the panel body when the panel is displayed. The fields following the SAC fields should be text or output fields, they are used as the list choice text. If a field following an SAC field is not a text or output field, no entry is built in the list for that field. The data in the drop-down list is displayed in the order that ISPF processes the defined panel body, that is, left to right, and top to bottom.
ISPF initially compares the CEF field with each SAC field for the drop-down list. If a CEF and SAC match is found the drop-down list field is set to the matching SAC choice text field. If no match is found, or if the CEF field is blank, the drop-down list field is set to blank.
attr-char TYPE(CEF) DDLIST(ON) CSRGRP(x) WIDTH(w) DEPTH(d)
attr-char TYPE(SAC) DDLIST(ON) CSRGRP(x) Where attr-char is
the special character or 2-position hexadecimal value used to define
the choice entry field, or the SAC field within the panel body section.
The other variables listed in the example are:
- WIDTH(w)
- The value of w sets the width of the
drop-down list. Values can be from 0 to 99. This parameter is only
used when it is specified on a CEF field. If you specify a width,
ISPF makes the drop-down list that is displayed the specified width.
If you do not specify, or specify a width of zero, ISPF scans the
next field that is not one of the choice numbers or choice text fields
for the CEF field to determine the available space for the list. In
this case, ISPF sets the width to the smaller value between the available
space and the length of the longest choice text string. This value does not include the DDLIST borders. If you specify WIDTH(5), the DDLIST can contain 5 characters of data. The width you specify should be large enough to hold the longest choice text string. Also ensure that there is enough panel space for it to fit without overlaying other fields on the panel.Note: Ensure that, from the starting position of the drop-down list, the width that you specify does not extend past the right border of the panel.
- DEPTH(d)
- The value of d sets the number of rows
for the list to display. Values can be from 0 to 99. This parameter
is only used when it is specified on a CEF field. If you specify a
depth, ISPF makes the drop-down list that is displayed the specified
depth.
If you specify DEPTH(8), the DDLIST can contain 8 lines of data. If the depth specified is 0, or if the depth is not specified, the default depth is 4.
Here is an example panel definition for DDLIST:
)ATTR
@ TYPE(CEF) DDLIST(ON) CSRGRP(1)
$ TYPE(SAC) DDLIST(ON) CSRGRP(1)
# TYPE(SAC)
)BODY
%-------------------Sample List Panel---------------------------------
+Terminal Characteristics:
+Screen format
@Z $1.#Data+ $3.#Max+
$2.#STD+ $4.#Part+
)END
------------------------------------------------------------------- Defining a DDLIST with a )LIST section
Another way to define a DDLIST is to build the choices into the )LIST section of the panel. See Defining the LIST section for more information about the LIST section.
)ATTR
attr-char TYPE(CEF) DDLIST(name) CSRGRP(x) WIDTH(w) DEPTH(d)
attr-char TYPE(SAC) DDLIST(ON) CSRGRP(x)
⋮
)LIST name
VAL(value1) CHOICE(choice1)
VAL(value2) CHOICE(choice2) Where the DDLIST(name) on
the CEF field in the )ATTR section matches the name on the )LIST statement.
The )LIST section contains the list of choices and the values for
the drop-down list. The data in the drop-down list is displayed in
the order in which you define the choices in the )LIST section.If the choices are also built into the panel body, the SAC attribute must have DDLIST(ON) so that ISPF does not display the choices in the panel body, but uses the choices specified in the )LIST section.
ISPF initially compares the CEF field with each VAL(value) in the named )LIST section. If a CEF and VAL match is found the drop-down list field is set to the matching VAL's choice text. If no match is found, or if the CEF field is blank, the drop-down list field is set to blank.
Defining a LISTBOX without a )LIST section
Define the list box by coding the LISTBOX(ON) keyword on the CEF field and on the SAC field that identifies the choices that go with the CEF field. The SAC choice fields that have the same keyword settings (LISTBOX and CSRGRP) as the CEF field are used to build the list of choices in the list. They are not built into the panel body when the panel is displayed. The fields following the SAC fields should be text or output fields, they are used as the list choice text. If a field following an SAC field is not a text or output field, no entry is built in the list for that field.
attr-char TYPE(CEF) LISTBOX(ON) CSRGRP(x) WIDTH(w) DEPTH(d)
attr-char TYPE(SAC) LISTBOX(ON) CSRGRP(x) Where attr-char is
the special character or 2-position hexadecimal value used to define
the choice entry field, or the SAC field within the panel body section.
The other variables listed in the example are:
- WIDTHw
- The value of w sets the width of the
list box. Values can be from 0 to 99. This parameter is only used
when it is specified on a CEF field. If you specify a width, ISPF
makes the list box that is displayed the specified width. If you do
not specify, or specify a width of zero, ISPF scans the next field
that is not one of the choice numbers or choice text fields for the
CEF field to determine the available space for the list. In this case,
ISPF sets the width to the smaller value between the available space
and the length of the longest choice text string.
This value does not include the LISTBOX borders. If you specify WIDTH(5), the LISTBOX can contain 5 characters of data.
- DEPTHd
- The value of d sets the number of rows
for the list to display. Values can be from 0 to 99. This parameter
is only used when it is specified on a CEF field. If you specify a
depth, ISPF makes the list box that is displayed the specified depth.
If the depth specified is 0, or if the depth is not specified, the
default depth is 4.
This value does not include the horizontal scroll bar. If you specify DEPTH(8), the list box can contain 8 lines of data.
Note: Ensure that from the starting position of the List Box, the width specified does not extend past the right border of the panel. Also ensure that from the starting position of the List Box, the depth specified does not extend past the bottom edge of the panel.
Here is an example panel definition for LISTBOX
)ATTR
@ TYPE(CEF) LISTBOX(ON) CSRGRP(1) DEPTH(4)
$ TYPE(SAC) LISTBOX(ON) CSRGRP(1)
# TYPE(SAC)
)BODY
%-------------------Sample List Panel---------------------------------
+Terminal Characteristics:
+Terminal Type
@Z $1.#3277+ $5.#3290A+
$2.#3277A+ $6.#3278T+
$3.#3278+ $7.#3278CF+
$4.#3278A+ $8.#3277KN+
)END
------------------------------------------------------------------- Defining a LISTBOX with a )LIST section
Another way to define a LISTBOX is to build the choices into the )LIST section of the panel. See Defining the LIST section for more information about the LIST section.
)ATTR
attr-char TYPE(CEF) LISTBOX(name) CSRGRP(x) WIDTH(w) DEPTH(d)
attr-char TYPE(SAC) LISTBOX(ON) CSRGRP(x)
⋮
)LIST name
VAL(value1) CHOICE(choice1)
VAL(value2) CHOICE(choice2) Where the LISTBOX(name)
on the CEF field in the )ATTR section matches the name on the )LIST
statement. The )LIST section contains the list of choices and the
values for the drop-down list. The data in the drop-down list is displayed
in the order in which you define the choices in the )LIST section.If the choices are also built into the panel body, the SAC attribute must have LISTBOX(ON) so that ISPF does not display the choices in the panel body, but uses the choices specified in the )LIST section.
