如何使用Business Objects SDK for XIR2從webi報告中列出Universe對象?
是否有一個自動的方式來執行它沒有sdk?如何列出webi報告中使用的BO XIR2 Universe對象?
使用SDK,我已經可以迭代webi報表和Universe集合,但沒有看到以本地方式檢索查詢對象或報表查詢。
如何使用Business Objects SDK for XIR2從webi報告中列出Universe對象?
是否有一個自動的方式來執行它沒有sdk?如何列出webi報告中使用的BO XIR2 Universe對象?
使用SDK,我已經可以迭代webi報表和Universe集合,但沒有看到以本地方式檢索查詢對象或報表查詢。
有一種方法可以使用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。
我不得不使用管理查詢工具(構建查詢 - 非常基本)從CMS中提取數據。我在輸出中看到的一件事是數據連接和SQL語句。這在技術上並不使用SDK(呃,你正在使用他們內置的InfoStores訪問權限),但是你可能需要SDK文檔來弄清楚你甚至在尋找什麼。他們的實現非常粗糙,如果你的查詢錯誤,它不會告訴你它有什麼問題。如果你得到的查詢有些不對,它可能會返回一個'找不到記錄'的語句。
返回的記錄是多級的......如果查詢中的某個字段可以引用另一個表,則可能會得到一個帶有子查詢結果的字段。其中一些字段可能有子查詢結果。找出問題是一件痛苦的事情,但是一旦你能夠確定這些字段,就可以從中提取數據(手動)。
使用查詢生成器,下面的查詢將返回SI_ID值與宇宙相關的每個報告:
SELECT * FROM CI_APPOBJECTS WHERE SI_KIND = '宇宙'
使用查詢生成器,下面的查詢將返回基於ID WebI報告名稱:
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,X xx,xxx)
我沒有看到將兩者結合在一起以顯示報告的Universe的方法。另外,我沒有辦法將這些數據作爲WebI報告提供給Business Objects本身。
BusinessObjects資源庫(數據庫)包含複雜數據,在複合表列中出現斑點。
倉庫數據通過CMS查詢解密;意思是說,它不能直接連接到/查詢,即有一個覆蓋的宇宙,因此查詢直接離開它。
BusinessObjects資源庫可以但是受到質疑方法是通過「查詢生成器」 GUI提交簡單的查詢(通過管理啓動訪問< = XIR2.x或通過安裝服務器程序菜單XI 3.x中+ - 都有網址)或通過企業SDK/Web服務。
返回的數據是InfoObject的形式。 InfoObjects是保存在存儲庫中的數據的程序化,面向對象的表示形式。 InfoObjects可能有一個或多個相關對象插入,這些對象在查詢結果中作爲表格投影,但數據輸出可以在MS Excel等工具中操作並轉換爲表格格式。
查詢存儲庫InfoObject的訪問方法由SAP開發人員在相關論壇&博客中討論,我推薦閱讀:http://weblogs.sdn.sap.com/pub/wlg/13214瞭解更多信息。
是的,我認爲他們不提供報告對象在他們的SDK中,使自動遷移到其他產品更難。 :p – 2009-06-19 01:13:28