cancel
Showing results for 
Search instead for 
Did you mean: 

[BO XI3.1, JAVA] Jars for Desktop Intelligence document

Former Member
0 Kudos

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.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

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

Former Member
0 Kudos

Hi

Thanks for your replay.

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.

Former Member
0 Kudos

Unfortunately, this is not possible using the Java SDKs.

See thread

Also you can refer to SAP Note: 1395501 - Is it possible to retrieve Desktop Intelligence SQL query using Java Report Engines SDK?

Thanks,

Prithvi

Former Member
0 Kudos

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!!

Former Member
0 Kudos

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

Former Member
0 Kudos

Ok Prithvi,

Thanks for help

Former Member
0 Kudos

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

Former Member
0 Kudos

Hi Hajer,

Analyzing means drilling the document. You can go through the developer guide & check what are the options available for drilling the desktop intelligence documents, as we have to get the Full Client type of report engines services for handling Deski.

Regards,

Shailendra

Former Member
0 Kudos

Thanks again,

Hajer

Answers (0)