BEFORE CONSTRUCT block
BEFORE CONSTRUCT block in singular and parallel CONSTRUCT dialogs
In a singular CONSTRUCT
instruction, or when used as parallel dialog, the
BEFORE CONSTRUCT
is only executed once when dialog is started.
The BEFORE CONSTRUCT
block is executed once at dialog start-up, before the
runtime system gives control to the user for criteria input. This block can be used to display
messages to the user, initialize form fields with default search criteria values, and setup the
dialog instance by deactivating unused fields or actions the user is not allowed to execute.
CONSTRUCT BY NAME where_part ON ...
BEFORE CONSTRUCT
MESSAGE "Enter customer search filter"
CALL DIALOG.setActionActive("clean", FALSE )
...
The fields are cleared before the BEFORE CONSTRUCT
block is executed.
You can use the NEXT FIELD
control instruction in the BEFORE
CONSTRUCT
block, to jump to a specific field when the dialog starts.
BEFORE CONSTRUCT block in CONSTRUCT of procedural DIALOG
In a CONSTRUCT
sub-dialog of a procedural DIALOG
instruction,
the BEFORE CONSTRUCT
block is executed when the focus goes to a group of fields
driven by a CONSTRUCT
sub-dialog. This trigger is only invoked if a field of the
sub-dialog gets the focus, and none of the other fields had the focus.
BEFORE CONSTRUCT
is executed after the BEFORE
DIALOG
block and before the BEFORE FIELD
blocks.
In this example, the BEFORE CONSTRUCT
block is
used to display a message:
CONSTRUCT BY NAME sql ON customer.*
BEFORE CONSTRUCT
MESSAGE "Enter customer search filter"