While creating a new Web Intelligence report, these errors might occur: "AHD12002", "AHD03053", "IES 10901" and "WIS 10901". How to resolve this?

book

Article ID: 39754

calendar_today

Updated On:

Products

SUPPORT AUTOMATION- SERVER CA Service Desk Manager - Unified Self Service KNOWLEDGE TOOLS CA Service Management - Asset Portfolio Management CA Service Management - Service Desk Manager

Issue/Introduction

Problem:

While creating a new Web Intelligence report, these errors might occur: "AHD12002", "AHD03053", "IES 10901" and "WIS 10901". How to resolve this?

Database error: [DataDirect][ODBC OpenAccess SDK driver][OpenAccess SDK SQL Engine]AHD12002: Error in QueryHandler ServiceDesk-2008868447-5 in method fetch_response: AHD03053:Bad where clause: Parse error at : "xxxxxxxx" (syntax error). (IES 10901) (WIS 10901)

 

You can also see the following appearing at the SDM log files after setting below traces:

pdm_logstat -f sqlquery.c TRACE 

pdm_logstat -f odbc_backend.c TRACE 

 

AHD12002:Error in QueryHandler ServiceDesk-2008868447-5 in method fetch_response: AHD03053:Bad where clause: Parse error at : "( ( (open_date) BETWEEN '2016-03-01 12:00:00 am' AND '2016-03-17 12:54:02 pm' ) )" (syntax error) 

 

Environment:

SDM 14.1 / CABI 4.1

SDM 12.9 / CABI 3.1

 

Cause:

An error like this may happen when using some local variable (local variable on the webengine) but there is no database column at the MDB table. Whenever domsrvr encounters a local variable, it tries to do a sync_fetch call to bpvirtdb_srvr with arguments. It tries to do sync_fetch for the local variable with the argument provided, and since this is not a valid argument it throws a parse error.

For example: Try to create a report against cr.mintime,  which is a local variable on the webengine and there is no database column mintime for Call_Req table.  When you try to run such a report, you would see errors like below in the SDM log files:

SDMSERVER domsrvr 11364 MILESTONE sqlquery.c 838 Submitting SQL query ( ( (open_date) BETWEEN '2016-03-01 12:00:00 am' AND '2016-03-17 12:54:02 pm' ) ) to domsrvr cr sync_fetch: AHD12016:Attribute cr.mintime is a local VALUE 

SDMSERVER domsrvr 11364 ERROR where.y 908 Parse error at : "( ( (open_date) BETWEEN '2016-03-01 12:00:00 am' AND '2016-03-17 12:54:02 pm' ) )" (syntax error) 

SDMSERVER web:local 10864 TRACE odbc_backend.c 1007 Query 5 failed: AHD12002:Error in QueryHandler ServiceDesk-2008868447-5 in method fetch_response: AHD03053:Bad where clause: Parse error at : "( ( (open_date) BETWEEN '2016-03-01 12:00:00 am' AND '2016-03-17 12:54:02 pm' ) )" (syntax error) 

 

You might not see the error when there is no query filter, because the argument is NULL and domsrvr accepts it.

 

Resolution:

Local variables are only for usage at webengine level and not for the usage in a reporting scenario. You need to make sure that attributes created in the universe have a corresponding column in the database

 

Note: The attribute name in the database maybe different than the object name.  Refer to SDM Technical Reference Guide for this mapping

Environment

Release: SDMU0M99000-14.1-Service Desk Manager-Full License
Component: