Table of Contents (exploded view)
Abstract for ISPF Dialog Developer's Guide and Reference
Where to find more information
Summary of changes
Summary of changes for z/OS Version 2 Release 2 (V2R2)
Summary of changes for z/OS Version 2 Release 1 (V2R1)
Introduction to ISPF
What is ISPF?
What is a dialog?
Functions
Variables
Command tables
Panel definitions
Message definitions
File-tailoring skeletons
Tables
What does a dialog do?
Developing a dialog
How dialog elements interact
Dialog variables
Controlling ISPF sessions
Dialog control and data flow
Processing a dialog
Starting a dialog
Syntax for issuing the ISPSTART command
Parameters
Using the ISPSTART command
Invoking a dialog from a selection panel
Invoking a dialog from a master application menu
Controlling ISPF sessions
Using the SHRPROF system command
SHRPROF command syntax and parameter descriptions
What the SELECT service does
Invoking the SELECT service
Terminating a dialog
Return Codes from Terminating Dialogs
Return Codes from Termination Dialogs
An example using the ZISPFRC return code
ISPF test and trace modes
Test modes
ISPF trace modes
Invoking authorized programs
Invoking TSO commands
Compiled REXX requirements
CLIST requirements
Attention exits
Restrictions on using attention exits from CLISTs
Examples of CLIST attention exit process flow
Single CLIST with one attention exit
Nested CLISTs with two attention exits (one SELECT level)
Nested CLISTs with one attention exit
Nested CLISTs and SELECT levels with one attention exit
Using APL2
Invoking APL2
Executing APL2 functions
Invoking ISPF dialog services in the APL2 environment
APL2 workspace as the ISPF function pool
Interface between ISPF and APL2
Subtasking support
ESTAE restrictions
ISPF services in batch mode
Command processors in the TSO batch environment
Sample batch job
Processing errors
Batch display facility for background panel processing
Supplying input in lieu of interactive users
Supplying batch terminal characteristics
Message processing in the batch environment
Command processing in the batch environment
Display error processing in the batch environment
How ISPF handles log and list data sets in the batch environment
Avoiding panel loop conditions in the batch environment
ISPF graphical user interface in batch mode
Restrictions
Example JCL: invoking client/server in batch mode
Introduction to writing dialogs
Using the display services
Example: creating a display with TBDISPL
Processing selected rows
Adding table rows dynamically during table display scrolling
System variables are the ISPF-function interface
Dynamic table building
Using variable ZTDRET
Using variable ZTDADD
Using variables ZTDAMT and ZTDAMTL
Using variables ZTDSCRP and ZTDSRID
Using variable ZTDSIZE
Using variables ZTDLTOP and ZTDLROWS
Example: dynamic table expansion
Using the variable services
Searching variable pools
SELECT service and variable access
Function pools and dialog functions
Command procedures, program functions, and function pools
Use a variable service to create or delete defined variables
Creating implicit variables
Naming defined and implicit variables
Sharing variables among dialogs
Saving variables across ISPF sessions
Removing variables from the shared or profile pool
Read-only profile pool extension variables
Variables owned by ISPF
Variable formats
System variables communicate between dialogs and ISPF
Using VDEFINE, VDELETE, VRESET, VCOPY, VMASK, and VREPLACE
Using the VGET, VPUT, and VERASE services
Summary of variable services
Using the table services
Where tables reside
Accessing data
Services that affect an entire table
Services that affect table rows
Protecting table resources
Example: create and update a simple table
Determining table size
Example: function using the DISPLAY, TBGET, and TBADD services
Command procedure function
Description of function steps
Specifying dbcs search argument format for table services
Using the file-tailoring services
Skeleton files
Example of a skeleton file
Example of using file-tailoring services
Using the PDF services
BROWSE, EDIT, EDREC, and VIEW
BRIF, EDIF, EDIREC, and VIIF
Library access services
Using the miscellaneous services
CONTROL service
GDDM services (GRINIT, GRTERM, and GRERROR)
GETMSG service
LIBDEF service
LIST service
LOG Service
PQUERY Service
Common User Access (CUA) guidelines
Using the dialog tag language to define dialog elements
Keylists
Action bars and pull-downs
Pop-up windows
Movable pop-ups
WINDOW command
Manual movement
Pop-up movement considerations
Field-level help
Extended help
Keys help
Reference phrase help
START service
Graphical User Interface (GUI) guidelines
How to display an application in GUI mode
Other considerations
Some general GUI restrictions
Panel definition statement guide
Introduction to panel definition sections
Guidelines for formatting panels
Requirements for specifying message and command line placement
Additional suggestions for designing panels
Example of a CUA panel definition
Factors that affect a panel's size
Vertically scrollable panels
Syntax rules and restrictions for panel definition
Using blanks and comments
Formatting items in lists
Using variables and literal expressions in text fields
Validating DBCS strings
Special requirements for defining certain panels
Defining menus
NOCHECK keyword
MODE keyword
EXIT keyword
Blank or invalid options (‘’ or *,‘?’)
Defining primary option menus
Specifying the next menu to display
Example of a master application menu
Example of a primary option menu
Defining table display panels
Table display vocabulary
Requirements for attribute section
Requirements for body section
Requirements for model section
Requirements for initialization section
Requirements for reinitialization section
Requirements for processing section
Using control variables
Processing panels by using the TBDISPL service
Formatting panels that contain dynamic areas
Panel processing considerations
Character-level attribute support for dynamic areas
Specifying character attributes in a dynamic area
Conflict resolution between attributes
Formatting panels that contain a graphic area
Graphics panel processing considerations
Using DBCS-related variables in panels
Using preprocessed panels
Restrictions for using ISPPREP
Using ISPPREP with the SELECT service
Examples of using ISPPREP
Handling error conditions and return codes
Panel definition statement reference
Defining panel sections
Defining the action bar choice section
Specifying action bar choices in panel )BODY section
Defining pull-down choices within the )ABC section
Defining the action bar choice initialization section
Defining the action bar choice processing section
Defining the area section
Panel definition considerations
Help panels
Panel processing
Scrollable area examples
Defining the attribute section
Using default attribute characters
Formatting attribute section statements
Basic attribute types
Example of basic attribute types
Specifying dynamic areas
CUA attribute characteristics in dynamic areas
CUA panel-element types
Other attribute types
Group box
Selected choice
Relationship to Control variables .ATTR and .ATTRCHAR
Defining the body section
A sample panel body section
Defining the CCSID section
Defining the END section
Defining the FIELD section
Primary commands for scrollable fields
Example
Panel definition considerations
Defining the HELP section
Specifying the value for the field-name and help-panel-name
Defining the INEXIT section
How to LOAD the panel input exit routine
Invoking the panel input exit routine
Parameters passed from ISPF to the panel input exit routine
Return codes and error processing
Panel input exit processing
Examples of using panel input exits
Defining the initialization section
Defining the LIST section
Defining the model section
Defining the panel section
Keylist variables
CUA display characteristics
Command lines and long messages
Keylist building and display
Undefined or null function keys
CANCEL and EXIT execution
Setting system control variables
Defining the point-and-shoot section
GUI mode
Defining the processing section
Defining the reinitialization section
Formatting panel definition statements
The assignment statement
The TRUNC built-in function
The TRANS built-in function
The PFK built-in function
The LENGTH built-in function
The UPPER built-in function
The LVLINE built-in function
The ADDSOSI and DELSOSI built-in functions
The ONEBYTE and TWOBYTE built-in functions
The VSYM built-in function
The ELSE statement
EXIT and GOTO statements
EXIT statement
GOTO statement
The IF statement
Basic IF value testing
IF statement with VER constructs
IF statement with VSYM built-in function
IF statement and boolean operators
The PANEXIT statement
How to LOAD the panel user exit routine
How to LOAD a REXX panel exit
Invoking the panel user exit routine
Parameters passed from ISPF to the panel user exit routine
Return codes and error processing
Using ISPREXPX to read and modify parameters
ISPREXPX syntax
Return codes
Example
The REFRESH statement
The *REXX statement
Processing ISPF dialog variables with panel REXX
ISPPRXVP: dialog variable processor for panel REXX
Return codes and error processing
An example of using panel REXX
Panel REXX example supplied with ISPF
The TOG statement
The VEDIT statement
The VER statement
The VGET statement
DISPLAY service panel
SELECT service panel
The VPUT statement
The VSYM statement
Using ISPF control variables
.ALARM
.ATTR and .ATTRCHAR
.ATTR variable
.ATTRCHAR
Using .ATTR and .ATTRCHAR with table display panels
Things to remember when using attribute override control variables
.AUTOSEL
.CSRPOS
.CSRROW
.CURSOR
.HELP variable
.HHELP variable
.MSG variable
.NRET key
.PFKEY
.RESP variable
.TRAIL
.ZVARS
Using Z variables as field name place-holders
ISPF help and tutorial panels
Processing help
Help requests from an application panel
Keys help request from an application panel
Extended help request from an application panel
Help available from a help panel
Ending help
ISPF default keylist for help panels
The ISPF tutorial panels
Defining messages
How to define a message
Message display variations
Messages tagged with CCSID
Modeless message pop-ups
Message pop-up text formatting
English rules for message text formatting
Asian rules for message text formatting
Substitutable parameters in messages
Syntax rules for consistent message definition
DBCS-related variables in messages
Defining file-tailoring skeletons
Control characters
Considerations for data records
Control characters for data records
Considerations for control statements
Control statements
Built-in functions
&EVAL()
&LEFT()
&LENGTH()
&RIGHT()
&STR()
&STRIP()
&SUBSTR()
&VSYM()
&SYMDEF()
Sample skeleton file
DBCS-related variables in file skeletons
Extended code page support
Translating common characters
Z variables
Panels tagged with CCSID
Messages tagged with CCSID
GETMSG service
TRANS service
ISPccsid translate load modules
ISPccsid translate load module generation macro
ISPCCSID macro
Description of parameters
ISPccsid translate load module definition examples
KANA and NOKANA keywords
Character translation
Supported CCSIDs
Base code pages for terminals
Adding translate tables for extended code page support
Base CCSIDs
Extended code page translate tables provided by ISPF
Example of user-modifiable ISPF translate table
Character translations for APL, TEXT, and Katakana
ISPTTDEF specify translate table set
Diagnostic Tools and Information
ISPF debug tools
Panel trace command (ISPDPTRC)
Trace format
Panel trace header
Panel display
Panel processing trace
File tailoring trace command (ISPFTTRC)
Trace format
File tailoring trace header
File tailoring processing trace
Diagnostic information
Using the ENVIRON system command
ENVIRON command syntax and parameter descriptions
Abend panels provide diagnostic information
ISPF statistics entry in a PDS directory
Common problems using ISPF
Messages
Unexpected output
Abend codes and information
Terminal I/O error codes
Register linkage conventions
Obtaining message IDs
Dialog variables
PDF non-modifiable variables
System variables
Configuration utility
Time and date
General
ZSCRNAME examples
Example 1
Example 2
Example 3
Terminal and function keys
Scrolling
PRINTG command
Table display service
LIST service
LOG and LIST data sets
Dialog error
Tutorial panels
Selection panels
DTL panels or panels containing a )PANEL section