Form field initialization
Form field initialization can be controlled by the WITHOUT DEFAULTS
        dialog option.
The INPUT and INPUT ARRAY dialogs provide the WITHOUT
                DEFAULTS option to use program variable values when the dialog starts, or
to apply the DEFAULT attribute defined in forms. The semantics of this
            option is slightly different in INPUT and INPUT ARRAY
            dialogs. Use of the WITHOUT DEFAULTS clause is always recommended in
                INPUT ARRAY.
The WITHOUT DEFAULTS option can be used in the binding clause or as an
                ATTRIBUTES option. When used in the binding clause, the option is
            defined statically at compile time as TRUE. When used as an
                ATTRIBUTES option, it can be specified with an integer expression
            that is evaluated when the DIALOG interactive instruction starts:
INPUT BY NAME p_cust.* ATTRIBUTES (WITHOUT DEFAULTS = NOT new)
   ...
END INPUT
The WITHOUT DEFAULTS clause in INPUT
In the default mode, an INPUT clears the program variables and assigns the values defined by the
DEFAULT attribute in the form file (or indirectly, the default value defined in the
database schema files). This mode is typically used to input and INSERT a new record in the
database. The REQUIRED field
attributes are checked to make sure that the user has entered all data that is mandatory. Note that
REQUIRED only forces the user to enter the field, the value can be
    NULL unless the NOT NULL attribute is used. Therefore, if you have
an AFTER FIELD or ON CHANGE control block with validation rules,
you can use the REQUIRED attribute to force the user to enter the field and trigger
that block.
In contrast, the WITHOUT DEFAULTS option starts the INPUT
    dialog with the existing values of program variables. This mode is typically used in order to
    UPDATE an existing database row. Existing values are considered valid, thus the
     REQUIRED attributes are ignored when this option is used.
The NOT NULL field attribute is always checked at
 dialog validation, even if the WITHOUT DEFAULTS option
is set.
The WITHOUT DEFAULTS clause in INPUT ARRAY
With an INPUT ARRAY,
the WITHOUT DEFAULT option defines whether the program array is populated when the
dialog begins. Once the dialog is started, existing rows are always handled as records to be updated
in the database (WITHOUT DEFAULTS=TRUE), while newly created rows are handled as
records to be inserted in the database (WITHOUT DEFAULTS=FALSE). In other words,
column default values defined in the form specification file or the database schema files are only
used for newly-created rows.
INPUT ARRAY with no WITHOUT
     DEFAULTS option, because the program array would be cleared and the list would appear
     empty.INPUT ARRAY used inside
      DIALOG is WITHOUT DEFAULTS=TRUE, but in a singular
      INPUT ARRAY dialog, the default is WITHOUT
     DEFAULTS=FALSE.