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 Contact1 Contact2 |
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 Contact1 Contact2 |
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 SubContact1 SubContact3 |
None |