Standard field logic
With the hooks on standard field level you can influence the behavior
of the standard application. This applies to making the field mandatory, update
them automatically based on changes of other fields, validations, etc. For the
standard fields, also hooks can be present in the standard Data Access Layer.
If both hooks are present, in the DAL and in the table extension, the table
extension can only restrict the data further. For example, data that cannot be
entered because of an
is.valid()
hook in the standard DAL can still not be
specified even if the table extension would allow it.
This table shows the hooks that are available for each standard table field:
Name | Signature |
---|---|
Is List Entry Applicable | boolean
<table
field>.<constantname>.is.applicable(long mode [,long
element])
|
Is Derived | boolean
<table field>.is.derived(long mode [,long
element])
|
Is Mandatory | boolean
<table field>.is.mandatory(long mode [,long
element])
|
Is Read-only | boolean
<table field>.is.readonly(long mode [,long
element])
|
Make Valid | long
<table field>.make.valid(long mode [,long
element])
|
Is Valid | boolean
<table field>.is.valid(long mode [,long
element])
|
Update | long
<table field>.update(long mode [,long
element])
|
The input argument for all hooks is the mode. Mode can have these values:
Mode | Description |
---|---|
DAL_NEW
|
A new record is being inserted. |
DAL_UPDATE
|
An existing record is being updated. |
The argument
element
is available for all array table fields. The
element points to the actual occurrence in the array that is being processed.
In all hooks, all field values of the current table record are available.
If standard fields are dependent on other standard fields or CDFs – in other words if in the hooks the values of other fields are used – the hooks are re-executed when the field(s) on which the field depends are changed. Those dependencies are registered automatically.
For more information about the hooks, see the corresponding
-field.<hook>()
of the standard Data Access
Layer in the
Infor ES Programmers Guide (Infor
Customer Portal KB2924522).