on 04-22-2015 6:13 PM
Hi all,
Can anyone tell me which jar can I import to open/modify and retrieve data (Objects, Queries...) a Desktop Intelligence document?
For Web intelligence document I use jars that are located in : Installation Drive of BO\Program Files\Business Objects\common\4.0\java\lib
Thanks for replay.
Hi Hajer,
Desktop Intelligence documents are partially supported through Report Engines SDKs in XI 3.1. You can only perform the following through Report Engine Java SDKs:
1. Viewing
2. Refreshing
3. Analyzing
For handling Desktop intelligence through Report Engine SDKs, you have to get the Full Client Report Engine services like below:
reportEngine = reportEngines.getService( ReportEngineType.FC_ReportEngine);
The jars are same that you are using for handling Webi documents, as we only have to change the report engine service type for handling the desktop intelligence documents.
Please refer some of the sample codes from the link & developer guide to get an idea how to handle the Desktop intelligence documents & what are the difference in handling the desktop intelligence documents from the Web intelligence document through RE Java SDKs.
The developer guide have all the information to set up the development environment & what jars are needed to setup the build path.
Hope this helps.
Thanks,
Shailendra
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Shailendra
Thanks for your replay.
I've already tested all this, but I get blocked some where:
This is the query I use to extract Webi and Deski :
query = "select SI_ID,SI_CUID,SI_NAME,SI_PATH from CI_INFOOBJECTS "
+ "where SI_KIND in ('Webi','FullClient') AND SI_RUNNABLE_OBJECT ='" + 0
+ "' AND SI_INSTANCE_OBJECT = 0 "
+ "AND ( SI_ANCESTOR = 18 OR SI_ANCESTOR = 23 ) "
+ "ORDER BY SI_CUID ";
Then as you say I Choose the service according to the document type :
infoObject = (IInfoObject) infoObjects.get(0);
String kind = infoObject.getKind();
if (kind.equalsIgnoreCase("Webi")){
// Retrieve the Report Engine for Web Intelligence documents
wiRepEngine = (ReportEngine) getReportEngines().getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);
}else if (kind.equalsIgnoreCase("FullClient")){
wiRepEngine = (ReportEngine) getReportEngines().getService(ReportEngines.ReportEngineType.FC_REPORT_ENGINE);
}
Afterwards, I Opened the document and retrieve DataProviders: (That works both for Webi and Deski)
DocumentInstance widoc = wiRepEngine.openDocument(infoObject
.getID());
boDataProviders = widoc.getDataProviders();
The problem is there, I Can't retrieve The query for Deski, That code Works for Webi:
for (int k = 0; k < boDataProviders.getCount(); k++) {
// make sure we're just dealing with queries
if (!(boDataProviders.getItem(k) instanceof SQLDataProvider)) {
continue;
}
SQLDataProvider boDataProvider = (SQLDataProvider) boDataProviders
.getItem(k);
if (boDataProvider != null) {
Query oquery;
oquery = boDataProvider.getQuery();
............................
I hope you can tell me if i miss some things.
Unfortunately, this is not possible using the Java SDKs.
Also you can refer to SAP Note: 1395501 - Is it possible to retrieve Desktop Intelligence SQL query using Java Report Engines SDK?
Thanks,
Prithvi
Thanks For the replay,
The macro I found is in VBA :
Dim boDataProviders As DataProviders
Set boDataProviders = ThisDocument.DataProviders
For i = 1 To boDataProviders.Count
If boDataProviders(i).GetType = "DPQTC" Then
MsgBox boDataProviders(i).SQL
End If
Next
I can't found the coresponding methods in JAVA!!
There are no corresponding methods in java available as this feature is not implemented for desktop intelligence reports(deski) in java.
Please refer to Shailendra's post above, where it is mentioned what all is supported with Java in terms of Deski.
There are COM SDKs available which supports desktop intelligence reports and the above macro snippet is part of that.
Thanks,
Prithvi
Shailendra Sharma wrote:
Hi Hajer,
Desktop Intelligence documents are partially supported through Report Engines SDKs in XI 3.1. You can only perform the following through Report Engine Java SDKs:
1. Viewing
2. Refreshing
3. Analyzing
For handling Desktop intelligence through Report Engine SDKs, you have to get the Full Client Report Engine services like below:
reportEngine = reportEngines.getService( ReportEngineType.FC_ReportEngine);
The jars are same that you are using for handling Webi documents, as we only have to change the report engine service type for handling the desktop intelligence documents.
Please refer some of the sample codes from the link & developer guide to get an idea how to handle the Desktop intelligence documents & what are the difference in handling the desktop intelligence documents from the Web intelligence document through RE Java SDKs.
The developer guide have all the information to set up the development environment & what jars are needed to setup the build path.
Hope this helps.
Thanks,
Shailendra
Hi Shailendra,
Can you tell me please what do you mean by :
3. Analyzing
Thanks
User | Count |
---|---|
84 | |
24 | |
11 | |
9 | |
7 | |
6 | |
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.