I wanna get report universe via api, steps as described below
- Open report document
DataProvider dp = dps.getItem(i); //get report data providers
DataSource ds = dp.getDataSource(); //get data source
universe.setFilePath(ds.getDomainName() + "/"+dp.getSource()+".unv"); //get datasource -- universe domain/path
mostly, I got correct data like this /DEV_folder/testUNV.unv
seldomly, the result is null/testUNV.unv
or \DEV_folder\testUNV.unv
any idea why?
Business Objects server version is Enterprise XI 3.1 SP7, using java SDK
Thank you Joe. But this may not solve my problem, you provide 3 possibilities, see my comments below
The universe is not in a folder — No, reports using the same universe, one can get path, the other one cannot
The universe is in a folder that you don't have access to (although you have access to the universe) — No, reports using same universe, which I have read and write privilege.
The data source is not a universe — it is a universe.
Sorry I cannot provide screenshot due to lack of reputations.
Contract - 4th Party Supplier Consent Form Report
/eSourcing_Dev/Contract.unv
/eSourcing_Dev/Project Save.unv
Contract 4th Party Supplier Consent Form Report
null/Contract.unv
null/Project Save.unv
Contract - 4th Party Supplier Consent Form Report and Contract 4th Party Supplier Consent Form Report connect to the same universes, Contract.unv and Project Save.unv, but the path display null.
If I open Contract 4th Party Supplier Consent Form Report on BO Infoview and just save the report again, then I can get the correct path.
Report Name
Project ? Milestones
Universe
/eSourcing/Project Save.unv
\eSourcing/Project Save.unv
Project ? Milestones report get 2 different path
/eSourcing/Project Save.unv
\eSourcing/Project Save.unv
they should be one report, 2 query(2 data provider), using the same universe.
I already provided actual code/API I used, loop omitted. Please check the steps I described. What I am trying to do is get all the reports and their universe in a batch.