Conditional Columns

Conditional columns (virtual or physical) can be created, that have conditionally triggered values, with any level of complexity on the triggers. This capability can be used to embed any procedural or business logic directly into a table’s definition metadata.

Conditional columns are particularly useful to support the definition of multiple record type files, which are quite common in legacy application environments. When a file contains multiple record types, Arbutus allows the column definitions for all record types to be concurrently active. Columns that relate to only one, or specific, record types automatically contain null values when processing other record types, ensuring the integrity of the results. Each column effectively has a separate criterion for validity, and therefore an unlimited number of record types or conditions are supported.

In addition to taking on conditional values, conditional columns may also be static. With static conditional columns, rather than taking on a null value, the last valid column value automatically propagates forward to subsequent records until another valid value is encountered.

Record types tend to fall into two broad categories: transaction records, whose information only relates to the record at hand, or header records, whose information relates to the next set of records until another header is encountered. Through the use of static conditional columns Arbutus can effectively flatten a multiple record type file containing any number of types into a single virtual record.