Example of a Parent Using an Update Operation and One More Child Using an Insert Operation

This example demonstrates the effects on records after an update operation acts on the parent, and an insert operation acts on one of the children records. The following table is a high level representation of this example.

Record in Database Integration Object Instance Record After Execute Operation

Account1

Contact0

Contact1

Account1 operation=update

Contact1

Contact2 operation=insert

Account1

Contact1

Contact2

In this case, if a record matching Account1 exists in the database, then the EAI Siebel Adapter updates that record. If no record matching Account1 exists, then the result from the EAI Siebel Adapter is an error.

You can also override the parent operation as in the case for Contact2. Since Contact2 does not exist, and there is an explicit insert operation, it will be inserted. Any unmatched children will be deleted as part of the parent operation (update). This is the reason why Contact0 is deleted.

If you are explicitly overriding the parent operation, then you must make sure the operation applies. For example, the two combinations in the following table and the second table in this topic will fail. In the following table, it fails because an insert is attempted when Contact1 already exists in the database.

Record in Database Integration Object Instance Record After Execute Operation

Account1

Contact0

Contact1

Account1 operation=update

Contact1 operation=insert

Contact2 operation=insert

None

In the following table, the update fails because SubContact3 inherits from Contact2's operation, and Subcontact3 does not exist in the database.

Record in Database Integration Object Instance Record After Execute Operation

Account1

Contact1

Contact2

SubContact1

SubContact2

Account1

Contact1

Contact2 operation=update

SubContact1

SubContact3

None