on 03-14-2016 4:12 AM
Hi,
I am having a strange behavior where purging do not work correctly every time.
(1) PUT = http://<Servername>:6405/biprws/raylight/v1/documents/33280/dataproviders/DP0?purge=true
The above URL doesn't work, so i tried like below and it worked.
(2) PUT = http://<Servername>:6405/biprws/raylight/v1/documents/33280?purge=true
When i tried the same above URL (2) for another report it did not work. To make it work i have to first execute URL (1) and then URL (2).
Not clear what i should do? Do i have to execute both the URLs?
Appreciate your help.
Thanks,
Arun
hello Arun
1. Can you please detail your "The above URL doesn't work" for "PUT .../dataproviders/{dpId}?purge=true" ?
2. "?purge" is not implemented for "PUT .../documents/{docId}", hence the result is exactly the same as if you didn't provide the extra URL parameter "?purge=true".
3. What version are you running? ("GET ../raylight/v1/about")
Regards,
eric
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Eric,
Thanks for the reply.
1) I am trying to purge the report using a JSP code. When i am using this PUT .../dataproviders/{dpId}?purge=true" ? the report doesn't get purged.
2) What do you suggest? Which one should i go for, first or second one -
PUT = http://<Servername>:6405/biprws/raylight/v1/documents/33280/dataproviders/DP0?purge=true
PUT = http://<Servername>:6405/biprws/raylight/v1/documents/33280?purge=true
3) Will check and let you know.
Thanks,
Arun
Hi Arun,
When you purge the dataprovider (PUT ../documents/33280/dataproviders/DP0?purge=true ), How are you determining that it does not work? Does the request fail with an error or are you opening the document from BI Launchpad to see if it worked?
I'm guessing that you are opening the report in BI Launchpad based on your description because the second method (PUT .../documents/33280 ) will save the changes back to the report. As Eric mentioned, the "?purge=true" will simply be ignored on this call since it is not valid.
Any changes you make to a document using the REST APIs, will not be visible when opening the document in Launchpad until the changes are saved back to the CMS repository. This would explain the scenario you described in your initial post.
PUT /documents/33280/dataproviders/DP0?purge=true will purge the dataprovider, but this is a cached copy of the report, so the original document template remains unchanged until you save your changes back to the CMS with the second call.
Dan
To save the document back to the CMS, the API is:
PUT .../documents/<docId>
If you do not put any body into the request, the document is saved and still remains open in the REST session. If you have not made any changes to the document, then its state is still "Original" and nothing gets modified. What the PUT method does depends on the state of the document. You can retrieve its state with GET .../documents/<docId>.
A document can be in one of 3 states: Unused: (it has not yet been opened from the server)
Original: (it has been opened but not modified)
Modified: (it has been opened and changed)
For a detailed explanation of managing the state of a document, see "Updating the State of a Document" in the documentation (section 8.1.6)
Dan
Hi Arun,
No, that is not correct. A document can have many reports with only a single dataprovider. The Dataprovider is added at the document level.
DP0, DP1, DP2 etc are just identifiers of the dataprovider(s) in a webi document. when you create a webi document, it adds DP0. If you add a second dataprovider or change dataproviders, the new one will be DP1.
Adding a dataprovider means the report will now return two dataproviders, DP0 and DP1.
In a document with only one dataprovider, DP0, the identifier will change to DP1 if you change dataproviders in the webi document and DP0 will no longer exist.
The DPid will continue to increment as dataproviders are added or changed, but it has nothing to do with the number of reports that exist in the document.
Dan
Thanks Dan.
Don't have much experience in RESTFUL, but going by what i have done restful seems much more complicated than JAVA SDK. There is no straight forward solution that can be implemented for business users. SAP should have some thing like the earlier document.purge() instead of going through DP0, DP1, <state> etc. Being complicated is the exact reason why Xcelsius dashboard is getting replaced by Tableau and Qlikview, soon some one will come up with an alternative for BO as well.
User | Count |
---|---|
96 | |
11 | |
11 | |
10 | |
9 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.