cancel
Showing results for 
Search instead for 
Did you mean: 

Why SAP BO BIP RWS does not update the query specification?

valerjans
Explorer
0 Kudos

With SAP BusinessObjects BI Platform 4.2 Support Pack 8 (Version: 14.2.8.3426)

the filter of the document data provider query can be successfully updated in BOE/BI - Design - Query Panel.

However, BI Platform Restful Web Service (RWS) does not update the filter (in data provider query specification).

For example, if xml data of the query specification is returned by RWS on the GET request with the path:

${#Project#RWS}/raylight/v1/documents/${#Project#DOC}/dataproviders/DP0/specification

and one letter of this data is changed - the question of the Prompt "Enter Code:" is changed to "Enter code:":

<operands xsi:type="queryspec:QueryPromptOperand" free="true" userPosition="0" persistent="true" question="Enter code:" lovIdentifier="DS0.DO14"/>

then on the PUT request with the changed xml data and with the same path:

${#Project#RWS}/raylight/v1/documents/${#Project#DOC}/dataproviders/DP0/specification

RWS gives response:

<success>

<message>The resource of type "Data provider" with identifier "DP0" has not been modified.</message>

<id>DP0</id>

</success>

So, how to know, why RWS says "has not been modified", if given data is modified?

valerjans
Explorer
View Entire Topic
daniel_paulsen
Employee
Employee

Hi Valerjans,

After you do the PUT, is the query specification changed if you do another GET of the specification?
If so, then this is a problem with the RESTful web service.

The problem is that the document State is not changed to "Modified" once you modify the dataprovider.
A possible workaround is to refresh the Dataprovider after making the change.

PUT ${#Project#RWS}/raylight/v1/documents/${#Project#DOC}/dataproviders/DP0/parameters

Dan

valerjans
Explorer
0 Kudos

Yes,

if GET specification request (see Getting the Query Specification - SAP Help Portal)

is done immediately after PUT specification request (see Updating the Query Specification - SAP Help Portal),

or after following PUT document request (with no body, see Updating the State of a Document - SAP Help Portal),

but before logoff (!),

then it gives the changed query specification.

However, after logoff an logon the GET specification request gives again the old version (without changes).

And yes,

GET document request shows that the document State is not changed to "Modified" -

after PUT specification (with changed xml data) and after PUT document (with no body) the document State still is "Original".

Also, thanks

for the good workaround (which works),

however,

it is not a solution of the problem.

Also if QueryPromptOperand is used, then "refresh the Dataprovider" needs answer on question, which is not always available.

Another working workaround is to create and/or refresh other data provider with other specification, which does not contain question and does not need answer.

And of course, there is also a workaround, when a new document with a new provider (with the same specification) is created.