Impact on the BII
In case standard events from LN are published audit-based, you must take the following into account when modelling a BII.
Changes on business object instances in LN are only detected if they correspond to changes on one or more LN table columns. This means that to use the standard event publishing, at least one business object component must be mapped to a database table.
Regarding calculated attributes please note the following.
Calculations as modeled in the BII are used for standard event publishing. The assumption is that the calculation is modeled completely. So if we ‘set’ the relevant attribute implementations that are mapped one-to-one on table columns, and we subsequently ‘get’ the public attribute that is mapped to those attribute implementations, we must get the right value.
Consequently, change events may not be detected if 'work-arounds' using hand-crafted code is implemented, such as:
- Coding calculation logic in the wrong place in the BII hooks.
- Using values from other table columns or attributes that are not defined as ‘used attributes’.
- Using an attribute that is mapped to nothing, but in the implementation code does select data from the business object's table(s). For example, for an order line attribute, program an SQL query on the order header table to calculate the value, or invoke an existing library function that does something like that.