Siebel EAI >  SBL-EAI-04381 error message

This error message occurs when another application (TIBCO,SOA etc) uses EAI and violates keys in an object.
e.g. an Account is defined by stat_cd, loc and ou_id. If EAI tries to insert an account with the same
values for these columns, we will get such an error message.
An example of error because of duplicate address of an account is shown below.

ObjMgrLog Error 1 0003ce354f0c0964:0 2012-01-13 16:48:04 (adptutils.cpp (5845))
SBL-EAI-04381: For instance of Integration Component 'Account_Business Address',
using user key '[Postal Code] = "412 62" AND [City] = "Ulan Bator" AND
[Street Address] = "Tarshen" AND [Street Number] = "932" AND [House Letter] = "13"
AND [Country] = "Mongolia"', a record with identical values already exists in the Siebel database.

Please ensure that the field values in the input message are unique.

In addition to this error, we also got error numbers - SBL-EXL-00151 and SBL-APS-00802

ObjMgrLog Error 1 001fc2f14f1f27e0:3530249 2012-02-27 11:43:09 (favalidationinst.cpp (464))
SBL-APS-00802: Account Status does not allow deleting of the Account. Only Suspect and Prospect Accounts are allowed to be deleted.

ObjMgrLog Error 1 001fc2f14f1f27e0:3530249 2012-02-27 11:43:09 (favalidationinst.cpp (339))
SBL-APS-00802: Account Status does not allow deleting of the Account. Only Suspect and Prospect Accounts are allowed to be deleted.

The error SBL-APS-00802 was misleading - it said this account cannot be deleted.
There may be a possibility that the EAI component was trying to delete and insert the account instead of just
inserting it.

EAISiebAdpt EAISiebAdptErr 1 001fc2f14f1f27e0:3530249 2012-02-27 11:43:09 [0]
Method 'WriteRecord' of business component 'Account' (integration component 'Account')
for record with search specification '[Integration Id] = "5632541"' returned the following error:"The customer you are creating already exists.
(SBL-EXL-00151)"(SBL-EAI-04451) (0x7c0097)

The error message SBL-EXL-00151 and SBL-EAI-04451 came together.

The solution was to check if this account really existed, then remove it from the TIBCO/SOA queue.
Sometimes TIBCO has an automatic process of resending messages ending up in error, so we need to remove it
from the error queue also.