IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Services and service-related functions > Access external services with adapters > Configure and using adapters > IBM WebSphere Adapters > Siebel Business Applications > Overview of WebSphere Adapter for Siebel Business Applications > Technical overview > Outbound processing > Outbound operations
ApplyChanges operation
The ApplyChanges operation updates the business object according to the operation that was performed on it (Create, Delete, or Update). ApplyChanges provides both delta and after-image support for modifying (creating, updating, or deleting) a business object. An after-image business object contains the complete state of the business object after all the required changes have been made to it. A delta business object contains only the key values and the data to be changed. Delta business objects are used only in the operations that update the business objects.
The ApplyChanges operation is available only with business graphs.
If you set the verb property of the business graph to the name of an operation, such as Create, Update, Delete, or Updatewithdelete, the adapter performs after-image processing for the ApplyChanges operation.
For example, if the verb is set to Create, the adapter processes the ApplyChanges operation in the same way it processes the Create operation.
If you do not set the verb in the business graph, the adapter uses the ChangeSummary object in the business graph to update the business object.
For example, a business graph has a business object and a ChangeSummary object. The business object is used for all operations, such as ApplyChanges, Create, Delete, Update, Retrieve, RetrieveAll, and Exists. The ChangeSummary object is only used for the ApplyChanges operation. The ChangeSummary object stores the operation that is performed on it and stores the value for the corresponding business object that exists in the business object hierarchy.
In this mode, the ApplyChanges operation differs from the Update operation in the following ways:
- No retrieve operation is performed before updating.
- No comparisons are made between the incoming business object and the business object in Siebel Business Applications.
- When no verb is set on the top-level business graph, the business objects in the hierarchy (including those at the top-level) are processed based on the operation that was set in the ChangeSummary object for each of the objects.
- If an operation is not set on the business object, a NoOperation command is created and the business object is processed.
For example, if an operation is not set on the business object, the business component instance is retrieved from Siebel application but is not updated. The retrieval ensures that any further updates to the child business object can be processed at a later time.
When the child business objects are processed, an appropriate action is performed based on each operation of the child business object. Operations that are allowed on a child business object in ApplyChanges are Create, Delete, and Update. The following actions occur when one of these operations is found in the child business object:
- If a Create operation is found in the child business object, then the child business object is created in the Siebel application based on the relationship (for example, Picklist or multivaluelink).
- If a Delete operation is found in the child business object, then that child business object is deleted.
- If an Update operation is found in the child business object, then the child business object is updated in the Siebel application.
When the child business objects are processed, the attribute values are set at the ChangeSummary level for each business object.
- With a Create operation, the ChangeSummary object does not have any values set against its attributes, as it is used to store only old values. The ChangeSummary object stores the operation to be performed on it and any old values (existing values from the Siebel application). As it is a Create operation and the values are new, the values are set on the business object attributes.
- With an Update operation, the old values (existing values from the Siebel application) are set against the ChangeSummary attributes, and the new values (that are updated in the Siebel application) are stored against the business object attributes.
- With a Delete operation, old values (existing values from the Siebel application) are set against the ChangeSummary attributes. New values are not stored against the business object attributes, because no new values are created for the Delete operation.