Development Guidelines

The handling of missing columns is done automatically by the generated code. You do not have to adapt the BII for this.

Note the following when developing a BII for multiple application versions or feature packs:

  1. Because of the fault tolerance, errors for non-existing columns that should exist will not be detected when generating anymore.
  2. The solution will also work for Baan IV and Baan 5.0. Even though the data model differences between Baan IV, Baan 5.0 and LN will probably not be limited to new columns in the newer versions.
  3. Attribute implementations that are linked to missing columns will not be set when producing outgoing data. If such attribute implementations are used in hooks, ensure the hook implementation can handle that. You can use the 'isSet' boolean to check whether a value is available. For example:
    if i.attribute2.isSet then
    	o.calculatedAttribute = i.attribute1 & i.attribute2
    else
    	o.calculatedAttribute = i.attribute1
    endif
  4. For incoming data, attribute implementations are handled as usual even if they are linked to a non-existing column, so they will be set based on the incoming data. They can be used in 'on set' hooks for another attribute implementation, for example.
  5. Usually the latest data model will be the most complete one. In case of localizations there can be situations where no complete data model exists at any back-end. For example, a and b exist in all versions, c exists in FP5, d does not exist in any standard FP, but does exist in a localization based on FP2. In that case the additional column d from the localization has to be merged into the generic data model in the LN Studio. In other words, the table in LN Studio must be the union of all versions for which the implementation is used.
  6. Check the limitations as described in the next section.