Afterimages and deltas

An afterimage is the state of a business object after all changes have been made to it. A delta is a business object used in an update operation that contains only key values and the data to be changed. Because the connector supports only afterimages, when it receives a business object for update, the connector assumes that the business object represents the desired state of the data after update.

Therefore, when an integration broker sends a business object with the Update verb to the connector, the connector changes the current representation of the business object in the database so that it exactly matches the source business object. To do this, the connector changes simple attribute values and adds or removes child business objects.

For example, assume the current state of Contract 2345 in the database is as follows:

Assume further that the integration broker passes the following business object to the connector:

To process the update, the connector applies the following changes to the database:

Because the connector assumes that each business object it receives from the integration broker represents an afterimage, it is important to ensure that each business object sent to such a connector for updating contains valid existing child business objects. Even if none of a child business object's simple attributes have changed, the child business object must be included in the source business object.

There is a way, however, that you can prevent some connectors from deleting missing child business objects during an update operation. You can use the application-specific information for the attribute that represents the child or array of children to instruct the connector to keep child business objects that are not included in the source business object. To do so, set KEEP_RELATIONSHIP to true. For more information, see Specifying an attribute's foreign key.

Copyright IBM Corp. 1997, 2003