Defer Required Enforcement Property
Description
For an item that has the Required property set to true, it specifies whether Oracle Forms should defer enforcement of the Required item attribute until the record is validated.
There are three settings for this property: Yes, 4.5, and No.
Applies to form
Set Oracle Forms, programmatically
Refer to Built-in
GET_FORM_PROPERTY
SET_FORM_PROPERTY
No
Usage Notes
- This property applies only when item-level validation is in effect. By default,
when an item has Required set to true, Oracle Forms will not allow navigation
out of the item until a valid value is entered. This behavior will be in effect
if you set Defer Required Enforcement to No. (An exception is made when the
item instance does not allow end-user update; in this unusual case, a Defer
Required Enforcement setting of No is ignored and item-level validation does
not take place.)
- If you set Defer Required Enforcement to Yes (PROPERTY_TRUE for runtime)
or to 4.5 (PROPERTY_4_5 for runtime), you allow the end user to move freely
among the items in the record, even if they are null, postponing enforcement
of the Required attribute until validation occurs at the record level.
- When Defer Required Enforcement is set to Yes, null-valued Required items
are not validated when navigated out of. That is, the WHEN-VALIDATE-ITEM trigger
(if any) does not fire, and the item's Item Is Valid property is unchanged.
If the item value is still null when record-level validation occurs later,
Oracle Forms will issue an error.
- When Defer Required Enforcement is set to 4.5, null-valued Required items
are not validated when navigated out of, and the item's Item Is Valid property
is unchanged. However, the WHEN-VALIDATE-ITEM trigger (if any) does fire.
If it fails (raises Form_Trigger_Failure), the item is considered to have
failed validation and Oracle Forms will issue an error. If the trigger
ends normally, processing continues normally. If the item value is still null
when record-level validation occurs later, Oracle Forms will issue an error
at that time.
- Setting a value of 4.5 for Defer Required Enforcement allows you to code
logic in a WHEN-VALIDATE-ITEM trigger that will be executed immediately whenever
the end-user changes the item’s value (even to null) and then navigates out.
Such logic might, for example, update the values of other items. (The name
"4.5" for this setting reflects the fact that in Release 4.5, and
subsequent releases running in 4.5 mode, the WHEN-VALIDATE-ITEM trigger always
fired during item-level validation.)
- Migration note: If your Forms application used "4.5" as the Runtime
Compatibility Mode property setting, the Oracle Forms Migration Assistant
will automatically set the Defer Required Enforcement property to "4.5"
because the Runtime Compatibility Mode property is obsolete in Oracle Forms.
Related topic
Required (Item) property