Search This Blog

SBL-EAI-04390: Multiple matches found for instance of integration component '%1' using search specification '%2' in the business component '%3', based on user key '%4'.

Applies to: Siebel System Software - Version: 7.7.2 SIA [18325] and later [Release: V7 and later ]
Oracle Solaris on SPARC (64-bit)
Product Release: V7 (Enterprise)
Version: 7.7.2 [18325] Com/Med
Database: Oracle 9.2.0.4
Application Server OS: Sun Solaris 9
Database Server OS: Sun Solaris 9

This document was previously published as Siebel SR 38-3008964956.
SymptomsThe EAI Siebel Adapter (Upsert method) is called with Contact data, but the following error is reported :-

"Multiple matches found for instance of integration component 'Contact' using search specification '[First Name] = "MAHENDRA" AND [Last Name] = "HEMNANI" AND [Work Phone #] = "+54989907987"' in the business component 'Contact', based on user key 'V77 Wizard-Generated User Key:1'.(SBL-EAI-04390)
--
Error invoking service 'EAI Siebel Adapter', method 'Upsert' at step 'Insert Contact'.(SBL-BPR-00162)"
CauseBecause method 'Upsert' was used, customer expectation was that if the record is already there in the database then it should update, otherwise insert.

However, in this case there was more than one record which satisfied the user key fields, hence the error.
SolutionTo avoid the error, ensure the user key for the Integration Component can uniquely identify the record, and that for any given set of user key fields, there are no duplicates. Also see :-
Integration Platform Technologies: Siebel Enterprise Application Integration > About Integration Component Keys > User Keys
"A user key is a group of fields whose values must uniquely identify a Siebel business component record."






Applies to: Siebel Financial Services CRM - Version: 8.0.0.6 SIA [20423] - Release: V8
Information in this document applies to any platform.
Goal
What could be causing the following error message when trying to import a Workflow Process:
Multiple matches found for instance of integration component 'Repository WF Process Prop' using search specification '[Name] = "Error Code"' in the business component 'Repository WF Process Prop', based on user key 'User Key:1'.(SBL-EAI-04390)
Solution
In all known occurrences of error message "SBL-EAI-04390" for integration component "Repository WF Process Prop" the error was caused by duplicate values in a workflow-related LOV Type.
=> Verify the values for these LOV Types: "WF_DATA_TYPE_CD" and "WF_INOUT_TYPE_CD".
If there are any duplicate LOVs please remove them, and activate any LOVs not activated.
=> If this does not help, check all LOV Types called WF_*.
If there are any duplicate LOVs please remove them, and activate any LOVs not activated.









Applies to: Siebel System Software - Version: 7.8.2.3 SIA [19221] and later [Release: V7 and later ]
z*OBSOLETE: Microsoft Windows Server 2003
Product Release: V7 (Enterprise)
Version: 7.8.2.3 [19221] PTG Com/Med
Database: Oracle 9.2.0.6
Application Server OS: Microsoft Windows 2003 Server
Database Server OS: Sun Solaris 9

This document was previously published as Siebel SR 38-3248342821.
***Checked for relevance on 11-NOV-2010***
SymptomsSBL-EAI-04390
Requirement is to automatically generate activities using Activity Templates functionality when creating Service Request through the EAI application Tibco, via an Integration Object.

To implement this, following was configured :-
1. Create an Integration Object to create Service Request and an Activity of Type 'Recepção Documento' under Service Request;
2. In Business Component Service Request we have a pickmap in field ‘PTF_GD Subject L0’ to fill the field ‘PTF_GD Activity Template’ (this field save the name of activity template in Service Request) with value defined in list of value of this field;
3. In BusComp_PreSetFieldValue event of Service Request we have code to fill the field ‘PTF_GD Activity Template’, if exist a value of activity template name defined in list of value of field ‘PTF_GD Subject L1’ or ‘PTF_GD Subject L2’ ( the fields PTF_GD Subject L0, PTF_GD Subject L1 e PTF_GD Subject L2 are related hierarchically).
4. In BusComp_WriteRecord event we have code to invoke a workflow that create an Activity Plan if field ‘PTF_GD Activity Template’ is filled with name of activity template;
5. In BusComp_WriteRecord event of Business Component Activity Plan we invoke a workflow named ‘PTF_GD Update Activity Plan Action Workflow’ to fill some custom fields of Business Component Activity Plan Action with values of Business Component Activity Plan;
6. In BusComp_WriteRecord event of Activity Pan Action we invoke a workflow named ‘PTF_GD Position/Activity Plan Action Association’ to create record in intersection table of Activity and Position, for visibility reasons.
When the Insert method of EAI Siebel Adapter was called to create a Service Request and Action, it failed with the following error:

"Siebel InvokeMethod error, for Insert (Localizadas várias corresps para a instância do comp. de integração 'PTF_GD Action' utilizando a especificação de procura '[PTF_GD Integration Id] IS NULL' no Business Component 'PTF_GD Action', com base na chave de utlzr 'V77 Wizard-Generated User Key:1'.(SBL-EAI-04390)).".

In English:

Multiple matches found for instance of integration component 'PTF_GD Action' using search specification '[PTF_GD Integration Id] IS NULL' in the business component 'PTF_GD Action', based on user key 'V77 Wizard-Generated User Key:1'.
CauseThe customer had added code the WriteRecord event on the Service Request bus comp to invoke a workflow that inserted an activity plan against the SR. The log file for the EAI Object Manager task showed that the EAI Siebel Adapter inserted the SR and then started to process the activity. It executed a select statement against S_EVT_ACT to retrieve the any records associated to the SR and then tried to delete one of the activities inserted as part of the activity plan, at which point the error occurred.

The following information is included in the Integration Platform Technologies: Siebel Enterprise Application Integration, EAI Siebel Adapter, EAI Siebel Adapter Methods:

“Insert Method

This method is also similar to the Synchronize method with the exception that the EAI Siebel Adapter generates an error if a matching root component is found; otherwise, it inserts the root component and synchronizes all the children. It is important to note that when you insert a record, there is a possibility that the business component would create default children for the record, which need to be removed by the Insert method. The Insert method synchronizes the children, which deletes all the default children. For example, if you insert an account associated with a specific organization, it will also be automatically associated with a default organization. As part of the Insert method, the EAI Siebel Adapter deletes the default association, and associates the new account with only the organization that was originally defined in the input integration object instance. The EAI Siebel Adapter achieves this by synchronizing the children.”

The important point here is that the Insert method “inserts the root component and synchronizes all the children.” This is why the Siebel Adapter was trying to delete the activities inserted as part of the activity plan and associated to the SR.
SolutionAfter script was removed from the WriteRecord event, the Workflow Process was not invoked and, as a result, the EAI Siebel Adapter completed correctly.

The Workflow Process was instead invoked using a Workflow Policy, after the SR and the activity was inserted. An alternative solution was to invoke the Upsert method on the EAI Siebel Adapter.


Keywords: EAI Siebel Adapter Insert WriteRecord Workflow Process Service Request Activity Plan Action Multiple Matches Found Instance Integration Component








Applies to: Siebel CRM - Version: 8.0 [20405] and later [Release: V8 and later ]
Information in this document applies to any platform.
***Checked for relevance on 11-NOV-2010***
Symptoms
When using the "Synchronize" operation of the EAI Siebel Adapter, Siebel is giving the following error message :-

SBL-EAI-04390: Multiple matches found for instance of integration component 'Order Entry - Line Items' using search specification '[JUN Oracle Order Line Id] IS NULL' in the business component 'JUN Order Entry - Line Items Copy', based on user key 'User Key:4'.
Cause
The user key field for 'Order Entry - Line Items' was 'JUN Oracle Order Line Id'. When the line items were initially created, this field contained null. It is a requirement for the EAI Siebel Adapter that the user key for an Integration Component is unique :-

Integration Platform Technologies: Siebel Enterprise Application Integration > Integration Objects > About Integration Component Keys >User Keys

"User key is a group of fields whose values must uniquely identify a Siebel business component record."
Solution
At BusComp layer, the "JUN Oracle Order Line Id" was pre-defaulted with the Id field (Predefault Value=Field: 'Id'), and the reported error did not re-occur.









Applies to: Product Release: V7 (Enterprise)
Version: 7.5.2.216 [16084] Com/Med
Database: Oracle 9.2.0.2
Application Server OS: Sun Solaris 8
Database Server OS: Sun Solaris 8

This document was previously published as Siebel SR 38-1040672641.
SymptomsSBL-EAI-04390
create new order and submit order; then auto-asset. Next modify this asset and go to product configurator and change, then click done. Then go to the Order and change status to complete for the line items and then auto-asset and you get the error message "Multiple matches found for Instance of Integration component header using searchspecification Product Id ..."

Will attach log and the error message screenshot.
SolutionMessage 1For the benefit of other users:

Customer observed that clicking 'Auto-Asset' the 2nd time after making changes to the Order line items resulted in the error "Multiple matches found for instance of integration component 'Header' using search specification '[Product Id]="1-232" AND [Integration Id]="1-6RAF0"' in the business component 'Asset Mgmt - Asset - Header', based on user key 'User Key:1'."

Technical Support on analysing the logs generated after enabling SIEBEL_LOG_EVENTS found that the first time the Asset was created it inserted 2 rows in S_ASSET for the same Product Id. This resulted in the 'Multiple Matches' error the 2nd time 'Auto-Asset' was clicked. The reason why there were 2 inserts in S_ASSET table was because the step that queried for the newly created Asset after inserting the 1st row did not return any rows, thus causing the 2nd insert. The query on 'Asset Mgmt - Asset' resulted no rows as customer had created a custom Search specification that caused the newly asseted row not to return.

To resolve the behavior customer removed the custom Search Specification on the 'Asset Mgmt - Asset' Business component.

Siebel > Customer Relationship Management > CRM - Enterprise Edition > Siebel System Software Keywords



INTEGRATION OBJECT; INTERSECTION; EAI SIEBEL ADAPTER; NEW ACCOUNT; ASSOCIATION; BUSINESS COMPONENTS

Errors



SBL-EAI-04390



 

2 comments:

  1. keep posting like this it’s really very good idea, you are awesome!

    clomid

    ReplyDelete
  2. hi Could you please tell us the diffrence between userkey1 and userkey2?Both will be active at a time?

    ReplyDelete