Understanding declarative dialogs
Declarative dialogs are defined with DIALOG blocks at the
module level.
A declarative dialog block is a module element defined at the same level as a
FUNCTION or REPORT routine:
-- Module orders.4gl
SCHEMA stock
DEFINE arr DYNAMIC ARRAY OF RECORD LIKE orders.*
DIALOG orders_dlg()
DEFINE x INT
DISPLAY ARRAY arr TO sr_orders.*
...
END DISPLAY
END DIALOG
The name of a declarative dialog is mandatory. It can be referenced by a
SUBDIALOG clause, by a START DIALOG and TERMINATE
DIALOG instruction, and can identify sub-dialog actions with a prefix. Specifically, the name of the declarative dialog will be
referenced in a START DIALOG and TERMINATE DIALOG instruction to
implement parallel dialogs.
When using the DIALOG keyword inside a declarative dialog block to use
ui.Dialog class methods, it references the current instance of the dialog
object.