EAI Siebel Adapter finds its usage in almost all integration scenarios and business process automation.
There is a bug which you must have encountered while using EAI Siebel Adapter BS. I will explain the issue with an example and a solution to resolve the issue…
Let’s say you need to upsert an entity e.g., Assets in Siebel using EAI Siebel Adapter BS. The data structure is a parent -child hierarchy which consists of Assets (primary IC) and Account (child IC).
Let’s assume that Account is resolved by the Id field (Id field being part of the 1st user key and is available in the message). There is a possibility wherein a given account would be repeated in your message instance with different attributes. Consider the following structure:
<Account><Id>1-ABC</Id><Name>ABC Industries</Name></Account>
<Account><Id>1-XYZ</Id><Name>XYZ Industries</Name></Account>
<Account><Id>1-ABC</Id><BillTo>Y</BillTo></Account>
In the above example, Account with Id “1-ABC” is repeated twice in the message. If the application tries to upsert this dataset using EAI Siebel Adapter, both the Accounts will be added as Child on Asset. However the data contained in the last instance of Account would be lost. This information lost might be critical for business operations.
Resolution:
In this case, you would be required to consolidate all the similar Account records into a single component before running an Upsert. The resulting message after consolidation would look something similar below:
<Account><Id>1-ABC</Id><Name>ABC Industries</Name><BillTo>Y</BillTo></Account>
<Account><Id>1-XYZ</Id><Name>XYZ Industries</Name></Account>
I have built a generic BS which would consolidate the components. If anyone is interested please send me an email.