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).