EAI Siebel Adapter BS – Upsert Multiple Child Records
by nanpatsEAI Siebel Adapter finds its usage in almost all integration scenarios and business process automation. However, at times we hit upon limitations on its usage as Business Requirements become complex.
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>
Hope you enjoyed the example above. Here, I’ll discuss some more of the limitations of EAI Siebel Adapter, and how we resolved them from practical experiences in life.
Related posts:
- Siebel – EAI Siebel Adapter – Looping Multiple Records This is a follow-up post on the post, Siebel –...
- Siebel – Looping Multiple Records – III Looping through multiple records is a requirement we come across...
- Siebel – Looping multiple records – Update records Hi, We often come across a requirement where we need...
- Siebel – EAI Siebel Adapter Search Spec Hi, I can bet that for anybody who has worked...
- Siebel – SIA BC Utility Service – Loop multiple records This is a vanilla business service which provides an extensive...
- Siebel – Looping multiple records – Query and Process In my last post, I discussed as to how we...
- Siebel Assets List view – Performance issue / Cannot display records Assets Screen Load is a major problem in Siebel, and...