CANCEL DELETE instruction
In a list controlled by an INPUT ARRAY, row deletion
can be canceled by using the CANCEL DELETE instruction
in the BEFORE DELETE block. Using this instruction
in a different place will generate a compilation error.
When the CANCEL DELETE instruction is executed,
the current BEFORE DELETE block is terminated without
any other trigger execution (no BEFORE ROW or BEFORE
FIELD is executed), and the program execution continues in
the user event loop.
You can, for example, prevent row deletion based on some condition:
BEFORE DELETE
IF user_can_delete() == FALSE THEN
ERROR "You are not allowed to delete rows"
CANCEL DELETE
END IF
The instructions that appear after CANCEL DELETE will
be skipped.
If the row deletion condition is known before the delete action
occurs, disable the delete action to prevent the user from
performing a delete row action with the DIALOG.setActionActive() method:
CALL DIALOG.setActionActive("delete", FALSE)
It is also possible to prevent the user from deleting rows with
the DELETE ROW = FALSE option in the
ATTRIBUTE clause.