For the Exists operation, you must check for the existence of the primary business component. The keys are set on this business component and the query is executed.
If the Exists operation record exists, the special business object, ExistsResult, is returned containing the status of the Exists operation. For any failure, the exception, BusinessProcessingFailedException, is thrown.
For the Exists operation, the following apply:
If the PickList is static, the corresponding simple attribute in the WebSphere Business Integration business object is a required attribute. If a value is not listed in the PickList values sent, the adapter tries to set the value. If the value is successfully set the list is unbounded and insert is enabled. This new value is then picked. If the value is not successfully set, the verification fails and the adapter fails the create operation.
In the following PickList properties table, the Create operation fails if the PickList property is bounded or unbounded, but insert is enabled. An error from Siebel application is logged and the adapter fails the Create operation and SiebelCreateFailedException is thrown.
Using the combinations of properties shown in the PickList properties table, you can create, update, and delete a record from a Siebel PickList.
PickList property | Insert | Update | Delete |
---|---|---|---|
UnBounded | Allowed if “No Insert” property is not set. | Allowed if “No Update” property is not set. | Allowed if “No Delete” property is not set. |
Bounded | Not allowed. | Not allowed. | Not allowed. |
With association, a check based on all the attributes filled in is made to see if the record exists in the association business component. If the record is found, the record is associated with the parent. If the record is not found, the record is created in the association business component and associated with the parent business component.
If the child creation fails, the child is rolled back. If the parent creation fails, the children that are already created are left as is and the parent alone is rolled back. This is because association components can be treated as individual components.
In the case of a simple link, the child gets created before the parent. If the child or the parent creation fails the entire transaction is rolled back.