I'm puzzled: I have ListGrid with a Filter. Depending on which column's Filter Editor is used, sometimes the ListGrid.Criteria is included, and sometimes it's omitted.
As the Criteria are always required at the OperationBinding (per business rule), changes to some Filter Editors are submitting an incomplete SQL query.
Here's my ListGrid, with notations re which ListGridFields include/omit the ListGrid Criteria:
Here are the ListGridFields for which the ListGrid Criteria are included when their Filter Editor criteria are submitted (SUCCESS):
The DateTime ListGridFields OMIT the ListGrid Criteria when their Filter Editor criteria are submitted (FAIL):
And here are the ListGridFields for which the ListGrid Criteria may or may not be OMITTED, depending on how their Filter Editors are configured:
Here is the OperationBinding:
Here is server log output when the ListGrid Criteria are properly included: "WHERE employee.org_id IN ( '43', '44' )"...
...and when the ListGrid Criteria are not included: "WHERE employee.org_id IN ( )"...
Here is SGWT Console RPC info from a Filter query with FAILURE status:
REQUEST: RPCRequest
REQUEST: Raw
REQUEST: DSRequest
RESPONSE: Raw
Your guidance is appreciated, thanks.
---------------------------------
SmartClient Version: v9.0p_2013-12-01/PowerEdition Deployment (built 2013-12-01)
IE 8
As the Criteria are always required at the OperationBinding (per business rule), changes to some Filter Editors are submitting an incomplete SQL query.
Here's my ListGrid, with notations re which ListGridFields include/omit the ListGrid Criteria:
Code:
ListGrid listGrid = new ListGrid(ds_Requests) { // DetailViewer code here... { setFetchOperation("fetch_ListGrid_onModuleLoad_Filter"); setAutoFetchData(true); setShowFilterEditor(true); // Restrict the ListGrid to show only ORG_IDs the Approver is allowed to see. Criteria criteria = new Criteria(); criteria.addCriteria("ORG_ID_ARRAY", approver.getPermittedOrgIds()); // Integer[] // Apply the Criteria to the ListGrid... setCriteria(criteria); // ...and to the ListGrid Filter too setFilterEditorCriteria(criteria); setSelectionAppearance(SelectionAppearance.CHECKBOX); setSelectionType(SelectionStyle.SINGLE); setFields( // SUCCESS: ListGrid Criteria are included on Filter Search // FAIL: ListGrid Criteria are omitted // Shown Columns make_ListGridField_RequestId(), // SUCCESS make_ListGridField_LeaveCode(), // SUCCESS make_ListGridField_Name(), // SUCCESS make_ListGridField_DateTime("STARTDATETIME", "From..."), // FAIL make_ListGridField_DateTime("ENDDATETIME", "...Thru"), // FAIL make_ListGridField_DateTime("SUBMITDATETIME", "Submitted"), // FAIL make_ListGridField_Status(), // w/o FilterEditor SUCCESS, w/ FilterEditor FAIL make_ListGridField_FormCs180(), // *SUCCESS when assigned non-default Filter Editor // Hidden Columns make_ListGridField_Hidden("EMAIL"), // SUCCESS when shown make_ListGridField_Hidden("DESCRIPTION"), // SUCCESS when shown make_ListGridField_Hidden_GroupBy("APPROVER_NAME", "Approver"), // SUCCESS when shown make_ListGridField_Hidden_GroupBy("SUBGROUP", "Group"), // SUCCESS when shown make_ListGridField_Hidden("PAYNOPAY"), // SUCCESS when shown make_ListGridField_Requestor_OrgId(), // N/A: Filter ignores, uses ListGrid Criteria // for ORG_ID make_ListGridField_Hidden("REASON"), // SUCCESS when shown make_ListGridField_Hidden("NUMHOURS") // SUCCESS when shown ); groupBy("SUBGROUP", "APPROVER_NAME"); setSortField("STARTDATETIME"); ... } }
Code:
/****************************** make_ListGridField_RequestId ******************************/ private ListGridField make_ListGridField_RequestId() { // Column for REQUESTS.REQUEST_ID ListGridField lgf_RequestId = new ListGridField("REQUEST_ID", "Request #") { { setWidth("80px"); setAlign(Alignment.CENTER); setCellAlign(Alignment.RIGHT); // setCanEdit(false); // Column Header Filter Control setFilterEditorProperties(new SpinnerItem() { { setKeyPressFilter("[0-9]"); } }); // Add commas for readability, e.g. "1,234" setCellFormatter(new CellFormatter() { @Override public String format(Object value, ListGridRecord record, int rowNum, int colNum) { if (value == null) return null; try { NumberFormat nf = NumberFormat.getFormat("###,###,###,###"); return nf.format(((Number) value).doubleValue()); } catch (Exception e) { return value.toString(); } } }); } }; return lgf_RequestId; }// make_ListGridField_RequestId /****************************** make_ListGridField_LeaveCode ******************************/ private ListGridField make_ListGridField_LeaveCode() { // Column for REQUESTS.LEAVECODE ListGridField lgf_LeaveCode = new ListGridField("LEAVETYPE", "Code") { { setWidth(80); setAlign(Alignment.CENTER); setCanEdit(false); setFilterEditorProperties(new SelectItem() { { setOptionDataSource(ds_LeaveCodes); setMultiple(true); // This SelectItem has three "columns" (ListGridFields) // 1) Checkboxes setMultipleAppearance(MultipleAppearance.PICKLIST); // 2) Leave Code (e.g., "VAT") final ListGridField lgf_LeaveCode = new ListGridField("LEAVETYPE", "Code"); lgf_LeaveCode.setWidth(42); lgf_LeaveCode.setAlign(Alignment.CENTER); // 3) Leave Description (e.g., "Vacation Taken") final ListGridField lgf_LeaveDescription = new ListGridField("DESCRIPTION"); lgf_LeaveDescription.setWidth(200); lgf_LeaveDescription.setAlign(Alignment.CENTER); lgf_LeaveDescription.setCellAlign(Alignment.LEFT); // Now add the ListGridFields to the SelectItem setPickListFields(lgf_LeaveCode, lgf_LeaveDescription); setSortField("LEAVETYPE"); } }); } }; return lgf_LeaveCode; }// make_ListGridField_LeaveCode /****************************** make_ListGridField_Name ******************************/ private ListGridField make_ListGridField_Name() { // Column for EMPLOYEE.NAME ListGridField lgf_Name = new ListGridField("NAME", "Requestor") { { setOptionDataSource(ds_Employee); // setValueField("EMPLOYEE_ID"); // setDisplayField("NAME"); setWidth("130px"); setAlign(Alignment.CENTER); setCellAlign(Alignment.LEFT); // setCanEdit(false); setFilterEditorProperties(new SelectItem() { { setOptionDataSource(ds_Employee); setOptionOperationId("filterItem_Names"); setSortField("NAME"); setMultiple(true); setMultipleAppearance(MultipleAppearance.PICKLIST); setAllowEmptyValue(true); } }); } }; return lgf_Name; }// make_ListGridField_Name /*************************************** make_ListGridField_Hidden ***************************************/ protected ListGridField make_ListGridField_Hidden(String name) { // Hidden Column: Data not shown in ListGrid, but available for DetailViewer & Selection Handlers ListGridField lgf_Hidden = new ListGridField(name) { { setHidden(true); } }; return lgf_Hidden; }// make_ListGridField_Hidden /*************************************** make_ListGridField_Hidden_GroupBy ***************************************/ protected ListGridField make_ListGridField_Hidden_GroupBy(String name, final String groupTitle) { ListGridField lgf_ApproverName = new ListGridField(name) { { // Use value for Approve/Disapprove actions, but don't show in ListGrid setHidden(true); // Put 'Title: ' prompt in front of grouped items setGroupTitleRenderer(new GroupTitleRenderer() { @Override public String getGroupTitle(Object groupValue, com.smartgwt.client.widgets.grid.GroupNode groupNode, ListGridField field, String fieldName, ListGrid grid) { String rowTitle = groupTitle + ": " + groupValue; return rowTitle; } }); } }; return lgf_ApproverName; }// make_ListGridField_Hidden_GroupBy
Code:
/*************************************** make_ListGridField_DateTime ***************************************/ protected ListGridField make_ListGridField_DateTime(String name, String title) { // Column for REQUESTS.STARTDATETIME ListGridField lgf_DateTime = new ListGridField(name, title) { { setType(ListGridFieldType.DATE); setAlign(Alignment.CENTER); setWidth("170px"); setCanEdit(true); // Apply Formatter to DateTime column setCellFormatter(new CellFormatter() { public String format(Object value, ListGridRecord record, int rowNum, int colNum) { if (value != null) { try { Date dateValue = (Date) value; // Timestamp dateValue = (Timestamp) value; // Nope! return dateTimeFormatter.format(dateValue); } catch (Exception e) { return value.toString(); } } else { return ""; } } }); } }; return lgf_DateTime; }// make_ListGridField_DateTime
Code:
/****************************** make_ListGridField_Status ******************************/ private ListGridField make_ListGridField_Status() { // Column for REQUESTS.STATUS ListGridField lgf_Status = new ListGridField("STATUS") { { setWidth("80px"); setAlign(Alignment.CENTER); // setCanEdit(true); // SUCCESS: If the Filter Editor is removed, then ListGrid Criteria are included. // FAIL: If this Filter Editor is enabled, then ListGrid Criteria are OMITTED. setFilterEditorProperties(new SelectItem() { { setOptionDataSource(ds_Requests); setOptionOperationId("filterItem_Status"); // Override default LIKE operator, lest "approved" also retrieve "disapproved" setOperator(OperatorId.EQUALS); setSortField("STATUS"); setMultiple(true); setMultipleAppearance(MultipleAppearance.PICKLIST); } }); } }; return lgf_Status; }// make_ListGridField_Status /****************************** make_ListGridField_FormCs180 ******************************/ private ListGridField make_ListGridField_FormCs180() { // Cool example code re how to place graphic in Column Header: // http://www.smartclient.com/smartgwt/showcase/#grid_top_header String title_FormCs180; title_FormCs180 = Canvas.imgHTML(GWT.getModuleBaseURL() + "Acrobat.png"); // Column for REQUESTS.FORM_CS180 ListGridField lgf_FormCs180 = new ListGridField("FORM_CS180", title_FormCs180) { { setType(ListGridFieldType.IMAGEFILE); setAlign(Alignment.CENTER); // Kludge: Fix column width to be wide enough to show View/Download icons ONLY. // Voilą: De facto suppression of '_filename' field text. // Posted to SGWT Support Forum as // http://forums.smartclient.com/showthread.php?p=95311#post95311 setWidth("38px"); // Disable remaining built-in column-header controls... setCanDragResize(false); setCanSort(false); setShowDefaultContextMenu(false); setShowHover(false); // Hack: If you setCanFilter(false), the default Filter Editor Type (ViewFileItem File Picker) // returns null, which blows up the Filter query. The workaround is to set a non-default // Filter Editor Type, then not use it. // Posted @ http://forums.smartclient.com/showthread.php?t=28708 setFilterEditorProperties(new SelectItem()); setCanFilter(false); } }; return lgf_FormCs180; }// make_ListGridField_FormCs180
Code:
<operationBinding appScreen="Review" operationType="fetch" operationId="fetch_ListGrid_onModuleLoad_Filter"> <selectClause> requests.request_id, requests.leavetype, leavecodes.description, employee.name, requests.startdatetime, requests.enddatetime, requests.submitdatetime, requests.status, employee.email, leavecodes.description, employee.approver_name, org.subgroup, requests.FORM_CS180, requests.FORM_CS180_date_created, requests.FORM_CS180_filename, requests.FORM_CS180_filesize, requests.paynopay, employee.org_id, requests.reason, requests.numhours </selectClause> <tableClause> requests JOIN leavecodes ON requests.leavetype = leavecodes.leavetype JOIN employee ON requests.employee_id = employee.employee_id JOIN org ON employee.org_id = org.org_id </tableClause> <whereClause> employee.org_id IN ( #foreach($org_id in $criteria.ORG_ID_ARRAY)'$org_id'#if( $velocityCount != $criteria.ORG_ID_ARRAY.size()),#end #end ) AND ${defaultWhereClause} </whereClause> </operationBinding>
Code:
=== 2013-12-06 09:03:06,859 [0-15] DEBUG SQLDataSource - [builtinApplication.fetch_ListGrid_onModuleLoad_Filter] JDBC driver windowed select rows 0->75, result size 75. Query: SELECT requests.request_id, requests.leavetype, leavecodes.description, employee.name, requests.startdatetime, requests.enddatetime, requests.submitdatetime, requests.status, employee.email, leavecodes.description, employee.approver_name, org.subgroup, requests.FORM_CS180, requests.FORM_CS180_date_created, requests.FORM_CS180_filename, requests.FORM_CS180_filesize, requests.paynopay, employee.org_id, requests.reason, requests.numhours FROM requests JOIN leavecodes ON requests.leavetype = leavecodes.leavetype JOIN employee ON requests.employee_id = employee.employee_id JOIN org ON employee.org_id = org.org_id WHERE employee.org_id IN ( '43', '44' ) AND ('1'='1')
Code:
=== 2013-12-06 08:30:21,046 [0-12] INFO SQLDriver - [builtinApplication.fetch_ListGrid_onModuleLoad_Filter] Executing SQL query on 'MyDatabase': SELECT COUNT(*) FROM requests JOIN leavecodes ON requests.leavetype = leavecodes.leavetype JOIN employee ON requests.employee_id = employee.employee_id JOIN org ON employee.org_id = org.org_id WHERE employee.org_id IN ( ) AND (('1'='1' OR '1'='1') AND (REQUESTS.STARTDATETIME >= TO_DATE('2013-12-05 00:00:00','YYYY-MM-DD HH24:MI:SS') AND REQUESTS.STARTDATETIME IS NOT NULL) AND ((REQUESTS.STATUS = 'approved' AND REQUESTS.STATUS IS NOT NULL))) === 2013-12-06 08:30:21,046 [0-12] WARN RequestContext - dsRequest.execute() failed: java.sql.SQLException: ORA-00936: missing expression at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:113) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:754) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:210) at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:804) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1051) at oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:845) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1156) at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1315) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:208) at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:604) at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:533) at com.isomorphic.sql.SQLDriver.getTransformedResults(SQLDriver.java:526) at com.isomorphic.sql.SQLDriver.getScalarResult(SQLDriver.java:690) at com.isomorphic.sql.SQLDriver.executeScalar(SQLDriver.java:924) at com.isomorphic.sql.SQLDataSource.runRowCountQuery(SQLDataSource.java:2463) at com.isomorphic.sql.SQLDataSource.executeWindowedSelect(SQLDataSource.java:1887) at com.isomorphic.sql.SQLDataSource.SQLExecute(SQLDataSource.java:1542) at com.isomorphic.sql.SQLDataSource.processRequest(SQLDataSource.java:408) at com.isomorphic.sql.SQLDataSource.executeFetch(SQLDataSource.java:352) at com.isomorphic.datasource.DataSource.execute(DataSource.java:1447) at com.isomorphic.application.AppBase.executeDefaultDSOperation(AppBase.java:723) at com.isomorphic.application.AppBase.executeAppOperation(AppBase.java:658) at com.isomorphic.application.AppBase.execute(AppBase.java:491) at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:2431) at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:215) at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:172) at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:137) at com.isomorphic.servlet.IDACall.doPost(IDACall.java:73) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1097) at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:260) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:324) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:205) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
REQUEST: RPCRequest
Code:
{ "actionURL":"http://localhost:8888/AbsenceRequestOnline/sc/IDACall", "showPrompt":true, "prompt":"Finding Records that match your criteria...", "transport":"xmlHttpRequest", "promptStyle":"cursor", "bypassCache":true, "data":{ "criteria":{ "operator":"and", "_constructor":"AdvancedCriteria", "criteria":[ { "fieldName":"STARTDATETIME", "operator":"greaterOrEqual", "value":"2013-12-05" }, { "operator":"iContains", "fieldName":"ORG_ID_ARRAY", "value":[ 43, 44 ] } ] }, "operationConfig":{ "dataSource":"REQUESTS", "repo":null, "operationType":"fetch", "textMatchStyle":"substring" }, "startRow":0, "endRow":75, "componentId":"isc_Demo_ListGridFilter_4_0", "appID":"builtinApplication", "operation":"fetch_ListGrid_onModuleLoad_Filter", "oldValues":{ "operator":"and", "_constructor":"AdvancedCriteria", "criteria":[ { "fieldName":"STARTDATETIME", "operator":"greaterOrEqual", "value":"2013-12-05" }, { "operator":"iContains", "fieldName":"ORG_ID_ARRAY", "value":[ 43, 44 ] } ] } } }
Code:
isc_tnum=3&_transaction=%3Ctransaction%20xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2F10%2FXMLSchema-instance%22%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3CtransactionNum%20xsi%3Atype%3D%22xsd%3Along%22%3E3%3C%2FtransactionNum%3E%3Coperations%20xsi%3Atype%3D%22xsd%3AList%22%3E%3Celem%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3Ccriteria%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3Coperator%3Eand%3C%2Foperator%3E%3C_constructor%3EAdvancedCriteria%3C%2F_constructor%3E%3Ccriteria%20xsi%3Atype%3D%22xsd%3AList%22%3E%3Celem%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3CfieldName%3ESTARTDATETIME%3C%2FfieldName%3E%3Coperator%3EgreaterOrEqual%3C%2Foperator%3E%3Cvalue%20xsi%3Atype%3D%22xsd%3Adate%22%3E2013-12-05%3C%2Fvalue%3E%3C%2Felem%3E%3Celem%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3Coperator%3EiContains%3C%2Foperator%3E%3CfieldName%3EORG_ID_ARRAY%3C%2FfieldName%3E%3Cvalue%20xsi%3Atype%3D%22xsd%3AList%22%3E%3Celem%20xsi%3Atype%3D%22xsd%3Along%22%3E43%3C%2Felem%3E%3Celem%20xsi%3Atype%3D%22xsd%3Along%22%3E44%3C%2Felem%3E%3C%2Fvalue%3E%3C%2Felem%3E%3C%2Fcriteria%3E%3C%2Fcriteria%3E%3CoperationConfig%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3CdataSource%3EREQUESTS%3C%2FdataSource%3E%3CoperationType%3Efetch%3C%2FoperationType%3E%3CtextMatchStyle%3Esubstring%3C%2FtextMatchStyle%3E%3C%2FoperationConfig%3E%3CstartRow%20xsi%3Atype%3D%22xsd%3Along%22%3E0%3C%2FstartRow%3E%3CendRow%20xsi%3Atype%3D%22xsd%3Along%22%3E75%3C%2FendRow%3E%3CcomponentId%3Eisc_Demo_ListGridFilter_4_0%3C%2FcomponentId%3E%3CappID%3EbuiltinApplication%3C%2FappID%3E%3Coperation%3Efetch_ListGrid_onModuleLoad_Filter%3C%2Foperation%3E%3ColdValues%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3Coperator%3Eand%3C%2Foperator%3E%3C_constructor%3EAdvancedCriteria%3C%2F_constructor%3E%3Ccriteria%20xsi%3Atype%3D%22xsd%3AList%22%3E%3Celem%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3CfieldName%3ESTARTDATETIME%3C%2FfieldName%3E%3Coperator%3EgreaterOrEqual%3C%2Foperator%3E%3Cvalue%20xsi%3Atype%3D%22xsd%3Adate%22%3E2013-12-05%3C%2Fvalue%3E%3C%2Felem%3E%3Celem%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3Coperator%3EiContains%3C%2Foperator%3E%3CfieldName%3EORG_ID_ARRAY%3C%2FfieldName%3E%3Cvalue%20xsi%3Atype%3D%22xsd%3AList%22%3E%3Celem%20xsi%3Atype%3D%22xsd%3Along%22%3E43%3C%2Felem%3E%3Celem%20xsi%3Atype%3D%22xsd%3Along%22%3E44%3C%2Felem%3E%3C%2Fvalue%3E%3C%2Felem%3E%3C%2Fcriteria%3E%3C%2FoldValues%3E%3C%2Felem%3E%3C%2Foperations%3E%3C%2Ftransaction%3E&protocolVersion=1.0
Code:
{ dataSource:"REQUESTS", operationType:"fetch", operationId:"fetch_ListGrid_onModuleLoad_Filter", componentId:"isc_Demo_ListGridFilter_4_0", data:{ operator:"and", criteria:[ { fieldName:"STARTDATETIME", operator:"greaterOrEqual", value:"2013-12-05" }, { operator:"iContains", fieldName:"ORG_ID_ARRAY", value:[ 43, 44 ] } ] }, startRow:0, endRow:75, textMatchStyle:"substring", resultSet:[ResultSet ID:isc_ResultSet_0 (created by: isc_Demo_ListGridFilter_4_0)], callback:{ caller:[ResultSet ID:isc_ResultSet_0 (created by: isc_Demo_ListGridFilter_4_0)], methodName:"fetchRemoteDataReply" }, willHandleError:true, showPrompt:true, prompt:"Finding Records that match your criteria...", oldValues:{ operator:"and", criteria:[ { fieldName:"STARTDATETIME", operator:"greaterOrEqual", value:"2013-12-05" }, { operator:"iContains", fieldName:"ORG_ID_ARRAY", value:[ 43, 44 ] } ] }, requestId:"REQUESTS$6275", clientContext:{ requestIndex:2 }, fallbackToEval:false, lastClientEventThreadCode:"TMR7", bypassCache:true }
Code:
[ { data:"ORA-00936: missing expression\n", invalidateCache:false, isDSResponse:true, queueStatus:-1, status:-1 } ]
---------------------------------
SmartClient Version: v9.0p_2013-12-01/PowerEdition Deployment (built 2013-12-01)
IE 8