cancel
Showing results for 
Search instead for 
Did you mean: 

Problem updating data provider query specification

Former Member
0 Kudos

Hello,

We are using the PUT request /biprws/raylight/v1/documents/{docID}/dataproviders/{dpID}/specification to update a query specification.

This query specification contains a filter in the condition portion which is NOT modified between the GET and the PUT, but returned precisely in the same place with the same definition:

<children xsi:type="queryspec:ConditionDataNode" logicalOperator="Null">
     <condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemIdentifier="_aP_W4AZZEeONKPO5vPjmZz" itemName="C Inscrit/Non inscrit" comparisonOperator="Equal">
          <operands xsi:type="queryspec:ConstantOperand">
               <members xsi:type="parameter:FlatValue">
                    <captionField value="1" type="Double"/>
               </members>
          </operands>
     </condition>
</children>
<br>

However, when we send this back in the PUT, it provokes an error 400 :

BO REST API error received : Argument non autorisé ("A filter contains a wrong value. You cannot run this query.")

When the filter is removed from the PUT, the error goes away.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Dan,

Here is the full stack trace:

ErrorCode: IES 00007
StackTrace: 
*** com.businessobjects.dsl.services.query.impl.QueryServiceImpl.getQueryExecutionPlan(QueryServiceImpl.java:274)

A filter contains a wrong value. You cannot run this query. (IES 00007)

*** com.businessobjects.semanticlayer.qt.internal.QTExceptionFactory.convertInternalException(QTExceptionFactory.java:12)


A filter contains a wrong value. You cannot run this query. (IES 00007)

*** com.businessobjects.semanticlayer.qt.internal.QTExceptionFactory.createInternalFromErrorId(QTExceptionFactory.java:16)


A filter contains a wrong value. You cannot run this query. (IES 00007)

com.businessobjects.dsl.services.query.QueryServiceException: A filter contains a wrong value. You cannot run this query. (IES 00007)


	at com.businessobjects.dsl.services.query.impl.QueryServiceImpl.getQueryExecutionPlan(QueryServiceImpl.java:274)
	at com.sap.sl.proxyconsumption.services.queryservice.QueryServiceImpl.generateExecutionPlan(QueryServiceImpl.java:203)
	at com.sap.sl.proxyconsumption.services.queryservice.QueryServiceImpl.generateExecutionPlan(QueryServiceImpl.java:151)
	at com.sap.sl.proxyconsumption.protobuf.rpc.QueryRpc$query.callMethod(QueryRpc.java:850)
	at com.sap.sl.proxyconsumption.services.server.DSLBridge.callService(DSLBridge.java:251)
	at com.sap.sl.proxyconsumption.services.server.DSLBridge.doIt(DSLBridge.java:167)
	at com.businessobjects.cdz_ext.slproxybridge.corba.ServerServant.doIt(ServerServant.java:123)
	at sun.reflect.GeneratedMethodAccessor238.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at com.businessobjects.framework.servers.platform.adapters.ebus.orb.CommonTransportInterceptor.invokeHelper(CommonTransportInterceptor.java:116)
	at com.businessobjects.framework.servers.platform.adapters.ebus.orb.CommonTransportInterceptor.invoke(CommonTransportInterceptor.java:89)
	at com.businessobjects.framework.servers.common.proxy.cglib.MethodInterceptorChain.intercept(MethodInterceptorChain.java:136)
	at com.crystaldecisions.enterprise.ocaframework.idl.OCA.OCAcdz.slproxybridge.serverPOA$$EnhancerByCGLIB$$f41c5110.doIt(<generated>)
	at com.crystaldecisions.enterprise.ocaframework.idl.OCA.OCAcdz.slproxybridge.serverPOA._OB_op_doIt(serverPOA.java:107)
	at com.crystaldecisions.enterprise.ocaframework.idl.OCA.OCAcdz.slproxybridge.serverPOA._invoke(serverPOA.java:83)
	at com.crystaldecisions.thirdparty.com.ooc.OBPortableServer.ServantDispatcher.dispatch(ServantDispatcher.java:234)
	at com.crystaldecisions.thirdparty.com.ooc.OBPortableServer.POA_impl._do_OB_dispatch(POA_impl.java:1980)
	at com.crystaldecisions.thirdparty.com.ooc.OBPortableServer.POA_impl._OB_dispatch(POA_impl.java:1916)
	at com.crystaldecisions.thirdparty.com.ooc.OB.DispatchRequest_impl.invoke(DispatchRequest_impl.java:122)
	at com.businessobjects.framework.servers.platform.adapters.ebus.orb.ThreadPoolDispatchStrategy$Dispatcher.run(ThreadPoolDispatchStrategy.java:271)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:812)

Caused by: com.businessobjects.semanticlayer.qt.QTException: A filter contains a wrong value. You cannot run this query. (IES 00007)
	at com.businessobjects.semanticlayer.qt.internal.QTExceptionFactory.convertInternalException(QTExceptionFactory.java:12)
	at com.businessobjects.semanticlayer.qt.internal.QueryGenerationServiceImpl.generateQueryExecutionPlan(QueryGenerationServiceImpl.java:623)
	at com.businessobjects.semanticlayer.qt.internal.QueryGenerationServiceImpl.generateQueryExecutionPlan(QueryGenerationServiceImpl.java:401)
	at com.businessobjects.dsl.services.query.impl.QueryServiceImpl.getQueryExecutionPlan(QueryServiceImpl.java:271)
	... 25 more


Caused by: com.businessobjects.semanticlayer.qt.internal.QTInternalException: A filter contains a wrong value. You cannot run this query. (IES 00007)
	at com.businessobjects.semanticlayer.qt.internal.QTExceptionFactory.createInternalFromErrorId(QTExceptionFactory.java:16)
	at com.businessobjects.semanticlayer.qt.sql.internal.SQLSelectGenerator.buildConstantOperand(SQLSelectGenerator.java:2805)
	at com.businessobjects.semanticlayer.qt.sql.internal.SQLSelectGenerator.buildOperand(SQLSelectGenerator.java:2479)
	at com.businessobjects.semanticlayer.qt.sql.internal.SQLSelectGenerator.buildOneCondition(SQLSelectGenerator.java:2103)
	at com.businessobjects.semanticlayer.qt.sql.internal.SQLSelectGenerator.writeConditionsTree(SQLSelectGenerator.java:1812)
	at com.businessobjects.semanticlayer.qt.sql.internal.SQLSelectGenerator.writeConditionsTree(SQLSelectGenerator.java:1851)
	at com.businessobjects.semanticlayer.qt.sql.internal.SQLSelectGenerator.buildRequestWhereConditions(SQLSelectGenerator.java:1802)
	at com.businessobjects.semanticlayer.qt.sql.internal.SQLSelectGenerator.buildWherePart(SQLSelectGenerator.java:1583)
	at com.businessobjects.semanticlayer.qt.sql.internal.SQLSelectGenerator.generateSelectClauses(SQLSelectGenerator.java:281)
	at com.businessobjects.semanticlayer.qt.sql.internal.SQLQueryTreeNode.generateDataSourceScript(SQLQueryTreeNode.java:340)
	at com.businessobjects.semanticlayer.qt.internal.QueryTreeNode.generateDataSourceScripts(QueryTreeNode.java:504)
	at com.businessobjects.semanticlayer.qt.sql.internal.SQLQueryGenerator.generateDataSourceScript(SQLQueryGenerator.java:1121)
	at com.businessobjects.semanticlayer.qt.sql.internal.SQLQueryGenerator.run(SQLQueryGenerator.java:405)
	at com.businessobjects.semanticlayer.qt.internal.QueryGenerationServiceImpl.generateQueryExecutionPlan(QueryGenerationServiceImpl.java:610)
daniel_paulsen
Active Contributor
0 Kudos

Hi Emily,

Can you enable the Stack Trace on the WACS server and get the full stack in the erroneous response and post it here? It may help narrow down where the issue is.

Dan

Former Member
0 Kudos

Hi,

Could you please confirm if the filter causing the issue is based on the result of another query in the Webi report?

Regards,
Amine.

Former Member
0 Kudos

Hi Amine,

The filter is based on a constant, and not on the result of another query in the WebI report.

Regards,

Emily