首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何列出在webi报告中使用的BO XIR2宇宙对象?

如何列出在webi报告中使用的BO XIR2宇宙对象?
EN

Stack Overflow用户
提问于 2009-04-14 14:06:11
回答 4查看 20.9K关注 0票数 0

如何使用Business objects SDK for XIR2列出webi报告中的语义层对象?

有没有一种不需要sdk的自动化方法?

使用SDK,我可以遍历webi、报告和语义层集合,但没有看到检索查询对象或报告查询的本机方法。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-29 18:51:12

有一种方法可以使用BO 4.0 SDK来实现:

代码语言:javascript
复制
// Get the list of webi documents
IInfoStore infoStore = (IInfoStore) enterpriseSession.getService("InfoStore");
String query = "select SI_NAME, SI_ID from CI_INFOOBJECTS "
      + "where SI_KIND = 'Webi' and SI_INSTANCE=0";
IInfoObjects infoObjects = (IInfoObjects) infoStore.query(query);

for (Object object : infoObjects) {
    IInfoObject infoObject = (IInfoObject) object;
    if (getInfoObjectPathAndTitle(infoObject).startsWith("/")) {
      System.out.println("REPORT: " + infoObject.getTitle());

      IDocumentInstance doc = documentInstanceManagementService
          .openDocument(context, infoObject.getID());

      List list = ReportDictionaryHelper
          .getDictionaryObjectsFlatList(context, doc);
      if (list.size() > 0) {
        System.out.println("OBJECTS:");
        for (DictionaryExpression expr:list) {
          System.out.println(expr.getName());
        }
      }

      List vars = ReportDictionaryHelper.getDocumentVariables(context,doc);
      if (vars.size() > 0) {
        System.out.println("VARIABLES:");
        for (Variable var:vars) {
          System.out.println(var.getName());
        }
      }

      documentInstanceManagementService.closeDocument(context, doc);
      System.out.println();
}

但我正在寻找一种使用BO XI R2 SDK来实现此目的的方法。它不包含所需的apis。

票数 0
EN

Stack Overflow用户

发布于 2010-07-29 09:16:26

BusinessObjects存储库(数据库)包含复杂的数据,这些数据分散在复合表列中。

通过CMS查询而解密的存储库数据,这意味着它不能直接连接/查询,也就是说,它有一个覆盖的语义域,因此查询直接在它上面运行。

但是,可以通过以下两种方式查询BusinessObjects存储库:通过“查询构建器”图形用户界面(通过管理启动板<= XIR2.x访问或通过安装服务器程序菜单XI 3.x+ -两者都有3.x+)或通过企业软件开发工具包/网络服务提交简单查询。

返回的数据为InfoObjects格式。InfoObjects是存储库中数据的程序化、面向对象的表示形式。InfoObjects可能有一个或多个相关的对象嵌入到查询结果中的表中,但是数据输出可以在MS Excel等工具中操作并转换为表格格式。

SAP开发人员在相关论坛和博客中讨论了查询存储库InfoObjects的访问方法,我建议阅读:http://weblogs.sdn.sap.com/pub/wlg/13214获取更多信息。

票数 3
EN

Stack Overflow用户

发布于 2009-06-19 00:51:38

我不得不使用管理查询工具(构建一个查询--非常初级)来从CMS中提取数据。我在输出中看到的内容之一是数据连接和SQL语句。从技术上讲,这并不是在使用SDK (呃,您使用的是他们内置的InfoStores访问权限),但是您可能需要SDK文档来弄清楚您正在寻找的是什么。它们的实现非常粗糙,如果查询出错,它不会告诉您哪里出了问题。如果你的查询稍有错误,它可能会返回一个“没有找到记录”的语句。

返回的记录是多级的...如果查询中的字段可以引用另一个表,则可以获得一个字段,其中包含子查询的结果。并且这些字段中的一些字段可能具有子查询结果。弄清楚这是一件很痛苦的事情,但是一旦你能弄清楚这些字段,你就可以(手动)从中提取数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/747726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档