on 03-14-2016 4:23 PM
Hi ,
I am getting below error while refreshing report through parameter, using BO 4.1 SP5
1. Created new document
Request:http://xyz:6405/biprws/raylight/v1/documents
Method: POST
Body:
<document>
<name>sample</name>
<folderId>12644</folderId>
</document>
Accept: application/xml
Content-Type: application/xml
2. Added data providera
Request:
http://xyz:6405/biprws/raylight/v1/documents/2374/dataproviders
Method:POST
<dataprovider>
<name>"XYZ"</name>
<dataSourceId>3345</dataSourceId>
</dataprovider>
Accept: application/xml
Content-Type: application/xml
3. Saved document
Request:
http://xyz:6405/biprws/raylight/v1/documents/2374
Method:PUT
Accept: application/xml
Content-Type: application/xml
4. added query specification
Request:
http://xyz:6405/biprws/raylight/v1/documents/2374/DP0/specification
Method:PUT
Accept: application/xml
Content-Type: text/xml
<?xml version="1.0" encoding="UTF-8"?>
<queryspec:QuerySpec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:queryspec="http://com.sap.sl.queryspec" version="17" dataProviderId="DP0">
<queryParameters>
<duplicatedRowsProperty activated="true" value="true"/>
<maxRetrievalTimeInSecondsProperty value="0"/>
<maxRowsRetrievedProperty value="0"/>
<removeEmptyRowsProperty activated="true" value="true"/>
<allowOtherUserToEditQueryProperty activated="true" value="true"/>
<resetContextOnRefreshProperty activated="true" value="true"/>
<stripQueryProperty/>
<useBexQueryDefaultValue activated="true" value="true"/>
</queryParameters>
<queriesTree xsi:type="queryspec:QueryDataNode">
<bOQuery name="Query">
<resultObjects name="State"/>
<resultObjects name="Sales revenue"/>
<conditionPart/>
</bOQuery>
</queriesTree>
</queryspec:QuerySpec>
5. saved document again
saved successfully
6. Refreshing report
Request:
http://xyz:6405/biprws/raylight/v1/documents/2374/parameters
Method: GET
Accept: application/xml
Content-Type: application/xml
Getting below error at this stage
Agree with Daniel, it seems to be a security issue (the user you're using is not authorized to refresh data).
You do not have sufficient rights to refresh the query. Some objects are not available to your user profile. Contact your administrator to request the necessary rights. (IES 00002)
Anthony
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Dan and Anthony,
I am unable to manually refresh the document which I created using Restful by logged in with same user credentials in Launchpad however I am able to refresh other documents created manually based on same universe via both manual and via Restful procedure
The query specifications of both documents (manually created & created by Restful) are different, in case if I keep the query specifications as same then I am not getting any error while refreshing through Restful, below is the difference in query specifications which I have highlighted in bold , the reason I removed the identifiers in query specification while creating document using Restful is because I do not want to make those values as hard coded, example identifier="_lw0Mgu_8EeWqOIpeAlnjxA",
Please suggest is that the reason I am getting error? , are these identifiers are mandatory to be mentioned inside query specification? or Is there any other way I can create query specification without mentioning identifiers
Query Specification of Manually Created Document:
<?xml version="1.0" encoding="UTF-8"?>
<queryspec:QuerySpec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:queryspec="http://com.sap.sl.queryspec" version="17" dataProviderId="DP0">
<queryParameters>
<duplicatedRowsProperty activated="true" value="true"/>
<maxRetrievalTimeInSecondsProperty value="0"/>
<maxRowsRetrievedProperty value="0"/>
<removeEmptyRowsProperty activated="true" value="true"/>
<allowOtherUserToEditQueryProperty activated="true" value="true"/>
<resetContextOnRefreshProperty activated="true" value="true"/>
<stripQueryProperty/>
<useBexQueryDefaultValue activated="true" value="true"/>
</queryParameters>
<queriesTree xsi:type="queryspec:QueryDataNode">
<bOQuery name="Query" identifier="_B8nEUPAzEeWlBs_7wCFBmA">
<resultObjects identifier="_lw0Mgu_8EeWqOIpeAlnjxA" name="State"/>
<resultObjects identifier="_lw0Mg-_8EeWqOIpeAlnjxA" name="City"/>
<resultObjects identifier="_lw0zku_8EeWqOIpeAlnjxA" name="Sales revenue"/>
<conditionPart>
<conditionTree xsi:type="queryspec:ConditionDataNode" logicalOperator="Null">
<condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemIdentifier="_lw0Mgu_8EeWqOIpeAlnjxA" comparisonOperator="Equal">
<operands xsi:type="queryspec:QueryPromptOperand" optional="false" free="true" userPosition="0" persistent="true" question="Select State:" lovIdentifier="_lw0Mgu_8EeWqOIpeAlnjxA"/>
</condition>
</conditionTree>
</conditionPart>
</bOQuery>
</queriesTree>
</queryspec:QuerySpec>
Query Specification of Document Created using Restful:
<?xml version="1.0" encoding="UTF-8"?>
<queryspec:QuerySpec xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:queryspec="http://com.sap.sl.queryspec" version="17" dataProviderId="DP0">
<queryParameters>
<duplicatedRowsProperty activated="true" value="true"/>
<maxRetrievalTimeInSecondsProperty value="0"/>
<maxRowsRetrievedProperty value="0"/>
<removeEmptyRowsProperty activated="true" value="true"/>
<allowOtherUserToEditQueryProperty activated="true" value="true"/>
<resetContextOnRefreshProperty activated="true" value="true"/>
<stripQueryProperty/>
<useBexQueryDefaultValue activated="true" value="true"/>
</queryParameters>
<queriesTree xsi:type="queryspec:QueryDataNode">
<bOQuery name="Query">
<resultObjects name="State"/>
<resultObjects name="City"/>
<resultObjects name="Sales revenue"/>
<conditionPart>
<conditionTree xsi:type="queryspec:ConditionDataNode" logicalOperator="Null">
<condition xsi:type="queryspec:ComparisonCondition" conditionType="Comparison" itemName="State" comparisonOperator="Equal">
<operands xsi:type="queryspec:QueryPromptOperand" optional="false" free="true" userPosition="0" persistent="true" question="Select State:"/>
</condition>
</conditionTree>
</conditionPart>
</bOQuery>
</queriesTree>
</queryspec:QuerySpec>
Hi Sumanth.
The IDs of the result objects will be required as these ID's are also in the universe. You could potentially have two different objects with the same names, but the identifiers will be unique.
to see the identifiers for the objects in the universe, have a look at the response from the following:
GET /biprws/sl/v1/universes/3345
The ID's for State, City and Sales Revenue should match what is in the working queryspec.
Dan
Hello,
Yes identifiers are mandatory for result objects. Did you try to look at the query panel of the generated document through standard Webi client?
I guess, we should improve error checks when query specification are sent. There are still rooms for improvement in this world
Best regards,
Anthony
Hi Sumanth,
Are you able to refresh this Sample document in BI Launchpad when logged in as the same user in the REST app? It seems to be a permissions issue with refreshing the query.
If you can refresh the document in BI Launchpad, then try creating a new report in Launchpad with the same data source and same two result objects. Can you refresh this new document using the REST APIs? If so, compare the queryspec of this new document with the one you created with the REST APIs.
Dan
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.