BOXI3 SDK 检索所有使用了某个universe object的报表
这仅仅是保证了再报表的query里拉出了这个对象不能保证在报表层面也使用了这个对象,在下一篇中也是同理,检索的对象名称为“Domestic / International”
<%@page import="java.io.FileOutputStream"%><%@ page language="java" errorPage="err_page.jsp"%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Date" %>
<%@ page import="java.util.List" %>
<%@ page import="java.io.*" %>
<%@ page import="jxl.Workbook" %>
<%@ page import="jxl.write.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.Collection" %>
<%@ page import="java.lang.Iterable" %>
<%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>
<%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>
<%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession" %>
<%@ page import="com.crystaldecisions.sdk.framework.ISessionMgr" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IEvents" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObjects" %>
<%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %>
<%@ page import="com.crystaldecisions.sdk.plugin.desktop.event.IEvent" %>
<%@ page import="com.crystaldecisions.sdk.properties.IProperties" %>
<%@ page import="com.businessobjects.sdk.plugin.desktop.webi.IWebi" %>
<%@ page import="com.crystaldecisions.sdk.plugin.desktop.report.IReport" %>
<%@ page import="com.businessobjects.rebean.wi.*" %>
<%
IEnterpriseSession enterpriseSession=null ;
OutputStream os=null;
WritableWorkbook workbook=null;
try
{
// IEnterpriseSession enterpriseSession = LoginAndGetSession.getSession();
//String S_USER=request.getParameter("user").trim();
//String S_PASS=request.getParameter("pwd").trim();
//String startDate=request.getParameter("startDate").trim();
//String endDate=request.getParameter("endDate").trim();
//String S_HOST="@PPECLUSTER";
//String S_SECURITY="secEnterpris";
//System.out.println(S_USER);
//System.out.println(S_PASS);
//System.out.println(startDate);
//System.out.println(endDate);
//System.out.println(S_HOST);
//System.out.println(S_SECURITY);
ISessionMgr iSessionMgr = CrystalEnterprise.getSessionMgr();
System.out.println("start to log in");
enterpriseSession=iSessionMgr.logon("admincmc", "cmc2009", "*********", "secEnterprise");
// DocumentInstance doc;
ReportEngine objReportEngine=null;
try{
objReportEngine = (ReportEngine)enterpriseSession.getService("","WebiReportEngine"); ;
}catch(Exception e){
objReportEngine = (ReportEngine)enterpriseSession.getService("ReportEngine"); ;
}
System.out.println("start to log in2");
{
//test
}
IInfoStore infostore=(IInfoStore)enterpriseSession.getService("InfoStore");//2012.12.01.00.00.00
//get total of instance
IInfoObjects allReportcounts= infostore.query("SELECT count( SI_ID) FROM CI_INFOOBJECTS WHERE SI_KIND in('WEBI')AND SI_INSTANCE=0 and SI_CREATION_TIME>='2013.05.01.00.00.00'" );
IInfoObject allRportcount=(IInfoObject)allReportcounts.get(0);
//System.out.print("The total of instance is: "+allReports.size());
IProperties counts=(IProperties)allRportcount.properties().getProperties("SI_AGGREGATE_COUNT");
int IDCount=counts.getInt("SI_ID");
System.out.print("The total of instance is: "+IDCount);
int k=IDCount;
IInfoObjects allReports= infostore.query("SELECT top "+k+" * FROM CI_INFOOBJECTS WHERE SI_KIND in('Webi') and SI_INSTANCE=0 and SI_CREATION_TIME>='2013.05.01.00.00.00'"
);
String targetfile = "D:\\reportwithLOB1.xls";
File f=new File(targetfile);
if(f.exists())f.delete();
os=new FileOutputStream(targetfile);
workbook = Workbook.createWorkbook(os);
WritableSheet sheet = workbook.createSheet("Hongrao",0);
int row=0;
egencia:
for (int i=0;i<k;i++)
{
try{
IWebi a=(IWebi)allReports.get(i);
String path="";
String docName="";
String createdate="as";
String lastdate="as";
SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " );
{
IInfoObject reportFolder = a.getParent();
docName=a.getTitle();
createdate=sdf.format( a.properties().getDate("SI_CREATION_TIME"));
lastdate=sdf.format( a.properties().getDate("SI_UPDATE_TS"));
// System.out.print(a.getTitle()+"\n");
if (a.getParentID() == 0)
path="Public Folders";
else
{ try{
while (1 > 0)
{
path = reportFolder.getTitle() + "/" + path;
// System.out.print(" Report path "+reportFolder.getTitle());
if (reportFolder.getParentID() == 0)
{path = "Public Folders"+ "/" + path;
// System.out.print(path+"\n");
break;
}
else
{
reportFolder = reportFolder.getParent();
//System.out.print(reportFolder);
}
}
}catch(Exception es){}
}
}
if(path.toLowerCase().indexOf("egencia")<0) continue;
{ DocumentInstance doc=null;
int hasit=0;
try{
doc= objReportEngine.openDocument(a.getID());
DataProviders dps = doc.getDataProviders();
int dpc=dps.getCount();
ends:
for(int j=0;j<dpc;j++)
{ DataProvider dp=dps.getItem(j);
Query q= dp.getQuery();
int qs=q.getResultObjectCount();
for(int jj=0;jj<qs;jj++)
{
DataSourceObject dso=q.getResultObject(jj);
String objname=dso.getName() ;
//
if(objname.equalsIgnoreCase("Domestic / International")) {
hasit=1;
break ends;
}
}
}
}catch(Exception es){out.println(a.getID()+":"+es.getMessage());}
finally{
doc.closeDocument();
}
if(hasit==0)continue egencia;
}
Label labelcon1=new Label(0,row,path);
Label labelcon2=new Label(1,row,docName);
Label labelcon3=new Label(2,row,createdate);
Label labelcon4=new Label(3,row,lastdate);
sheet.addCell(labelcon1);
sheet.addCell(labelcon2);
sheet.addCell(labelcon3);
sheet.addCell(labelcon4);
row+=1;
}catch(Exception eh){}
}
workbook.write();
workbook.close();
os.close();
out.print("sucess!");
}
catch(SDKException sdk){
workbook.close();
os.close();
out.print(sdk.getMessage());}
finally{
enterpriseSession.logoff();
}
%>
BOXI3 SDK 检索所有使用了某个universe object的报表相关推荐
- BO4 SDK 检索所有使用了某个universe object的报表
这仅仅是保证了再报表的query里拉出了这个对象不能保证在报表层面也使用了这个对象,,检索的对象名称为"Domestic / International",在BO4中SDK中已经不 ...
- 百度地图 Android SDK - 检索功能使用的简单演示样例
百度地图 SDK 不仅为广大开发人员提供了炫酷的地图展示效果.丰富的覆盖物图层,更为广大开发人员提供了多种 LBS 检索的能力. 通过这些接口,开发人员能够轻松的訪问百度的 LBS 数据,丰富自己的移 ...
- android spen加背景网页,Android SPen SDK检索悬停点
我需要使用SPen检索所有点(包括手写笔未触摸时拾取的点). 我已经设法从PageDoc的getObjectList中检索点,压力和时间戳,请参阅下面的snippit,但这些不包括悬停点. Array ...
- 百度地图AR识别SDK免费推出
在今年的9月份,百度地图开放平台曾做过一期关于<LBS+AI新浪潮,不止于此>的主题沙龙,现场开发者反响爆棚,也一起探索了在AI技术的加持下,地图产品及依赖于位置服务相关的开发者产品将有哪 ...
- Android 集成百度地图AR识别SDK(一)
废话 我最近一直在想手机上如何实现AR功能,很多方法都试过了,但是要不是一些官方文档看不懂,要不就是集成起来特别麻烦,总之就是无从下手 有一天,一位同事突然和我说百度地图有AR功能,于是我赶紧试了下, ...
- 飞信SDK内容【转载】
使用飞信SDK开发短信收发程序 2008-10-13 13:57 利用飞信的协议可以在线收发消息,或是向手机发送消息.由此,可以自己来完成一个IM工具. 本文即是对飞信SDK的使用方法,及如何开发作一 ...
- 隐私政策-第三方SDK汇总
一.模版: 使用SDK名称:第三方SDK的名字 服务类型:根据自己使用的功能填写(如:使用了友盟的统计分析SDK就写:统计分析) 收集个人信息类型:设备信息(IMEI/MAC/Android ID/I ...
- App隐私合规协议(第三方SDK)说明
一.模版: 使用SDK名称:第三方SDK的名字 服务类型:根据自己使用的功能填写(如:使用了友盟的统计分析SDK就写:统计分析) 收集个人信息类型:设备信息(IMEI/MAC/Android ID/I ...
- linux第三方SDK库冲突,摄像机SDK对接第三方平台一SDK库问题FAQ
Q1:IVS_PU_Player.dll的作用是什么?在调用HWPuSDK.dll时是否必须调用IVS_PU_Player.dll? A1:IVS_PU_Player.dll是媒体播放库,主要用在显示 ...
最新文章
- 使用Tensorize评估硬件内部特性
- C++11中std::condition_variable的使用
- 深入浅出聚类算法!如何对王者英雄聚类分析,探索英雄之间的秘密
- MQ对比之RabbitMQ Redis
- [zz]Linux 下 socket 编程示例
- 此microsoft fix it不适用于您的操作系统 解决方案
- 【Linux】一步一步学Linux——info命令(17)
- 爱普生SCARA机器人参考文档列表
- 背包dp的核心思想(动态规划)
- 在阿里云上试用 Knative
- 正则表达式与扩展正则表达式区别
- SSM之检验用户名是否重复
- Tensorflow 相关概念
- 什么是SQL Server数据库镜像?
- 传感器原理及工程应用第4版
- AE渲染加快速度,解决导出视频太慢的问题
- Python实现一键生成微信好友头像墙
- 戴尔笔记本电脑的计算机配置在哪,戴尔g3怎么查电脑配置
- python3电商平台论坛_2.电商平台零售数据分析
- vue i18n 多语言文本指定位置动态改变, 实现占位替换
热门文章
- bootrom的构成
- react开发插件-ES7 React/Redux/GraphQL/React-Native snippets
- 记一次导入环信聊天demo的过程
- 地震勘探 01:地震波001
- 计算机优质书籍搜集(持续更新)
- 推荐一款跨平台视频播放器:ZY-Player
- android转 web 开发者,转战 WebApp: 最适合 Android 开发者的 WebApp 框架
- myeclipse8.5 TPTP插件的使用问题
- 用VB.NET(Visual Basic 2010)封装EXCEL VBA为DLL_COM组件(一)
- B站科技区 up主 关注排名