Search This Blog

SBL-DBC-00105: An error has occurred executing a Sql statement.

Applies to:

Siebel Tools - Version: 7.7.2 [18325] to 8.1.1.3[21219]   [Release: to V8]
z*OBSOLETE: Microsoft Windows Server 2003

Product Release: V7 (Enterprise)

Version: 7.7.2.1 [18353]

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-2849725171.



"" Checked for Relevance on 17-SEP-2010 ""


Symptoms

SBL-DBC-00105

Customer created an external view on SIEBVIEW schema (v$activity_follow_ups_ebc) in order to join two types of Activity rows (SQL UNION) - old ones that have no parent activity reference, and new ones that have this reference. The view is working fine from SQL Navigator, and there are no errors in any type of direct SQL Queries that customer made.

An EBC has been created based on this view to display the date in a List Applet that was inserted on Acitivity List view.

When customer opens this view, the following error occur:
"An error has occurred executing a Sql statement. Please continue or ask your systems administrator to check your application configuration if the problem persists.(SBL-DBC-00105)".

If customer changes the view, and select only the new group of records, the EBC is working fine and he can see records from GUI. But if he puts in the view only OLD records, he is getting this error.

Cause

The customer's view definition for the External Business Component (EBC) included a restriction on a date:

CREATE OR REPLACE VIEW
...
AS SELECT
....
from siebel.s_evt_act act -- Activity
...
WHERE
... act.created > '17-Sep-2001' -- to eliminate activities created before Siebel roll-out
...

The view could be accessed successfully from a third party tool, but a select statement generated from the Siebel Application caused an SQL error.

Solution

As the date formatting depends on the session's NLS (National Language Support) settings, we suggested an adapted version that would work independent from the current NLS setting:


CREATE OR REPLACE VIEW
...
AS SELECT
....
from siebel.s_evt_act act -- Activity
...
WHERE
act.created > (to_date('17.09.2001','DD.MM.YYYY'))

The customer changed the view definition accordingly and no more SQL errors occurred when accessing the EBC from the Siebel application.

Please note that the to_date function above and its syntax is specific to Oracle RDBMS.












Applies to:

Siebel Tools - Version: 8.0.0.2 [20412] and later   [Release: V8 and later ]
Siebel Tools - Version: 7.7.1 SIA [18306] to 8.0.0.2 [20412]   [Release: V7 to V8]
Siebel Tools - Version: 7.7.1 [18306] to 8.0.0.2 [20412]   [Release: V7 to V8]
Information in this document applies to any platform.


Symptoms

The customer created an External Business Component (EBC) based upon a database view on another application's tables (ERP - Oracle DB)

When querying the EBC using a simple Workflow Siebel Operation this resulted in the following warning message:

SBL-DBC-00105
--
ORA-24347: Warning of a NULL column in an aggregate function

which caused Siebel Error

SBL-DBC-00105

"An error has occurred executing a Sql statement.

Please continue or ask your systems administrator to check your application configuration if the problem persists."

then.

(Note that this behavior is generally independent from using a workflow or not for querying)

Cause

ORA-24347: Warning of a NULL column in an aggregate function

is a warning reported from the Oracle RDBMS when trying to use aggregation functions like SUM or AVG on records containing NULL values.

In this case, the customer's database view definition included a SUM:


create or replace view xx_ar_cust_ref_credit_sum_v as

select

addr.orig_system_reference orig_sys_ref_acct_id

...

 sum(credit_data.overall_credit_limit) overall_credit_limit,

 sum(credit_data.balance_due) balance_due
...

Solution

Changing the database view definition, using NVL to handle null values was suggested and confirmed to resolve this.

Please invoke Oracle Database Support or Consulting (billable) if you need assistance implementing this for your specific view definition.

Test your view definitions thoroughly before using them in a production environment to avoid database errors like this, and be aware that database views in EBCs cannot be used to update records (as the RDBMS will prevent updating records via database views).

http://www.dbasupport.com/forums/archive/index.php/t-17208.html

describes similar NULL value related errors and has examples using NVL - if this document should no longer exist

try searching for

ORA-24347 and NVL

on the Web.

References

NOTE:535155.1 - EBC generates ORA-24347 error

http://www.dbasupport.com/forums/archive/index.php/t-17208.html









Applies to:

Siebel System Software - Version: 7.7.2 [18325] and later   [Release: V7 and later ]
z*OBSOLETE: Microsoft Windows 2000

Product Release: V7 (Enterprise)

Version: 7.7.2.6 [18372]

Database: Oracle 9.2.0.6

Application Server OS: Microsoft Windows 2000 Advanced Server SP 3

Database Server OS: IBM AIX 5L 5.1



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


Symptoms

Customer reported the following:



We have come across an error in our Siebel production environment when running a query.

The error message is,



"An error has occurred executing a Sql statement.

Please continue or ask your systems administrator to check your application configuration if the problem persists.(SBL-DBC-00105)

ORA-00600: internal error code, arguments: [qkabix], [0], []. [], []... "



I have referenced on the My Oracle Support, the Siebel Error Message information on SBL-DBC-00105.

I did the spooling, found the SQL causing problems and then I ran the SQL in sqlplus. The SQL ran fine without error.



One thing I did try was changing the InsensitivityFactor to 1 rather than 2. And this did resolve the problem.



Is the case insensitivity factor a valid reason for this error we see?

Is there anything else I can do to confirm the cause of this problem?




Solution

For the benefit of other readers:


Customer encountered ORA-600 [qkabix]



1. Is the case insensitivity factor a valid reason for this error we see?

-- No. Setting InsensitivityFactor may not be a permanent solution.



2. Is there anything else I can do to confirm the cause of this problem?

The ORA-600 error with qkabix should appear in Oracle alert and/or trace files when the query ran and return with error.



For further information on ORA-600 [qkabix], please do a search in Oracle metalink using “ORA-600 [qkabix]”. This error is reported when Oracle fails with rowid-to-bitmap conversion when running a select statement with lots of joins and tables involved. Possible workaround is to set "_B_TREE_BITMAP_PLANS" = false.



_B_TREE_BITMAP_PLANS enables creation of interim bitmap representation for tables in a query with only binary index(es). Default value is FALSE in Oracle 8i and TRUE in Oracle 9i or later.



Siebel should work with _B_TREE_BITMAP_PLANS = FALSE with no issues since Siebel has been tested with Oracle 8i – prior version. This is supported so please feel free to set this to false.













Applies to:

Siebel Tools - 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 9i

Application Server OS: Microsoft Windows 2000 Advanced Server SP 4

Database Server OS: Sun Solaris 8



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



""Checked for Relevance on 03-Dec-2010""


Symptoms

We have the business requirement to be able to search for all employees attached
to an activity without having to type "EXISTS" in the "Owned By" MVF. After setting the "Use
Primary Join" flag to "FALSE" for the Action/Employee MVL in BC Action, an SQL error occurs when
navigating to the Activities Screen.

Cause

The behavior described by the customer is reproducible using a standard Siebel environment. The steps are the following:



1. Using Siebel Tools set the 'Use Primary Join' property of the
'Employee' MVL to FALSE (Unchecked) in 'Action' BC. Compile the BC.



2. Launch Siebel Call Center application:

> The Home Page cannot be displayed and the following error occurs:

- - -

We detected an Error which may have occurred for one or more of the following reasons:



An error has occurred executing a Sql statement. Please continue or ask
your systems administrator to check your application configuration if
the problem persists.(SBL-DBC-00105)

- - -



NOTE: The Home page contains "My Activities" applet.



The same error occurs if we try to access any view in "Activities" screen.



By spooling the SQL we can see the cause of the error that the following SELECT statement:

- - -

SELECT

      ...

      T1.ACT_ALARM_FLG,

      T1.ACT_APPT_START_DT,

      T1.ACT_TODO_PLNSTRTDT,

      T1.ACT_TODO_PLNEND_DT,

      T1.ACT_APPT_REPT_FLG,

      T1.ACT_APPT_RPTEND_DT,

      T1.ACT_EVT_STAT_CD,

      T1.ACT_CAL_DISP_FLG,

      T1.ACT_TEMPLATE_FLG,

      T1.ACT_CAL_TYPE_CD,

      ...

   FROM

       SIEBEL.S_EVT_ACT T1

...

- - -



Indeed these columns do not exist in S_EVT_ACT table. They are
denormalized columns in S_ACT_EMP table. This table is the intersection
of link 'Action/Employee', the link used by the 'Employee' MVL.



Please note that a similar behavior is reproducible with other MVLs in
other BCs, e.g. 'Position' and 'Organization' MVLs in BC 'Account' and
'Contact' BCs. The same error will be encountered when accessing
"Accounts" or "Contacts" screen.



This behavior occurs because these MVLs are visibility MVLs. 'Employee'
MVL, for example, is involved in the visibility settings of 'Action' BC.
This one has indeed the following BusComp View Mode:

- - -

Name: Personal

Owner Type: Person

Visibility MVField: Owned By

Visibility MVLink: Employee

- - -


In fact setting Use Primary Join property to FALSE for visibility MVLs
is not supported. Visibility MVLs need to have a primary id defined and
primary join should be TRUE. The primary join has a special meaning for
visibility MVLs.



BUG 10474574 has been logged asking to document this
matter in Siebel Tools Reference and Object Types Reference guides.

Solution

The suggestion to achieve the customer's requirement is to create a new MVL based on the same link as the 'Employee' MVL and a MVF based on this MVL. This new MVL will have its 'Use Primary Join' set to FALSE and the new MVF will be used in the UI for the queries without the EXISTS operator.




References

BUG:10474574 - IT SHOULD BE DOCUMENTED THAT SET 'USE PRIMARY JOIN' TO FALSE FOR VISIBILITY MVLS IS NOT SUPPORTED










Applies to:

Siebel Tools - Version: 7.7.2 [18325] to 8.1.1.3[21219]   [Release: to V8]
z*OBSOLETE: Microsoft Windows Server 2003

Product Release: V7 (Enterprise)

Version: 7.7.2.1 [18353]

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-2849725171.



"" Checked for Relevance on 17-SEP-2010 ""


Symptoms

SBL-DBC-00105

Customer created an external view on SIEBVIEW schema (v$activity_follow_ups_ebc) in order to join two types of Activity rows (SQL UNION) - old ones that have no parent activity reference, and new ones that have this reference. The view is working fine from SQL Navigator, and there are no errors in any type of direct SQL Queries that customer made.

An EBC has been created based on this view to display the date in a List Applet that was inserted on Acitivity List view.

When customer opens this view, the following error occur:
"An error has occurred executing a Sql statement. Please continue or ask your systems administrator to check your application configuration if the problem persists.(SBL-DBC-00105)".

If customer changes the view, and select only the new group of records, the EBC is working fine and he can see records from GUI. But if he puts in the view only OLD records, he is getting this error.

Cause

The customer's view definition for the External Business Component (EBC) included a restriction on a date:

CREATE OR REPLACE VIEW
...
AS SELECT
....
from siebel.s_evt_act act -- Activity
...
WHERE
... act.created > '17-Sep-2001' -- to eliminate activities created before Siebel roll-out
...

The view could be accessed successfully from a third party tool, but a select statement generated from the Siebel Application caused an SQL error.

Solution

As the date formatting depends on the session's NLS (National Language Support) settings, we suggested an adapted version that would work independent from the current NLS setting:


CREATE OR REPLACE VIEW
...
AS SELECT
....
from siebel.s_evt_act act -- Activity
...
WHERE
act.created > (to_date('17.09.2001','DD.MM.YYYY'))

The customer changed the view definition accordingly and no more SQL errors occurred when accessing the EBC from the Siebel application.

Please note that the to_date function above and its syntax is specific to Oracle RDBMS.













Applies to:

Siebel Tools - Version: 7.7.2 [18325] to 8.1.1.3[21219]   [Release: to V8]
z*OBSOLETE: Microsoft Windows Server 2003

Product Release: V7 (Enterprise)

Version: 7.7.2.1 [18353]

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-2849725171.



"" Checked for Relevance on 17-SEP-2010 ""


Symptoms

SBL-DBC-00105

Customer created an external view on SIEBVIEW schema (v$activity_follow_ups_ebc) in order to join two types of Activity rows (SQL UNION) - old ones that have no parent activity reference, and new ones that have this reference. The view is working fine from SQL Navigator, and there are no errors in any type of direct SQL Queries that customer made.

An EBC has been created based on this view to display the date in a List Applet that was inserted on Acitivity List view.

When customer opens this view, the following error occur:
"An error has occurred executing a Sql statement. Please continue or ask your systems administrator to check your application configuration if the problem persists.(SBL-DBC-00105)".

If customer changes the view, and select only the new group of records, the EBC is working fine and he can see records from GUI. But if he puts in the view only OLD records, he is getting this error.

Cause

The customer's view definition for the External Business Component (EBC) included a restriction on a date:

CREATE OR REPLACE VIEW
...
AS SELECT
....
from siebel.s_evt_act act -- Activity
...
WHERE
... act.created > '17-Sep-2001' -- to eliminate activities created before Siebel roll-out
...

The view could be accessed successfully from a third party tool, but a select statement generated from the Siebel Application caused an SQL error.

Solution

As the date formatting depends on the session's NLS (National Language Support) settings, we suggested an adapted version that would work independent from the current NLS setting:


CREATE OR REPLACE VIEW
...
AS SELECT
....
from siebel.s_evt_act act -- Activity
...
WHERE
act.created > (to_date('17.09.2001','DD.MM.YYYY'))

The customer changed the view definition accordingly and no more SQL errors occurred when accessing the EBC from the Siebel application.

Please note that the to_date function above and its syntax is specific to Oracle RDBMS.




No comments:

Post a Comment