AFTER CONSTRUCT block
AFTER CONSTRUCT block in singular and parallel CONSTRUCT dialogs
In a singular CONSTRUCT instruction, or when used as parallel dialog,
        the AFTER CONSTRUCT is only executed once when dialog is ended.
Use an AFTER CONSTRUCT block to execute instructions after the user
        has finished search criteria input.
AFTER CONSTRUCT is not executed if an EXIT CONSTRUCT is
        performed.
The code in AFTER CONSTRUCT can for example check if a criteria
        combination of different fields is required or denied, and force the end use to enter all 
Before checking the content of the fields used in the CONSTRUCT, make sure
that the INT_FLAG variable is FALSE. In the case that the user
cancels the dialog, the validation rules must be skipped.
Since no program variables are associated with the form fields, you must query the input buffers of the fields to get the values entered by the user.
CONSTRUCT BY NAME where_part ON ...
  ...
  AFTER CONSTRUCT
    IF NOT INT_FLAG THEN
       IF length(DIALOG.getFieldBuffer(cust_name))==0
       OR length(DIALOG.getFieldBuffer(cust_addr))==0 THEN
          ERROR "Enter a search criteria for customer name and address fields."
          NEXT FIELD CURRENT
       END IF
    END IF
END CONSTRUCT
      To limit the validation to fields that have been modified by the end user, you can call the
FIELD_TOUCHED() function or the DIALOG.getFieldTouched() method to
check if a field has changed during the dialog execution. This makes your validation code execute
faster if the user has only modified a couple of fields in a large form.
AFTER CONSTRUCT block in CONSTRUCT of procedural DIALOG
In a CONSTRUCT sub-dialog of a procedural DIALOG
instruction, the AFTER CONSTRUCT block is executed when the focus is lost by a
group of fields driven by a CONSTRUCT sub-dialog. This trigger is invoked if a
field of the sub-dialog loses the focus, and a field of a different sub-dialog gets the focus.
If the focus leaves the current group and goes to an action view, this trigger is not executed, because the focus did not go to another sub-dialog yet.
AFTER CONSTRUCT is executed after the AFTER
            FIELD and before the AFTER DIALOG block.
Executing a NEXT FIELD in the AFTER CONSTRUCT control
          block will keep the focus in the group of fields.
In this example, the AFTER CONSTRUCT block is used to build the SELECT
          statement:
CONSTRUCT BY NAME sql ON customer.*
   AFTER CONSTRUCT
       LET sql = "SELECT * FROM customers WHERE " || sql