Search This Blog

SBL-DAT-00477: The object definition manager has already been initialized.

Applies to:

Siebel CRM - Version: 8.1.1.1 SIA [21211] and later   [Release: V8 and later ]
Information in this document applies to any platform.

Symptoms

After setting advanced parameter 'OM - Preload SRF Data' with value 'TRUE' for any Receiver component in Siebel (such as MQReceiver or JMSReceiver), component fails during initialization with error messages below found in log file:

(objdef.cpp (3854)) SBL-DAT-00477: The object definition manager has already been initialized.

( (0) err=2818155 sys=7668189) SBL-OMS-00107: Object manager error: ([0] The object definition manager has already been initialized.(SBL-DAT-00477) (0x7501dd))

(ccfom.cpp (560) err=2818149 sys=0) SBL-OMS-00101: Error 7668189 loading product configuration information

GenericLog GenericError 1 000000074c9a1df8:0 2010-09-22 19:10:40 (eaircvr.cpp (372) err=2818149 sys=0) SBL-OMS-00101: Error 7668189 loading product configuration information

GenericLog GenericError 1 000000074c9a1df8:0 2010-09-22 19:10:40 (smishell.cpp (335) err=2818149 sys=0) SBL-OMS-00101: Error 7668189 loading product configuration information

Cause

This is a known situation and current issue is expected whenever a single-threaded Object Manager process, as receiver components (MQReceiver, JMSReceiver), tries to perform some of the initialization more than once. It would happen at process startup and at login time.

In the case of such components, the Repository Load process is handled by the same parameter set at Enterprise Level.

So, whenever the same value is used for this parameter at both, Enterprise and Component level, this error occurs.

It is suggested not to set this parameter for single-threaded Object Manager processes.

Solution


Parameter 'OM - Preload SRF Data' exists both at enteprise and component levels.
If set only at enterprise level, the component inherits the setting.
The solution here is to set the parameter to TRUE at enterprise and FALSE at component level.


After setting the parameter 'OM - Preload SRF Data' with value 'FALSE' (same parameter is 'TRUE' at Enterprise level), the issue is not longer observed and the component starts as expected.

Following CR was created to include a warning about this situation in Siebel Bookshelf 'Transports and Interfaces: Siebel Enterprise Application Integration':
CR 12-1ZZMR1Z 'OM - Preload SRF should not be used for single-threaded components as MQ Receiver'


Applies to:

Product Release: V7 (Enterprise)
Version: 7.7.2 [18325]
Database: Oracle 8.1.7.4
Application Server OS: Microsoft Windows 2000 Server SP 4
Database Server OS: HP-UX 11i

This document was previously published as Siebel SR 38-1595898521.

Symptoms

SBL-DAT-00477

We are upgrading some VB-applications to communicate with Siebel 7.7 and need to advice on choosing between the COM Data Server and the COM Data Control modes.

With the Com Data Server we have a problem with muliple connections (“4096: The object definition manager has already been initialized.(SBL-DAT-00477)”) And in bookshelf we found the following entry:
"When using COM Data Server, the COM client cannot create multiple connections to the COM Server. For example, a second attempt at calling LoadObjects() causes the error message: "The object definition manager has already been initialized." The COM client must be restarted before another connection attempt can be successful. Use COM Data Control instead."

But when we tried using the Com Data Control we're not able to load a custom CFG file for certain operations. This is a business requirement as we in some cases would like to turn the Siebel scripting off. This is done in the cfg file with the parameter EnableScripting = False.

Please advice on what connection mode to use.

Solution

Message 1

Knut,

The COM Data Server cannot accept multiple concurrent connections. So, the error message you encountered is the expected behavior when trying to connect to it the second time.

As Bookshelf mentioned, if you would like to avoid this limitation, you can use the COM Data Control. The COM Data Control connects directly to the application object manager (AOM) on the Siebel server machine. The AOM’s .cfg file is located in <siebsrvr>\BIN\ENU. If you open any application .cfg files and read the comments above each section, you will see that many parameters will not be read by the AOM. Instead, the AOM gets these parameters straight from the Siebel gateway name server (GNS).

For example, the AOM gets the EnableScripting parameter from the GNS and not from the application .cfg file. So, if you want to change the value of this parameter, you can navigate to “Administration - Server Configuration > Servers > Components (select your AOM component) > Parameters”. After you changed the parameter’s value, stop and restart the Siebel server running this AOM for the change to take effect.

Thanks.

No comments:

Post a Comment