Search This Blog

SBL-EAI-04397: No user key can be used for the Integration Component instance '%1'.

Applies to: Siebel Universal Customer Master - Version: 7.8.1.1 [19044] and later [Release: V7 and later ]
z*OBSOLETE: Microsoft Windows 2000
""""Checked for relevance on 26-OCT-2010""""
Product Release: V7 (Enterprise)
Version: 7.8.1.1 [19044]
Database: Oracle 9i
Application Server OS: Microsoft Windows 2000 Server
Database Server OS: Microsoft Windows 2000 Server

This document was previously published as Siebel SR 38-2139753541.
Symptomsexecuting ‘UCM Contact Batch Data Management Workflow’ in UCM application 7.8.1 and getting the following error at the step ‘Process NoMatch’:

ObjMgrLog Error 1 0 2005-06-17 15:37:03 (adptutils.cpp (1066)) SBL-EAI-04397: No user key can be used for the Integration Component instance 'Contact'.

EAISiebAdpt EAISiebAdptErr 1 0 2005-06-17 15:37:03 [0] No user key can be used for the Integration Component instance 'Contact'.(SBL-EAI-04397) (IDS_ERR_EAI_SA_NO_USERKEY)

Cause
The EAI Siebel Adapter uses the user key to match records. If there is no user key that can be used, Siebel Adapter has to error out. Siebel Adapter will enumerate through every user key based on sequence number and check if all the fields in the user key are present in the instance and one of the fields in non-empty. If such a user key is found, Siebel Adapter will use it for all the other integration component instances of the same type.

In this case, the error occurs at the step ‘'Process NoMatch' in which the ‘UCM Batch Manager’ business service is invoked at the step to process the Contact record. The business service in turn, invokes EAI Siebel Adapter internally to update or insert the input integration object instance to Contact table. Here the integration object instance is based on integration object ‘CIFContactInsert’.

The Contact integration component in the integration object has four user keys but EAI Siebel Adapter can’t find any user key meets the condition that all the fields in the user key are present in the instance and one of the fields in non-empty. That is why the reported original error is caused.
Solution

The Party UID is user key field in the first user key in the Contact integration component. If the Party UID is populated to Null when creating the Contact record to UCM SDH table, EAI Siebel Adapter can’t use the field value when moving the Contact record from UCM SDH table to Contact base table.

In order to make sure the Party UID is populated in UCM SDH table, one way is to set the <Id> field value to a valid value such as external record id in the CRMML message and execute the workflow ‘UCM Server Party Package Workflow’. The other way is to set UCM_PARTY_UID column to a unique value in EIM_UCM_CON table and run the EIM job.

Please set ‘UCM_PARTY_UID’ column value to a unique value when running the EIM job so that the Party UID is populated










Applies to: Siebel System Software - Version: 7.5.3 [16157] - Release: V7

Information in this document applies to any platform.
Version:Siebel 7.5.3
PurposeThis document is intended to provide cause and corrective action information about Siebel Error Message SBL-EAI-04397: No user key can be used for the Integration Component instance '%1'.
ScopeThis document is informational and intended for any user.
SBL-EAI-04397: No user key can be used for the Integration Component instance '%1'.ExplanationSiebel Adapter uses the user key to match records. If there is no user key that can be used, Siebel Adapter has to error out. During processing of integration component instance, the EAI Siebel Adapter chooses to use the first user key in the sequence that satisfies the condition that all the fields of that user key are present in an integration component instance. The first instance of each integration component type determines the user key used by all instances of that type.
Corrective ActionCheck the integration component instance and make sure that all fields for at least one user key exist in the integration component instance.










Applies to: Siebel System Software - Version: 7.5.3 [16157] and later [Release: V7 and later ]
z*OBSOLETE: Microsoft Windows 2000
Product Release: V7 (Enterprise)
Version: 7.5.3 [16157]
Database: Oracle 8.1.7.2
Application Server OS: Microsoft Windows 2000 Server SP 2
Database Server OS: Microsoft Windows 2000 Server SP 2

This document was previously published as Siebel SR 38-1057386131.
***Checked for relevance on 12-JAN-2011***
SymptomsThe following error was being reported by the EAI Siebel Adapter when the incoming message did not contain a value for the <SerialNumber> in a custom Integration Object
SBL-EAI-04397 No user key can be used for the Integration Component instance "SMX Tyres Parts - Tyres Parts"

There was a Pre Default Value on the associated Business Component Field, but this did not effect the result.
CauseUsing the Upsert method of the EAI Siebel Adapter (which could result in either an Insert or an Update) there must be a valid User Key present for each Integration Component in the SiebelMessage. This is so the EAI Siebel Adapter can determine whether it should perform an update or an insert (i.e. before the Pre Default Value is even considered).
Solution

In this case, the requirement was to update (or insert if it did not exist) a row in the Business Component matching the incoming <SerialNumber>. If no <SerialNumber> was provided, then a row was to be created (and the “Serial Number” Field in the Business Component set to the newly created row_id. This was achieved as follows :-

The Pre Default Value for the “Serial Number” field was set to - Field: 'Id'. A second User Key (Key Sequence Number = 2) was added to the Integration Component, based on Id. Before the EAI Siebel Adapter step, the Id was set with a hard-coded value using eScript (the customer did not want to amend the structure of the XML file) :-
Inputs.GetChild(0).GetChild(0).GetChild(0).SetProperty("Id", "XXX");
The SerialNumber property was also checked in eScript, and if this was empty, it was removed from the SiebelMessage using RemoveProperty.

At the Upsert step, because there is no SerialNumber present (User Key 1), the EAI Siebel Adapter will use the second User Key.
And because 'XXX' cannot exist as a valid row_id, it will create a new row in the Business Component.
If the SerialNumber is present in the message, then the first User Key will be used, as before (and update or insert a row as required). This worked as expected.

Lastly, it was a requirement to obtain the value of the newly created row_id. This was available through the Output Argument "Object Id" of the EAI Siebel Adapter Upsert method.








Applies to: Error Message Area:Application Integration Infrastructure, Enterprise Application Interfaces - EAI
Version:Siebel 7.8
PurposeThis document is intended to provide cause and corrective action information about Siebel Error Message SBL-EAI-04397: No user key can be used for the Integration Component instance '%1'.
ScopeThis document is informational and intended for any user.
SBL-EAI-04397: No user key can be used for the Integration Component instance '%1'.ExplanationSiebel Adapter uses the user key to match records. If there is no user key that can be used, Siebel Adapter has to error out. Siebel Adapter will enumerate through every user key based on sequence number and check if all the fields in the user key are present in the instance and one of the fields in non-empty. If such a user key is found, Siebel Adapter will use it for all the other integration component instances of the same type.
Corrective ActionCheck the integration component instance and make sure that all fields for at least one user key exists in the integration component instance and one of those fields is not empty.











Applies to: Siebel System Software - Version: 7.8.2 SIA [19213] and later [Release: V7 and later ]
z*OBSOLETE: Microsoft Windows Server 2003
Product Release: V7 (Professional)
Version: 7.8.2 [19213]
Database: Microsoft SQL Server 2000 SP3
Application Server OS: Microsoft Windows 2003 Server SP1
Database Server OS: Microsoft Windows 2003 Server SP1

This document was previously published as Siebel SR 38-3178804201.
***Checked for relevance on 01-DEC-2010***
SymptomsThe “Personal Address” integration component instance contains “User Key 1”
composed of
'Personal Street Address' ;
'Personal State'
'Personal City'
“CM Addr Num”

“CM Addr Num” is not present int the integration component though.

Even after creating and activating the field, when “User Key 1” is active, the following error is observed.

ObjMgrLog Error 1 0 2006-10-23 06:41:54 (adptutils.cpp (1090)) SBL-EAI-04397: No user key can be used for the Integration Component instance 'Personal Address'.


CauseThe root cause of this behavior is related with the Business Component User Property definition "Promotion Map:Personal Address.CM Address Num" defined in the “List Mgmt Prospective Contact” Business Component. Customer did not define the correct Field Integration Component Name.


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

Solution



Incorrect User Propertie definition: "Promotion Map:Personal Address.CM Address Num

Correct User Propery Definition: "Promotion Map:Personal Address.CM Addr Num"

After change the User Property definition the user key issue was not experienced.

Reference: Bookshelf: Siebel Marketing User Guide > List Management > Promotion of Prospects to Contacts > Modifying Map Entries











Applies to: Siebel CRM Call Center - Version: 8.1 [21039] and later [Release: V8 and later ]
Information in this document applies to any platform.
SymptomsEnvironment :- Siebel CRM version 8.1.x

On trying to invoke the InsertOrUpdate method of a Custom ASI web service , an error was reported as below :-
---------------
SBL-EAI-04397: No user key can be used for the Integration Component instance 'XXX'.
---------------

The Internal Integration Object (IO) consisted of multiple user keys (e.g user key 1, user key 2 and user key 3), out of which ALL fields specified under one user key (i.e User key 1) was provided in the incoming soap message. Nevertheless, the above error occurred while invoking the web service.
CauseIn this case the behavior was encountered on Siebel CRM 8.1 release, where customer had another definition of the same IO deployed in the run time database. The IO deployed in the run time database was later amended to incorporate some changes in the user key.

Next 'EAI Siebel Adapter' was invoked with a SiebelMessage corresponding to the amended/latest IO definition, which was compiled in the srf but not re-deployed in the runtime database.

Since in version 8.1, IOs are first read from the cache and then from the SRF, this made 'EAI Siebel Adapter' to ignore the amended IO definition and throw the user key error.

From experience gathered, it is seen that similar incidents can often arise when the "Deploy the Integration Object" checkbox is selected while creating an IO (using the EAI Siebel Wizard). In order to avoid such incidents due to inconsistent IO definition, it is recommended to keep the "Deploy the Integration Object" checkbox unchecked (the default value).
SolutionThe error could be avoided either by :-

1. Re-deploying the latest IO definition in the runtime database.

Steps :-
-------------
1. In the Object Explorer in Siebel Tools, select the latest IO definition.
2. Right-click the integration object name and choose Deploy to Runtime Database.

Or

2. Undeploying the IO so that the latest IO definition is read from .SRF.

Steps :-
-------------
1. In the Object Explorer in Siebel Tools, select the IO definition.
2. Right-click the integration object name and choose Undeploy to remove it from runtime database












Applies to: Siebel Email Marketing - Version: 8.0.0.2 [20412] and later [Release: V8 and later ]
Information in this document applies to any platform.
Symptoms
Customer has identified the following error on BHD.log:

No user key can be used for the Integration Component instance 'Marketing Camp Con'.(SBL-EAI-04397)Unknown

and could not see any other activity on the bhd.log.
Cause
Inspecting the auditMbox file that show part of the bounce email messages received by BHD from outside we could see that the bounces really do not have the corresponding SEMA-CR-@ as expected.

The Return-Path email heards shows:

Return-Path: <SEMA=2DCR=2D@<BHD Server domain>>
<SEMA=2DCR=2D@As the Row Id is not present in the Return-Path the BHD could not parse it and it parse a blank row id.

Then the BHD send the request to the Object Manager we get the error message: No user key can be used for the Integration Component instance 'Marketing Camp Con'.(SBL-EAI-04397).
We have request the customer to identify the Campaigns for the bounce messages with blank row id based on the Subject of the bounce emails.

Customer identified that the emails are not from Siebel Marketing Campaigns, but regular Siebel Application like F9 and Outbound Request.
Solution
Customer was requested to check on Site Map>Administration - Communications>Communications Drive and Profiles>select Internet SMTP/POP3 Server driver> Driver Parameters tab and verify if "Delivery Status Mailbox" or "Delivery Status Domain" has been set.

This can be set at Profile level so you must check all Profiles too at Site Map>Administration - Communications>Communications Drive and Profiles>select Internet SMTP/POP3 Server driver>Profile tab> and in the grand child applet Profile Parameters Overrides check for the same parameters.

If this is set and pointing to BHD Domain/Server it should be cleared, since BHD should only serves Siebel Marketing Campaigns sent by ESD daemon and not Siebel Communications Server.








Applies to: Product Release: V7 (Enterprise)
Version: 7.7.2 [18325]
Database: Microsoft SQL Server 2000 SP 2
Application Server OS: Microsoft Windows 2003 Server
Database Server OS: Microsoft Windows 2003 Server

This document was previously published as Siebel SR 38-1547599769.
SymptomsSBL-EAI-13011, SBL-EAI-04397
Hi,

The ADM tool was working well for migrating Views and Responsibilities untill we applied Siebel 7.7.2 patch. Here we are observing that View names with less than 50 characters have no issues but more than 50 characters are throwing out the attached error. Have included the XML files and screen shots of the error messages.

Thanks.
SolutionMessage 1For the benefit of other users, ADM uses vanilla "UDA View Access" Integration Object to deploy views. In 7.7.1 if you create a new view named "Siebel Account Invoice Adjustment Request Items View (eService)" in Tools, by using "Copy Record" on vanilla view named "Account Invoice Adjustment Request Items View (eService)". This view name is 62 characters (with spaces); you are able to deploy it successfully. After applying 7.7.2 patch, you are unable to deploy it.

In customer’s case, they got 2 different errors:

1. Single file import:

No use key can be used for the Integration Component instance 'Feature Access'.(SBL-EAI-04397)

2. Multiple files import through workflow process, a different error:

Field '<?>' in the integration component '<?>' contains value '<?>', which is longer than allowed length of '<?>' characters.(SBL-EAI-13011)

The problem is identified to be as follows:
=====
The problem is with the external length of the Name field of "Feature Access" Integration component. Should be set to column length of 75 instead of BC Text Length of 50.
=====

The Change Request CR# 10482048 has been logged to address this issue, and it has been fixed in Siebel 7.8.


...continued in next activity...
Message 2The workaround is the following:

In Siebel Tools:
1. Lock the project "EMT Objects".
2. Navigate to Integration Object > choose "UDA View Access" > Integration Component > choose "Feature Access" > Integration Component Field > choose "Name" field. Change "External Length" property from 50 to 75.
3. Recompile client srf, and copy the recompiled srf to Siebel Server side.

And after that, the import works fine on 7.7.2 for the view with name = 62 characters. This should be the only change required.

Another property for this Integration Component Field is "Length"; it can be left as 50. We don't need to change "Text Length" property on Name field of "Feature Access" Business Component either.


keyword search:
SBL-EAI-04397; 04397 ERROR



 

No comments:

Post a Comment