如何使用Business objects SDK for XIR2列出webi报告中的语义层对象?
有没有一种不需要sdk的自动化方法?
使用SDK,我可以遍历webi、报告和语义层集合,但没有看到检索查询对象或报告查询的本机方法。
发布于 2013-10-29 18:51:12
有一种方法可以使用BO 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();
}但我正在寻找一种使用BO XI R2 SDK来实现此目的的方法。它不包含所需的apis。
发布于 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获取更多信息。
发布于 2009-06-19 00:51:38
我不得不使用管理查询工具(构建一个查询--非常初级)来从CMS中提取数据。我在输出中看到的内容之一是数据连接和SQL语句。从技术上讲,这并不是在使用SDK (呃,您使用的是他们内置的InfoStores访问权限),但是您可能需要SDK文档来弄清楚您正在寻找的是什么。它们的实现非常粗糙,如果查询出错,它不会告诉您哪里出了问题。如果你的查询稍有错误,它可能会返回一个“没有找到记录”的语句。
返回的记录是多级的...如果查询中的字段可以引用另一个表,则可以获得一个字段,其中包含子查询的结果。并且这些字段中的一些字段可能具有子查询结果。弄清楚这是一件很痛苦的事情,但是一旦你能弄清楚这些字段,你就可以(手动)从中提取数据。
https://stackoverflow.com/questions/747726
复制相似问题