Dialog Testing Using ISPF
- Invoke selection panels, command procedures, programs and shared segments
- Display panels
- Add new variables and modify variable values
- Display a table's structure and status
- Display, add, modify, and delete table rows
- Browse the ISPF log, provided that ISPF/PDF is installed
- Execute dialog services
- Add, modify, and delete function and variable trace definitions
- Add, modify, and delete breakpoint definitions.
When you enter dialog test from the ISPF/PDF primary option panel, you enter a new user application with an application ID of ISR. When you enter dialog test from the ISPF primary option panel, you enter a new user application with an application ID of ISP. All the options operate in this context.
Dialog test is itself a dialog and, therefore, uses the dialog variables. Because it is important to allow your dialog to operate without interference (as though in a production environment), dialog test accesses and updates variables independently of your dialog variables.
If your dialog encounters a severe error when it invokes a dialog service, that error is handled as requested by a dialog. The current CONTROL service ERRORS setting (CANCEL, or RETURN; the default is CANCEL) determines what is done. If CANCEL is in effect, when the error message panel is displayed you may choose whether to continue dialog testing.
The following is a description of the test options:
The functions option lets you test a dialog function (panel, command procedure, or program). You do not have to write supporting code or panels. The name of the dialog function and the parameters that may be passed are the same as those that you can specify (from a dialog function) when you invoke the SELECT service. When you press Enter, a SELECT is done. When you select this option, a panel is displayed that lets you identify the dialog function that you want to test.
During panel development, the panels option lets you test newly created or modified panels and messages. You do not need to write supporting code to display them. Any variables referenced and set during panel processing are handled according to standard ISPF protocol.
- Display all ISPF variables defined in the dialog application you are testing
- Change the value of a variable
- Define new variables
- Delete variable names and blank lines.
When you select this option, a scrollable display indicates all the current variables for the dialog being tested. The rows of the display are ordered by the pool containing the variables, then by function pool type within the function pool, then alphabetically by variable name within each pool. The function variable pool is listed first, followed by the shared variable pool, and then the profile variable pool. Insertions are left where they are entered on the display.
Modifications to the display are processed when you press Enter. Updating of the variable pools occurs when you enter the END command.
- Display the contents of an existing row in an open table.
- Remove an existing row from an open table.
- Change the contents of an existing row of an open table.
- Add a new row after a selected row of an open table.
- Display the structure of a table.
- Display a data information panel reflecting all operations using a specified table.
- Trace header entries
- Function trace entries
- Variable trace entries.
The dialog services option lets you execute a dialog service by entering the service command invocation with or without the ISPEXEC characters. You can call any dialog service that is valid in the command environment except CONTROL at a breakpoint or before invoking a function.
The traces option lets you define, change, and delete trace specifications. You can trace executed dialog services, except for the VPUT or VGET service issued to a panel, and referenced dialog variables during dialog execution. Trace data is placed in the transaction log. From here you can browse it (using the LOG option), or print it when you exit from ISPF.
Because tracing may degrade dialog performance and create large amounts of output, care should be taken in setting the scope of trace definitions.
When you select this option, you are shown a selection panel on which you can indicate the type of trace (function or variable) you wish to define.
Use the function traces option to establish criteria for recording the names of dialog service calls, the service parameters, and return code in the ISPF log. Service calls made by the dialog or during test processing are recorded. Whenever a new application or function has data recorded, a header is placed in the trace. When you select the function traces option, a scrollable panel displays all currently defined function traces. You may add, delete, and modify function trace definitions using this panel before invoking a function or at a breakpoint.
- If an ISPF service is directly asked to operate on the variable (for example, VGET, VPUT, VCOPY).
- If an ISPF service is indirectly asked to operate on the variable
(for example, DISPLAY).
Variables changed under the variables option are also recorded if the trace specifications are met.
When you select the variable traces option, a scrollable display lists all currently defined variable traces. You may add, delete, or modify variable trace definitions by using this panel before invoking a function.
A breakpoint is a location at which the execution of a dialog is suspended so that dialog test facilities may be used. The breakpoint option lets you indicate where such temporary suspensions should occur. At a breakpoint, you are given control. You may now examine and manipulate dialog data (for example, tables and variables) using various test options. You can also specify new test options, such as traces and other breakpoints.
Breakpoints are located immediately before a dialog service receives control or after it relinquishes control. Breakpoint definitions cause special handling within the ISPLINK, ISPLNK, and ISPEXEC interfaces to dialog services. No user dialog is modified.
When you select the breakpoint option, a scrollable display shows all currently defined breakpoints for this session. You may add, delete, or modify breakpoint definitions using this panel before invoking a function or a breakpoint. All breakpoints exist until you delete them or you end or cancel your dialog test session. If you invoke a dialog function or a selection panel and encounter a breakpoint, the dialog test breakpoint primary option menu is displayed.
- The GO option to terminate processing at this breakpoint and continue executing the dialog being tested.
- The CANCEL option to cancel the dialog test option.
The breakpoint primary option menu contains all options of the dialog test primary options menu except Exit. It therefore presents all but one of the dialog test functions to you.
- If you change variable, table, and file tailoring data at a breakpoint, these actions are performed as an extension of the suspended dialog. It is as if the dialog takes all the actions itself during execution.
- If you modify the service return code (on the breakpoint primary option menu), the new return code is passed back to the dialog. It is as if the service sets the new code itself.
- If you execute the PANELID command at the breakpoint, the last setting for displaying panel identifiers is retained.
- If any CONTROL service settings for DISPLAY LINE or DISPLAY SM are in effect before the breakpoint, such settings are lost.
The manipulation of one dialog part may cause a change to another dialog part.
For further information on these functions and all dialog test functions, see the ISPF Dialog Management Guide and Reference.