An ISPF panel is defined separately from the program or script that uses it. The panel definition can contain a number of different sections that define the appearance of the panel, the fields within the panel that will be accessible for subsequent processing and links to other panels both for menu navigation and field level help. The only two mandatory sections within a panel definition are the )BODY section which defines the non-scrollable portion of the screen including the fields within it and the )END statement that specifies where the panel definition ends.
There are also quite a few optional sections that you can define within the panel definition that expand the functionality of the panel and make it much more flexible and useful.
What follows is a list of all of the sections that can be used in a panel definition listed in the order in which they need to occur when they are used. I also supply an example that shows how many of these sections can be used.
Specifies the Coded Character Set Identifier used in the panel definition. When this section is used, the terminal uses the specified character set to display the panel.
Specifies a keylist to be used during the display of the panel. This section identifies where the keylist is to be found. When this section is specified the panel will be displayed in CUA mode.
The )ATTR (attribute) section of a panel contains the definitions for the special characters or two-digit hexadecimal codes that are to be used in the definition of the body of the panel to represent attribute (start-of-field/end-of-field) bytes. When the panel is displayed, these characters are replaced with the appropriate hardware attribute bytes and appear on the screen as blanks. If you do not define attribute characters, ISPF uses defaults.
If not specified explicitly with the DEFAULT keyword, the default attribute characters are:
There are a number of optional parameters can be used to define attribute characters that can be used within the panel. As well as the basic input and display fields there are also quite a number of other field types that can be used with an ISPF panel.
This section must exist for each action bar choice displayed in the Action Bar area on a panel. The maximum number of )ABC sections on a panel is 40. For each separate action bar choice section, you must define a corresponding )ABCINIT (action bar choice initialization) section. Within each action bar section, pull-down choices are defined with the PDC statement each of which is associated with an ACTION statement.
Required if )ABC specified. Specifies processing that is to occur for an action bar choice prior to the display of the panel. Used to initialize the action bar fields. The )ABCINIT section must contain a .ZVARS control variable assignment statement to associate a field name with the pull-down entry field.
Optional if )ABC specified. Specifies processing that is to occur for an action bar when the panel is submitted. Normally used to validate the selection from the action bar.
This section defines the format of the panel as seen by the user, any scrollable areas or graphical areas, and defines the name of each variable field on the panel.
Required for table display. Defines the format to be used to format each row of the table data. The content of this section is repeated down the screen for each row of the table. If there are too many rows within the table then this area will be scrollable. Only one )MODEL section is allowed per panel.
Defines the content that will be placed within a scrollable section of the panel. The location of this scrollable area needs to be defined within the body section of the panel definition.
Specifies the initial processing that is to occur prior to displaying the panel. This section is typically used to define how variables are to be initialized.
Specifies processing that is to occur prior to redisplay of a panel. This enables a given field to be either set to the same value as initially or set to a completely different value when the screen is refreshed.
Specifies processing that is to occur after the panel has been displayed or redisplayed. This section is typically used to define how variables are to be verified and translated. This section can be coded in such a way as to allow menu screens to be linked together without the need for programs or scripts.
Specifies the help panels to display when help is requested for a field, list column, action bar choice, or pull-down choice defined in the panel or reference phrase.
Contains an entry for each field on a panel that has been designated as a point-and-shoot field.
Specifies a list to build on the panel.
Specifies where the panel definition ends. Any data that appears on lines following the )END statement are ignored.
This article written by Stephen Chapman, Felgall Pty Ltd.