You are here: Field Rules Reference > Field Rules Summary > DAL

DAL

Use this field level rule to get information from an extract file if certain conditions are met. In addition, this rule lets you call most of the DAL functions.

The DAL rule is similar to the IF rule except it returns only data, not another rule. For more information, see If.

You can specify a DAL script name by adding Call ("scriptname") in the Data field. It would look like this:

Call ("script.dal")

It is also possible to specify the rule data for the DAL rule in an external file. Name the file to include with a leading ampersand (&) in the data area, as shown here:

&data.inc

This loads the file, data.inc, from the current directory and inserts its contents into the rule’s data area. Note that the file should contain a single line, just as it would appear if you had typed the data directly into the rule data parameter. Also, if the include file is not in the current directory, the name must specify the correct path to locate the file.

     
Note If the include file is in DefLib, then change &data.inc to &deflib\data.inc.

If you encounter this error message:

DM10558: Error in GetFieldRuleData(): Condition exceeds buffer length

This means the content of your include file is too large to fit into the rule data area. To resolve this problem, place the data in a DAL script file and use the CALL or CHAIN command to execute the DAL script.

Changes in Version 11.4

Version 11.4 changed the way entries that specify a DAL rule are processed in the Extract Dictionary (XDD).

Normally, the ancestry Data fields are appended together to form a complete data representation for a field. When using the DAL rule, this behavior was often undesired. Now, the system assumes that the entry specifying the DAL rule contains all the data information required to resolve the necessary field value and ignores any values specified by an ancestor.

See also