Dialog instructions / Multiple dialogs (DIALOG) |
The DIALOG block is an interactive instruction that executes several sub-dialogs simultaneously.
DIALOG [ ATTRIBUTES ( dialog-control-attribute [,...] ) ] { record-input-block | construct-block | display-array-block | input-array-block | SUBDIALOG dialog-name } [...] [ dialog-control-block [...] ] END DIALOG
{ FIELD ORDER FORM | UNBUFFERED [ = boolean ] }where dialog-name in the SUBDIALOG clause is the name of a declarative dialog block defined outside the scope of the current function.
{ BEFORE DIALOG | ON ACTION action-name [ ATTRIBUTES ( action-attributes-dialog ) ] | ON KEY ( key-name [,...] ) | ON IDLE seconds | ON TIMER seconds | COMMAND option-name [ option-comment ] [ HELP help-number ] | COMMAND KEY ( key-name [,...] ) option-name [ option-comment ] [ HELP help-number ] | AFTER DIALOG } dialog-statement [...]
{ TEXT = string | COMMENT = string | IMAGE = string | ACCELERATOR = string | DEFAULTVIEW = { YES | NO | AUTO } | CONTEXTMENU = { YES | NO | AUTO } [,...] }
INPUT { BY NAME { variable | record.* } [,...] | variable | record.* } [,...] FROM field-list } [ ATTRIBUTES ( input-control-attribute [,...] ) ] [ input-control-block [...] ] END INPUTwhere input-control-attribute is:
{ HELP = help-number | NAME = "sub-dialog-name" | WITHOUT DEFAULTS [ = boolean ] }where input-control-block is one of:
{ BEFORE INPUT | BEFORE FIELD field-spec [,...] | ON CHANGE field-spec [,...] | AFTER FIELD field-spec [,...] | AFTER INPUT | ON ACTION action-name [ INFIELD field-spec ] [ ATTRIBUTES ( action-attributes-input ) ] | ON KEY ( key-name [,...] )} dialog-statement [...]
{ TEXT = string | COMMENT = string | IMAGE = string | ACCELERATOR = string | DEFAULTVIEW = { YES | NO | AUTO } | VALIDATE = NO | CONTEXTMENU = { YES | NO | AUTO } [,...] }
CONSTRUCT { BY NAME variable ON column-list | variable ON column-list FROM field-list } [ ATTRIBUTES ( construct-control-attribute [,...] ) ] [ construct-control-block [...] ] END CONSTRUCT
{ HELP = help-number | NAME = "sub-dialog-name" }where construct-control-block is one of:
{ BEFORE CONSTRUCT | BEFORE FIELD field-spec [,...] | AFTER FIELD field-spec [,...] | AFTER CONSTRUCT | ON ACTION action-name [INFIELD field-spec] [ ATTRIBUTES ( action-attributes-construct ) ] | ON KEY ( key-name [,...] )} dialog-statement [...]
{ TEXT = string | COMMENT = string | IMAGE = string | ACCELERATOR = string | DEFAULTVIEW = { YES | NO | AUTO } | CONTEXTMENU = { YES | NO | AUTO } [,...] }
DISPLAY ARRAY array TO screen-array.* [ ATTRIBUTES ( display-array-control-attribute [,...] ) ] [ display-array-control-block [...] ] END DISPLAY
{ HELP = help-number | COUNT = row-count | KEEP CURRENT ROW = [ = boolean ] | DETAILACTION = action-name | DOUBLECLICK = action-name | ACCESSORYTYPE = { DETAIBUTTON | DISCLOSUREINDICATOR | CHECKMARK } }
{ BEFORE DISPLAY | BEFORE ROW | AFTER ROW | AFTER DISPLAY | ON ACTION action-name [ ATTRIBUTES ( action-attributes-display-array ) ] | ON KEY ( key-name [,...] ) | ON FILL BUFFER | ON SELECTION CHANGE | ON SORT | ON APPEND [ ATTRIBUTES ( action-attributes-listmod-triggers ) ] | ON INSERT [ ATTRIBUTES ( action-attributes-listmod-triggers ) ] | ON UPDATE [ ATTRIBUTES ( action-attributes-listmod-triggers ) ] | ON DELETE [ ATTRIBUTES ( action-attributes-listmod-triggers ) ] | ON EXPAND ( row-index ) | ON COLLAPSE ( row-index ) | ON DRAG_START ( dnd-object ) | ON DRAG_FINISH ( dnd-object ) | ON DRAG_ENTER( dnd-object ) | ON DRAG_OVER ( dnd-object ) | ON DROP ( dnd-object ) } dialog-statement [...]
{ TEXT = string | COMMENT = string | IMAGE = string | ACCELERATOR = string | DEFAULTVIEW = { YES | NO | AUTO } | CONTEXTMENU = { YES | NO | AUTO } | ROWBOUND [,...] }
{ TEXT = string | COMMENT = string | IMAGE = string | ACCELERATOR = string | DEFAULTVIEW = { YES | NO | AUTO } | CONTEXTMENU = { YES | NO | AUTO } [,...] }
INPUT ARRAY array FROM screen-array.* [ ATTRIBUTES ( input-array-control-attribute [,...] ) ] [ input-array-control-block [...] ] END INPUT
{ APPEND ROW [ = boolean ] | AUTO APPEND [ = boolean ] | COUNT = row-count | DELETE ROW [ = boolean ] | HELP = help-number | INSERT ROW [ = boolean ] | KEEP CURRENT ROW [ = boolean ] | MAXCOUNT = max-row-count | WITHOUT DEFAULTS [ = boolean ] }where input-array-control-block is one of:
{ BEFORE INPUT | BEFORE ROW | BEFORE FIELD [,...] | ON CHANGE field-spec [,...] | AFTER FIELD field-spec [,...] | ON ROW CHANGE | ON SORT | AFTER ROW | BEFORE DELETE | AFTER DELETE | BEFORE INSERT | AFTER INSERT | AFTER INPUT | ON ACTION action-name [INFIELD field-spec] [ ATTRIBUTES ( action-attributes-input-array ) ] | ON KEY ( key-name [,...] ) } dialog-statement [...]
{ TEXT = string | COMMENT = string | IMAGE = string | ACCELERATOR = string | DEFAULTVIEW = { YES | NO | AUTO } | VALIDATE = NO | CONTEXTMENU = { YES | NO | AUTO } | ROWBOUND [,...] }
{ statement | ACCEPT DIALOG | CONTINUE DIALOG | EXIT DIALOG | NEXT FIELD { CURRENT | NEXT | PREVIOUS | field-spec } }
{ field-name | table-name.* | table-name.field-name | screen-array[line].* | screen-array[line].field-name | screen-record.* | screen-record.field-name } [,...]
{ field-name | table-name.field-name | screen-array.field-name | screen-record.field-name }
{ column-name | table-name.* | table-name.column-name } [,...]