Structure of a procedural DIALOG block
A procedural DIALOG
instruction is made up of several sub-dialogs,
plus global control blocks such as BEFORE DIALOG
and action handlers such as
ON ACTION
or COMMAND
.
Sub-dialogs can be defined inside the DIALOG
instruction, or can be declared
externally in another module and attached to the current DIALOG
block with the
SUBDIALOG
clause. A dialog defined in the scope of a function is know as a
procedural dialog block, while a dialog declared in the scope of a module is named
a declarative dialog block.
The sub-dialogs bind program variables to form fields and define the type of interaction that will take place for the data model (simple input, list input or query). The sub-dialogs implement individual control blocks which let you control the behavior of the interactive instruction. Sub-dialogs can also hold action handlers, which will define local sub-dialog actions.
The DIALOG
procedural instruction can hold the following type of
sub-dialogs:
- Simple record input with the
INPUT
sub-dialog block. - Query by example input with the
CONSTRUCT
sub-dialog block. - Read-only record list navigation with the
DISPLAY ARRAY
sub-dialog block. - Editable record list handling with the
INPUT ARRAY
sub-dialog block. - A
SUBDIALOG
clause referencing a declarative sub-dialog by name.