Search This Blog

SBL-DAT-00354: The query could not be run because the criteria for field '%1' contained an invalid arithmetic expression

Applies to:

Siebel Thin Client - Version: 8.0.0.2 [20412] - Release: V8
Information in this document applies to any platform.

Symptoms


After applying 8.0.0.2 fix pack, some users cannot login.

The following error message appears in the swe log file:

ProcessPluginRequest ProcessPluginRequestError 1 0000000447ff18dc:0 2008-04-11 12:07:59 4148: [SWSE] Error Message 1 : error 7668066 : The query could not be run because the criteria for field 'Person Id' contained an invalid arithmetic expression. Please ensure that the search criteria is correctly formatted.

This error is often caused by a missing operator (e.g. = or <) or missing quotes. If you aren't sure what may have caused this please contact your systems administrator.(SBL-DAT-00354)

Cause

Users with a '+' in the row_id of their login can not log into the Web Client. Users that do not have a '+' in the row_id of their login can login to the Web Client.

There is a product defect that describes the same behavior: 12-1MRTDA9

From the log file, customer is facing the CR mentioned
FROM
SIEBEL.S_PER_RESP T1,
SIEBEL.S_RESP T2
WHERE
T1.RESP_ID = T2.ROW_ID AND
(T1.PER_ID = :1)
ORDER BY
T2.ROW_ID

ObjMgrSqlLog Detail 4 0000000648031188:0 2008-04-14 10:46:17 Bind variable 1: 1+5F+74

Solution

This CR is fixed on 8.0.0.2 QF0210 and also on Fix Pack 8.0.0.3.

Customer applied 8.0.0.3 and confirmed that it resolved the login issue.


Applies to:

Product Release: V7 (Enterprise)
Version: 7.8.2 [19213]
Database: Oracle 9.2.0.5
Application Server OS: Sun Solaris 5.8
Database Server OS: Sun Solaris 5.8

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

Symptoms

SBL-DAT-00354

Hi,

We are facing issue in Start Date field on the Parametric Search applet in the new Sales Order Dynamic Catalog funcationality. Please follow the steps below to reproduce the behaviour
1. Goto Sales Order->Catalog->Search view.
2. On the "Attribute Search Applet" search on the Start Date field; enter date in dd/mm/yyyy format. It throws an error. (See attached screenshot). It actually searches the Start Date field from Internal Product BC.
On the contrary, if you put date in mm/dd/yyyy format, the Search runs absolutely fine.

We have already changed our Locale settings to change the date format to dd/mm/yyyy. At all other places, the dates are shown fine.

Please suggest a solution, so that we can use the date field to make dd/mm/yyyy searches.

Solution

Message 1

For the benefit of other users:

Question:

Please suggest a solution, so that we can use the date field to make dd/mm/yyyy searches.

Getting Error:

The query could not be run because the criteria for field '%1' contained an invalid arithmetic expression. Please ensure that the search criteria is correctly formatted.

This error is often caused by a missing operator (e.g. = or <) or missing quotes. If you aren't sure what may have caused this please contact your systems administrator. (SBL-DAT-00354)

Resolution:

CR 12-1CLIBDF has been logged to address this behavior. There is no workaround for this behavior since it happens to be applet specific and not application wide.

Please contact your TAM to request a Fix Request.

Key Words: date, search, field, 12-1CLIBDF, applet, SBL-DAT-00354

Thank you,

Applies to:

Product Release: V7 (Enterprise)
Version: 7.5.3 [16157] NLD Fin Svcs
Database: IBM DB2 8.1 FixPack 3
Application Server OS: IBM AIX 5L 5.1
Database Server OS: IBM zOS

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

Symptoms

SBL-DAT-00105, SBL-DAT-00354, SBL-DAT-00359

We expose the Contact's Birthdate field in the Find (Binocular). However, depending on what has been entered by the end user as search value for the Birthdate, the spooled SQL is different (with Bind variables or not):

Example Searches on Birthdate:

1.) Query String '14-05-1999' (according to Regional Settings / Locale Settings on OM)
results in:

   WHERE
      (T2.PRIV_FLG = 'N' AND T5.CON_EMP_FLG <> 'Y' AND T2.ACTIVE_FLG = 'Y') AND
      (T2.BIRTH_DT = CAST(? AS TIMESTAMP))
ObjMgrSqlLog    Detail 4       2004-05-04 09:07:46     Bind variable 1: 1-1U-252
ObjMgrSqlLog    Detail 4       2004-05-04 09:07:46     Bind variable 2: 1999-05-14 00:00:00
ObjMgrSqlLog    Detail 4       2004-05-04 09:07:46     


2.) Query String '9-9-66' (according to Regional Settings / Locale Settings on OM)
results in:

   WHERE
      (T2.PRIV_FLG = 'N' AND T5.CON_EMP_FLG <> 'Y' AND T2.ACTIVE_FLG = 'Y') AND
      (T2.BIRTH_DT = CAST(? AS TIMESTAMP))
ObjMgrSqlLog    Detail 4       2004-05-04 09:11:11     Bind variable 1: 1-1U-252
ObjMgrSqlLog    Detail 4       2004-05-04 09:11:11     Bind variable 2: 1966-09-09 00:00:00
ObjMgrSqlLog    Detail 4       2004-05-04 09:11:11     
***** SQL Statement Prepare Time: 0.003 seconds *****


3.) Querystring '1/5/99' or '14-14-1999':
results in:
SBL-DAT-00354 is executed
No SQL is spooled (handeled by OM)


4.) '121209'              SBL-DAT-00105 is executed ==> on db SQL 401 error is executed, no binding variable used
. . .
WHERE
      (T2.PRIV_FLG = 'N' AND T5.CON_EMP_FLG <> 'Y' AND T2.ACTIVE_FLG = 'Y') AND
      (T2.BIRTH_DT = 121209)
ObjMgrSqlLog    Detail 4       2004-05-04 09:10:03     Bind variable 1: 1-1U-252
ObjMgrSqlLog    Detail 4       2004-05-04 09:10:03     
***** SQL Statement Prepare Time: 0.003 seconds *****

SQLParseAndExecute      Execute 5       2004-05-04 09:10:04     0.105s
Error   Error   1       2004-05-04 09:10:04     SQLError: sqlstate 4281...

Solution

Message 1

For the benefit of other users:

Original Issue:
After exposing the Contact's Birthdate Field in the Find Applet, depending on what has been entered by the end user as a search value for the Birthdate Field, the spooled SQL is different (with/without Bind variables):

Example Searches on Birthdate:

1.) Query String '14-05-1999' (according to Regional Settings / Locale Settings on OM)
results in:

   WHERE
      (T2.PRIV_FLG = 'N' AND T5.CON_EMP_FLG <> 'Y' AND T2.ACTIVE_FLG = 'Y') AND
      (T2.BIRTH_DT = CAST(? AS TIMESTAMP))
ObjMgrSqlLog    Detail 4       2004-05-04 09:07:46     Bind variable 1: 1-1U-252
ObjMgrSqlLog    Detail 4       2004-05-04 09:07:46     Bind variable 2: 1999-05-14 00:00:00
ObjMgrSqlLog    Detail 4       2004-05-04 09:07:46     


2.) Query String '9-9-66' (according to Regional Settings / Locale Settings on OM)
results in:

   WHERE
      (T2.PRIV_FLG = 'N' AND T5.CON_EMP_FLG <> 'Y' AND T2.ACTIVE_FLG = 'Y') AND
      (T2.BIRTH_DT = CAST(? AS TIMESTAMP))
ObjMgrSqlLog    Detail 4       2004-05-04 09:11:11     Bind variable 1: 1-1U-252
ObjMgrSqlLog    Detail 4       2004-05-04 09:11:11     Bind variable 2: 1966-09-09 00:00:00
ObjMgrSqlLog    Detail 4       2004-05-04 09:11:11     
***** SQL Statement Prepare Time: 0.003 seconds *****

...Continued

Message 2

...
3.) Querystring '1/5/99' or '14-14-1999':
results in:
SBL-DAT-00354 is executed
No SQL is spooled (handeled by OM)

4.) '121209'              SBL-DAT-00105 is executed ==> on db SQL 401 error is executed, no binding variable used
. . .
WHERE
      (T2.PRIV_FLG = 'N' AND T5.CON_EMP_FLG <> 'Y' AND T2.ACTIVE_FLG = 'Y') AND
      (T2.BIRTH_DT = 121209)
ObjMgrSqlLog    Detail 4       2004-05-04 09:10:03     Bind variable 1: 1-1U-252
ObjMgrSqlLog    Detail 4       2004-05-04 09:10:03      
***** SQL Statement Prepare Time: 0.003 seconds *****

SQLParseAndExecute      Execute 5       2004-05-04 09:10:04     0.105s
Error   Error   1       2004-05-04 09:10:04     SQLError: sqlstate 42818: [IBM][CLI Driver][DB2] SQL0401N The data types of the operands for the operation "" are not compatible. SQLSTATE=42818

Problem:
1. Behavior in the Find Applet should be the same than when querying in List Applets:
When querying in the Contact's List Applet for Birthdate, then when entering a wrong date format, an error message is displayed immediately.
This is not the case in the Find Applet
2. Bind variables should be used in each of the generated SQLs, otherwise the SQL is not reusable.

Is there any workaround on how this can be configured??

...

Message 3

...

Solution:
The behavior could be replicated against the Sample DB as described by the customer.

The behavior has been logged as Change Request 12-L5URHJ (No Bind Variable while searching for a Date Field in the Find Applet).

Currently a possible workaround would be to use scripting to validate the search strings entered in the Find Applet Fields.

It would be appropriate to instruct the users to enter valid Date Format strings, as these work fine and do not result in the described behavior.

Keywords:
Find Applet, Date, Fomat, Bind Variables, SQL

Thanks and Regards,

Symptoms

Statement of what the issue is
Using Siebel SIA 8.0.0.5 [20420] Universal Customer Master application with third party Trillium product for real-time data quality.

When attempting to match records with fields that contain a special character in them, for example, the apostrophe, ', the following error occurs:

ERROR
-----------------------
SBL-DAT-00354: The query could not be run because the criteria for field '' contained an invalid arithmetic expression. Please ensure that the search criteria is correctly formatted.

This error is often caused by a missing operator (e.g. = or <) or missing quotes. If you aren't sure what may have caused this please contact your systems administrator.

SBL-DAT-60236: Expression does not match any Siebel query language grammar rules.

STEPS
-----------------------
By following these steps the issue can be reproduced:
1. Set up the Universal Connector for data quality matching and set client/object manager to use the appropriate type
2. Set the real-time data matching settings in Administration - Data Quality > Data Quality Settings:
3. Amend the Account Token Expression and Account Query Expression to allow you to capture a suitable number of characters from the address
4. Logout and in again for changes to take effect
5. Enter two accounts e.g. Test Account with site 1 and Test Account with site 2
6. After the second account has been saved, the deduplication popup should show the first as a match
7. Check S_DQ_ORG_KEY table to make sure that Universal Connector is being used - there should be  two records with KEY_VALUE = _____T_____
8. Now add an address to one of them and save it, e.g.
      Street Address = A Place in the Sun
      City = Redwood Shores
      State = CA
      Zip Code = 11111
      Country = USA
9. Check the S_DQ_ORG_KEY table. The key should now be '11111TA PLA'
10. Now add an address with an apostrophe (') to the other account and save it, e.g.
      Street Address = A'Place in the Sun
      City = Redwood Shores
      State = CA
      Zip Code = 11111
      Country = USA
11. Receive the following error message:

[1] Invalid search specification '[DQ System Id] = '1-AIZ3' AND [Parent Id] LIKE '1-CF1T' AND [Key Value] NOT LIKE '11111TA'PLA''.
Please continue or ask your systems administrator to check your application configuration if the problem persists.(SBL-DAT-00501)

[2] Expression does not match any Siebel query language grammar rules. Unexpected token 'PLA' found at or near location 90.(SBL-DAT-60236)

EXPECTED BEHAVIOR
-----------------------
The customer expects that Siebel can handle special characters when performing data matching with third party products via the Universal Connector.

Cause

The cause was determined to be a new product defect.

The following two change requests were logged for this issue:

Bug 12-1V418BZ - SBL-DAT-60236 error message when using Universal Connector with an apostrophe
Bug 12-1V9U44R - UCM dedup token generation expression is causing BDM workflow to fail in 'CDM Match' step

The first (Bug 12-1V418BZ) addresses the real-time user interface scenario and the second (Bug 12-1V9U44R) addresses the integration scenario. The cause is that neither the search specification for the 'Key' business component (e.g. Account Key, Contact Key, Prospect Key) nor the 'Dedup Token' field in the Account, Contact or List Mgmt Prospective Contact business components can handle special characters.

Solution

The problem has been fixed in the following fix packs:

- 8.0.0.9 fix pack and higher

Alternatively, if you are unable to apply 8.0.0.9 fix pack or higher, the following quick fixes were built although they may not be available for all supported languages/operating systems:

- 8.0.0.7 QF0745
- 8.0.0.2 QF02C6/8.0.0.2 QF02D2 (both are needed)

References

BUG:12-1V418BZ - SBL-DAT-60236 ERROR MESSAGE WHEN USING UNIVERSAL CONNECTOR WITH AN APOSTROPHE
BUG:12-1V9U44R - UCM DEDUP TOKEN GENERATION EXPRESSION IS CAUSING BDM WORKFLOW TO FAIL IN 'CDM MATCH' STEP
NOTE:476946.1 - How Can You Implement a Replace String Function in eScript?

No comments:

Post a Comment