Behavior at Runtime

What happens when a table column is used in a BII, but that column is unavailable in the application version that is used at runtime.

In case of outgoing data (such as a BDE Show response or a BOD being published):

  • An attribute implementation that is linked directly to a missing column will not be selected and will not be set.
  • If an attribute implementation is mapped to a missing column and that attribute implementation has a default value defined, that default value is used if the column does not exist at runtime. (Note that a default value can only be used if the attribute implementation data type does not have multiple dimensions.)

In case of incoming data (such as a received BOD or a BDE request):

  • No value is assigned to the missing column. The incoming data is ignored.
  • The fault tolerance deals with the situation where a column is an array (the data type has multiple dimensions) and the column exists at runtime but it has less elements than defined in LN Studio. In that case, the additional elements are ignored, both for outgoing and incoming data.
  • When filtering (in a List, Show, SubscribeList or SubscribeEvent request) on an attribute that is linked to a non-existing column, the filter is handled as a postfilter. In postfiltering, missing values are regarded as empty. A filter on Attribute1 <> "ABCD" will evaluate to true, while a filter on Attribute2 > 10 will evaluate to false. Filters on attributes that are indirectly derived from non-existing columns though 'on get' hooks are also handled as a postfilter (just like any filter on a calculated attribute).