Skip to Content
0

Missing dataSourceId tag in xml while retrieving document details using RESTful SDK

Feb 09 at 08:20 AM

87

avatar image

Hi!

When we use the RESTful API to check the reports dataSourceId tag, almost three thousand of 8000 miss this tag.

I tried this solution: https://launchpad.support.sap.com/#/notes/0002274678

  1. Open the problematic report in Web Intelligence Rich Client.
  2. GoTo DataAccess -> Tools -> Change Source -> Select the dataprovider -> Specify a new data source -> Select the same Universe on which the report was built previously -> Click on Change -> Next -> Finish.
  3. Save the report and publish it back to the Enterprise.
  4. While publishing you will get a popup like "Do you want to overwrite the existing Report", click on Yes.
  5. Then try the Restful call and see if you get the datasource id. URL: GET: http://<serverName>:6405/biprws/raylight/vx/documents/{documentId}/dataproviders

But I cannot do this for 3000 reports, I have no time, so, I tried to use the API again. I used the Data Provider API to updating the Data Providers but It doesn't work.

http://host:6405/biprws/raylight/v1/documents/<documentID>/dataproviders/<dataProviderID>?purge=<purge>&purgeOptions=<purgeOptions>

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

3 Answers

Best Answer
Ayman Salem Feb 14 at 02:51 AM
0

Because the ID / CUID for the data source may be different between the old and new system, you can do the following:

- 1) get the Data Source Name (Universe Name) for each Data Provider / Report from your Old system.

- 2) From the New System, find the source ID / CUID that refers to the universe name (you can perform this task using the Query Builder "AdminTools").

- 3) set SourceID for each Data Provider / Report

For information about setting / changing the Universe SourceID, see the example "ChangeSourceSample.java" under \SAP BusinessObjects Enterprise XI 4.0\Samples\webi\RaylightRESTWS_Samples.zip

Regards,

Ayman

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

there is also a sample application that repoints the datasource for multiple documents. It may help.

https://blogs.sap.com/2016/09/13/tool-that-uses-the-webi-sdk-to-perform-a-change-source-of-multiple-webi-documents-in-an-automated-way/

Dan

0
Ayman Salem Feb 09 at 11:41 AM
1

Hi,

The problem is missing the DataSource (due to migration without selecting all dependencies), not the Data Values of the Data Provider.

so you should set the data source not to purge the data in Data Provider.

Therefore, you should use the API to set the Data Source, not to clean up the data in the Data Provider

Regards,

Ayman

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

Hi Ayman.

Sorry for delay, I had no time until now to do this. Now, I've resumed that duty.

I'm reading your answer again, so I have a question. You said: "you should use the API to set the Data Source, not to clean up the data in the Data Provider"

But... How would I do this for a set of reports if I don't know the reports DataSourceId tag?

Thanks!

0
Gonzalo Marquez Salamanca Feb 09 at 01:40 PM
0

Thanks a lot, Ayman.

Yes, the isuue cames from a migration. I tried to use the API Method "Adding a Data Provider":

http://host:6405/biprws/raylight/v1/documents/<documentID>/dataproviders

but the problem is that we don´t know the reports DataSourceId tag.

Do you know a API Method to do that you say?

Thanks!

Share
10 |10000 characters needed characters left characters exceeded