INPUT ARRAY ATTRIBUTES clause
Attributes of the INPUT ARRAY clause of a DIALOG block.
INPUT ARRAY specific attributes can be defined in the ATTRIBUTE clause of the sub-dialog header:
HELP option
The HELP
clause specifies the number of a
help message to display
if the user invokes the help the INPUT ARRAY
dialog.
The predefined 'help' action is automatically created by the runtime system.
You can bind action views
to the 'help' action.
The HELP
clause overrides the HELP
attribute.
COUNT option
The COUNT
attribute defines the number of valid rows in
the static array to be displayed as
default rows. If you do not use the COUNT
attribute, the
runtime system cannot determine how much data to display, so the screen array
remains empty. The COUNT
option is ignored when using a
dynamic array.
If you specify the COUNT
attribute, the
WITHOUT DEFAULTS
option is not required because it is
implicit. If the COUNT
attribute is greater than
MAXCOUNT
, the runtime system will take MAXCOUNT
as the actual number of rows. If the value of COUNT
is
negative or zero, it defines an empty list.
MAXCOUNT option
The MAXCOUNT
attribute defines the maximum number of rows that can be
inserted in the program array. This attribute allows you to give an upper limit of the total number
of rows the user can enter. It can be used with static or dynamic
arrays.
When binding a static array, MAXCOUNT
is used as upper limit if it is
lower or equal to the actual declared static array size. If MAXCOUNT
is greater
than the array size, the size of the static array is used as the upper limit. If
MAXCOUNT
is lower than the COUNT
attribute (or to the SET_COUNT() parameter when using a singular
INPUT ARRAY), the actual number of rows in the array
will be reduced to MAXCOUNT
.
When binding a dynamic array, the user can enter an infinite number of rows unless the
MAXCOUNT
attribute is used. If MAXCOUNT
is lower than the actual
size of the dynamic array, the number of rows in the array will be reduced to
MAXCOUNT
.
If MAXCOUNT
is negative or equal to zero, the user cannot
insert rows.
APPEND ROW option
The APPEND ROW
attribute can be set to FALSE
to avoid the append default action, and deny the user to add rows at the end of
the list.
If APPEND ROW =FALSE
, it is still possible to insert rows in
the middle of the list. Use the INSERT ROW
attribute to
disallow the user from inserting rows.
Additionally, even with APPEND ROW=FALSE
and INSERT
ROW=FALSE
, you can still get
automatic temporary row creation
if AUTO APPEND
is not set to FALSE
.
INSERT ROW option
The INSERT ROW
attribute can be set to FALSE
to avoid the insert default action, and deny the user to insert new rows
in the middle of the list.
However, even if INSERT ROW
is FALSE
, it is
still possible to append rows at the end of the list.
Use the APPEND ROW
attribute to disallow the user from
appending rows. Additionally, even with APPEND ROW=FALSE
and
INSERT ROW=FALSE
, you can still get
automatic temporary row creation
if AUTO APPEND
is not set to FALSE
.
DELETE ROW option
The DELETE ROW
attribute can be set to FALSE
to avoid the delete default action, and deny the user to remove rows from
the list.
AUTO APPEND option
By default, an INPUT ARRAY
controller creates a temporary
row when needed (for example, when the user deletes the last row of the list,
an new row will be automatically created).
You can prevent this default behavior by setting the AUTO APPEND
attribute to FALSE
.
When this attribute is set to FALSE
, the only way to create
a new temporary row is
to execute the append action.
If both the APPEND ROW
and INSERT ROW
attributes are set to FALSE
, the dialog automatically behaves
as if AUTO APPEND
equals FALSE
.
KEEP CURRENT ROW option
Depending on the list container used in the form, the current row may be
highlighted during the execution of the dialog, and cleared when the instruction
ends. You can change this default behavior by using the
KEEP CURRENT ROW
attribute, to force the runtime system
to keep the current row highlighted.
WITHOUT DEFAULTS option
You typically use the INPUT ARRAY
sub-dialog with the WITHOUT
DEFAULTS
attribute. If this attribute is not set when using an INPUT ARRAY
sub-dialog, the list is empty even if the array holds data. For more details see WITHOUT DEFAULTS option.