Skip to Content
0

Problem updating data provider query specification

Jan 24, 2017 at 03:06 PM

78

avatar image
Former Member

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.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

3 Answers

avatar image
Former Member Jan 25, 2017 at 11:48 AM
0

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.

Show 1 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Hi Amine,

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

Regards,

Emily

0
Daniel Paulsen
Jan 26, 2017 at 12:01 AM
0

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

Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member Jan 26, 2017 at 07:58 AM
0

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)
Share
10 |10000 characters needed characters left characters exceeded