English 中文(简体)
如何用于webi宇宙中的XIR2 BO对象列表报告吗?
原标题:
  • 时间:2009-04-14 14:06:10
  •  标签:

How to list universe objects from a webi report using the Business Objects SDK for XIR2?
Is there is an automated way to do it without the sdk?

SDK我一直都可以遍历webi报告和宇宙集合但是没有看到一个本地方法检索查询对象或报表查询。

最佳回答

有一种方法可以实现这个使用博4.0 SDK:

// 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();
}

但我寻找一个方法使用博习R2 SDK。它不包含所需的api。

问题回答

BusinessObjects存储库(数据库)包含复杂的数据,blob复合表列。

库数据解密通过CMS通过查询;意义,它不能直接连接到/查询即宇宙有一个功能,因此查询直接运行。

BusinessObjects存储库可能不过质疑通过提交简单的查询通过查询构建器GUI(通过访问admin发射台& lt;中的XIR2 =。x或通过安装服务器程序菜单ξ3。x +——都有URL)或通过企业SDK / Web服务。

返回的数据是InfoObjects的形式。InfoObjects编程、面向对象的表示数据存储库。InfoObjects可能有一个或多个相关对象嵌入预计为表内表查询结果,然而可以操纵数据输出工具,如MS Excel和转换为表格格式。

访问方法查询库InfoObjects讨论通过SAP开发人员在相关的论坛和博客中,我推荐阅读:< a href = " http://weblogs.sdn.sap.com/pub/wlg/13214 " rel = " nofollow noreferrer " > http://weblogs.sdn.sap.com/pub/wlg/13214 < / >的更多信息。

我不得不使用管理查询工具(建立一个查询,非常基本的)将数据从CMS。我看到的一件事在输出数据连接和SQL语句。这是技术不使用SDK(呃,你使用他们的访问InfoStores建成的),但是你可能需要SDK文档甚至找出你寻找。实施很粗糙,如果你误会的查询,并告诉你什么是错的。如果你查询稍微错了,它不可能返回一个记录发现的声明。

记录返回多层次……如果一个字段查询中可以引用另一个表,你可能会得到一个字段和子查询的结果。和一些领域可能子查询的结果。它年代算出的疼痛,但是一旦你可以计算字段,您可以提取数据(手动)。

使用Query Builder,下面的查询将返回SI_ID值为每个报告与宇宙相关联:

SELECT * FROM CI_APPOBJECTS WHERE SI_KIND= Universe

使用Query Builder,下面的查询将返回WebI报告名称基于ID:

SELECT SI_NAME,SI_DESCRIPTION, SI_ID,SI_AUTHOR,SI_PARENT_FOLDER,SI_UNIVERSE,SI_HAS_PROMPTS FROM CI_INFOOBJECTS WHERE SI_ID IN (xxx,xxx,xxx)

我不要看到一种把两个一起给宇宙与报告。同时,我不要看到一个方法来得到这个数据到业务对象本身作为一个WebI报告。





相关问题
热门标签