BO SDK - 列出所有 web intelligence 报表用到的 universe object
来源:互联网 发布:vr视频软件 编辑:程序博客网 时间:2024/04/30 10:42
import com.businessobjects.rebean.wi.DataProvider;
import com.businessobjects.rebean.wi.DataProviders;
import com.businessobjects.rebean.wi.DocumentInstance;
import com.businessobjects.rebean.wi.PropertiesType;
import com.businessobjects.rebean.wi.Query;
import com.businessobjects.rebean.wi.ReportDictionary;
import com.businessobjects.rebean.wi.ReportEngine;
import com.businessobjects.rebean.wi.ReportEngines;
import com.businessobjects.rebean.wi.VariableExpression;
import com.crystaldecisions.sdk.exception.SDKException;
import com.crystaldecisions.sdk.framework.CrystalEnterprise;
import com.crystaldecisions.sdk.framework.IEnterpriseSession;
import com.crystaldecisions.sdk.framework.ISessionMgr;
import com.crystaldecisions.sdk.occa.infostore.IInfoObject;
import com.crystaldecisions.sdk.occa.infostore.IInfoObjects;
import com.crystaldecisions.sdk.occa.infostore.IInfoStore;
public class Main {
public static void main(String[] args) {
IEnterpriseSession enterpriseSession = null;
ReportEngines reportEngines = null;
try {
System.out.println("Connecting...");
ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
enterpriseSession = sessionMgr.logon("lewis",
"lewis123456.", "lewis", "secEnterprise");
reportEngines = (ReportEngines) enterpriseSession
.getService("ReportEngines");
ReportEngine wiRepEngine = (ReportEngine) reportEngines
.getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);
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;
String path = getInfoObjectPath(infoObject);
if (path.startsWith("/")) {
DocumentInstance widoc = wiRepEngine.openDocument(infoObject.getID());
String doc = infoObject.getTitle();
System.out.println(path + "/" + doc);
printDocumentVariables(widoc);
getlistofobjects(widoc);
widoc.closeDocument();
}
}
}
catch (SDKException ex) {
ex.printStackTrace();
}
finally {
if (reportEngines != null)
reportEngines.close();
if (enterpriseSession != null)
enterpriseSession.logoff();
}
System.out.println("Finished!");
}
public static void printDocumentVariables(DocumentInstance widoc ) {
ReportDictionary dic = widoc.getDictionary();
VariableExpression[] variables = dic.getVariables();
for (VariableExpression e : variables) {
String name = e.getFormulaLanguageID();
String expression = e.getFormula().getValue();
System.out.println(" " + name + " " + expression);
}
}
public static String getInfoObjectPath(IInfoObject infoObject)
throws SDKException {
String path = "";
while (infoObject.getParentID() != 0) {
infoObject = infoObject.getParent();
path = "/" + infoObject.getTitle() + path;
}
return path;
}
public static void getlistofobjects(DocumentInstance widoc) {
DataProviders dpvs = widoc.getDataProviders();
int dpsc = dpvs.getCount();
for(int loopi = 0; loopi<dpsc; loopi = loopi + 1)
{
DataProvider dp = dpvs.getItem(loopi);
Query sQuery = dp.getQuery();
int qr = sQuery.getResultObjectCount();
for(int lpi = 0; lpi < qr; lpi = lpi +1 )
{
System.out.println("query object:"+ sQuery.getResultObject(lpi).getName());
}
}
}
}
import com.businessobjects.rebean.wi.DataProviders;
import com.businessobjects.rebean.wi.DocumentInstance;
import com.businessobjects.rebean.wi.PropertiesType;
import com.businessobjects.rebean.wi.Query;
import com.businessobjects.rebean.wi.ReportDictionary;
import com.businessobjects.rebean.wi.ReportEngine;
import com.businessobjects.rebean.wi.ReportEngines;
import com.businessobjects.rebean.wi.VariableExpression;
import com.crystaldecisions.sdk.exception.SDKException;
import com.crystaldecisions.sdk.framework.CrystalEnterprise;
import com.crystaldecisions.sdk.framework.IEnterpriseSession;
import com.crystaldecisions.sdk.framework.ISessionMgr;
import com.crystaldecisions.sdk.occa.infostore.IInfoObject;
import com.crystaldecisions.sdk.occa.infostore.IInfoObjects;
import com.crystaldecisions.sdk.occa.infostore.IInfoStore;
public class Main {
public static void main(String[] args) {
IEnterpriseSession enterpriseSession = null;
ReportEngines reportEngines = null;
try {
System.out.println("Connecting...");
ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
enterpriseSession = sessionMgr.logon("lewis",
"lewis123456.", "lewis", "secEnterprise");
reportEngines = (ReportEngines) enterpriseSession
.getService("ReportEngines");
ReportEngine wiRepEngine = (ReportEngine) reportEngines
.getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);
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;
String path = getInfoObjectPath(infoObject);
if (path.startsWith("/")) {
DocumentInstance widoc = wiRepEngine.openDocument(infoObject.getID());
String doc = infoObject.getTitle();
System.out.println(path + "/" + doc);
printDocumentVariables(widoc);
getlistofobjects(widoc);
widoc.closeDocument();
}
}
}
catch (SDKException ex) {
ex.printStackTrace();
}
finally {
if (reportEngines != null)
reportEngines.close();
if (enterpriseSession != null)
enterpriseSession.logoff();
}
System.out.println("Finished!");
}
public static void printDocumentVariables(DocumentInstance widoc ) {
ReportDictionary dic = widoc.getDictionary();
VariableExpression[] variables = dic.getVariables();
for (VariableExpression e : variables) {
String name = e.getFormulaLanguageID();
String expression = e.getFormula().getValue();
System.out.println(" " + name + " " + expression);
}
}
public static String getInfoObjectPath(IInfoObject infoObject)
throws SDKException {
String path = "";
while (infoObject.getParentID() != 0) {
infoObject = infoObject.getParent();
path = "/" + infoObject.getTitle() + path;
}
return path;
}
public static void getlistofobjects(DocumentInstance widoc) {
DataProviders dpvs = widoc.getDataProviders();
int dpsc = dpvs.getCount();
for(int loopi = 0; loopi<dpsc; loopi = loopi + 1)
{
DataProvider dp = dpvs.getItem(loopi);
Query sQuery = dp.getQuery();
int qr = sQuery.getResultObjectCount();
for(int lpi = 0; lpi < qr; lpi = lpi +1 )
{
System.out.println("query object:"+ sQuery.getResultObject(lpi).getName());
}
}
}
}
0 0
- BO SDK - 列出所有 web intelligence 报表用到的 universe object
- BOXI3 SDK 检索所有使用了某个universe object的报表
- BO4 SDK 检索所有使用了某个universe object的报表
- BO - Universe
- BO XI Web Intelligence中文消息字符的乱码解决方案
- BO XI Web Intelligence中文消息字符的乱码解决方案
- Web Intelligence 中设计报表的权限
- BO Universe 语法
- 列出报表服务器上所有Item
- Tomcat7列出Web应用下的所有页面
- 如何让tomcat列出web根目录下的所有页面?
- 列出所有的索引
- BO(Business Object) 的用法
- DOORS中给定一个Module的绝对路径,列出它下面的所有Object
- 登录 BO universe designer 报错
- linux列出所有的服务
- 列出字符串的所有排列
- 几乎所有的Android App都会用到功能 打包成自己的sdk
- execl家族函数总结
- 嵌入式linux文件系统相关
- ubuntu14.04安装caffe+digits
- 【Android开发小记--8】传感器 以及 指南针的实现
- 计算机网络6--多路复用技术
- BO SDK - 列出所有 web intelligence 报表用到的 universe object
- Android基础之Fragment
- Codeforces Round #322 (Div. 2) F. Zublicanes and Mumocrates(树形dp)
- JavaScript
- hdu1512 Monkey King【左偏堆、并查集】
- MFC CListView 设置和获取item图片
- luajit ffi 小结
- HDU 2612 Find a way【双重BFS】
- Encoding