CONTINUE CONSTRUCT skips all subsequent statements in the current control block and gives the control back to the dialog.

CONSTRUCT BY NAME where_part ON ...
  ON ACTION check_condition
    IF getCustomerStatus() != "A" THEN
      ERROR "Customer status does not allow query"
    END IF

This instruction is useful when program control is nested within multiple conditional statements, and you want to return the control to the dialog. If this instruction is called in a control block that is not AFTER CONSTRUCT, further control blocks might be executed depending on the context.

CONTINUE CONSTRUCT instructs the dialog to continue as if the code in the control block was terminated (therefore it acts as a kind of GOTO end_of_control_block). However, when executed in AFTER CONSTRUCT, the focus returns to the most recently occupied field in the current form, giving the user another chance to enter data in that field. In this case the BEFORE FIELD of the current field will be invoked.

As alternative, use the NEXT FIELD control instruction to give the focus to a specific field and force the dialog to continue. However, unlike CONTINUE CONSTRUCT, the NEXT FIELD instruction will skip the next control blocks that are normally executed.


The CONTINUE CONSTRUCT instruction can only be used in a singular CONSTRUCT dialog, it cannot be used in a DIALOG / END DIALOG multiple dialog block.