CONTINUE INPUT instruction




CONTINUE INPUT skips all subsequent statements in the current control block and gives the control back to the dialog. 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 INPUT, further control blocks might be executed depending on the context.

CONTINUE INPUT instructs the dialog to continue as if the code in the control block was terminated (it's a kind of GOTO end_of_control_block). However, when executed in AFTER INPUT, the focus returns to the current row and current field in the list, giving the user another chance to enter data in that field. In this case the BEFORE ROW and BEFORE FIELD triggers will be invoked.

In this example, an ON ACTION block gives control back to the dialog, skipping all subsequence instructions of the ON ACTION block:
   IF p_cust.cust_id IS NULL OR p_cust.cust_name IS NULL THEN
      ERROR "Zoom window cannot be opened."
   IF p_cust.cust_address IS NULL THEN

Use the NEXT FIELD control instruction to give the focus to a specific field and force the dialog to continue. However, unlike CONTINUE INPUT, the NEXT FIELD instruction will also skip the further control blocks that are normally executed.

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