How dialog elements interact

A dialog can be organized in a variety of ways to suit the requirements of the application and the needs of the application user.

A typical dialog organization, shown in Figure 1, starts with display of the highest menu, called the primary option menu. User options selected from the primary option menu can result in the call of a function or the display of a lower-level menu. Each lower-level menu can also cause functions to receive control or still other menus to be displayed.

Eventually, a function receives control. The function can use any of the dialog services provided by ISPF. Typically, the function can continue the interaction with the user by means of the DISPLAY service. The function might also display data-entry panels to prompt the user for information. When the function ends, the menu from which it was invoked is redisplayed.

Figure 1. Typical dialog organization starting with a menu
START goes to Primary Option Menu. Primary Option Menu goes to Dialog Function, or a Lower-Level Menu. From a Lower-Level Menu, go to a DIalog Fuction, which then goes to Data Entry Panels.

Figure 2 shows another type of dialog organization in which a dialog function receives control first, before the display of a menu. The function performs application-dependent initialization and displays data-entry panels to prompt the user for basic information. It then starts the selection process by using the SELECT service to display the primary option menu for the application.

The same figure also shows how a dialog function can invoke another function without displaying a menu. It uses the SELECT service to do this, which provides a convenient way to pass control from a program-coded function to a command-coded function, or vice versa. The invoked function then starts a lower-level menu process, again by using the SELECT service.

Figure 2. Typical dialog starting with a function
This chart shows the interaction between menus and dialog functions. A menu can lead to another menu or to a dialog function. A dialog function can in turn lead to another dialog function or to a menu. A dialog function can also interact with data entry panels.

To relate your application design to CUA design models and principles, refer to the IBM® Common User Access Guidelines. It is recommended that you use DTL to design CUA-based panels. See the z/OS ISPF Dialog Tag Language Guide and Reference for more information.