这仅仅是保证了再报表的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的报表相关推荐

  1. BO4 SDK 检索所有使用了某个universe object的报表

    这仅仅是保证了再报表的query里拉出了这个对象不能保证在报表层面也使用了这个对象,,检索的对象名称为"Domestic / International",在BO4中SDK中已经不 ...

  2. 百度地图 Android SDK - 检索功能使用的简单演示样例

    百度地图 SDK 不仅为广大开发人员提供了炫酷的地图展示效果.丰富的覆盖物图层,更为广大开发人员提供了多种 LBS 检索的能力. 通过这些接口,开发人员能够轻松的訪问百度的 LBS 数据,丰富自己的移 ...

  3. android spen加背景网页,Android SPen SDK检索悬停点

    我需要使用SPen检索所有点(包括手写笔未触摸时拾取的点). 我已经设法从PageDoc的getObjectList中检索点,压力和时间戳,请参阅下面的snippit,但这些不包括悬停点. Array ...

  4. 百度地图AR识别SDK免费推出

    在今年的9月份,百度地图开放平台曾做过一期关于<LBS+AI新浪潮,不止于此>的主题沙龙,现场开发者反响爆棚,也一起探索了在AI技术的加持下,地图产品及依赖于位置服务相关的开发者产品将有哪 ...

  5. Android 集成百度地图AR识别SDK(一)

    废话 我最近一直在想手机上如何实现AR功能,很多方法都试过了,但是要不是一些官方文档看不懂,要不就是集成起来特别麻烦,总之就是无从下手 有一天,一位同事突然和我说百度地图有AR功能,于是我赶紧试了下, ...

  6. 飞信SDK内容【转载】

    使用飞信SDK开发短信收发程序 2008-10-13 13:57 利用飞信的协议可以在线收发消息,或是向手机发送消息.由此,可以自己来完成一个IM工具. 本文即是对飞信SDK的使用方法,及如何开发作一 ...

  7. 隐私政策-第三方SDK汇总

    一.模版: 使用SDK名称:第三方SDK的名字 服务类型:根据自己使用的功能填写(如:使用了友盟的统计分析SDK就写:统计分析) 收集个人信息类型:设备信息(IMEI/MAC/Android ID/I ...

  8. App隐私合规协议(第三方SDK)说明

    一.模版: 使用SDK名称:第三方SDK的名字 服务类型:根据自己使用的功能填写(如:使用了友盟的统计分析SDK就写:统计分析) 收集个人信息类型:设备信息(IMEI/MAC/Android ID/I ...

  9. linux第三方SDK库冲突,摄像机SDK对接第三方平台一SDK库问题FAQ

    Q1:IVS_PU_Player.dll的作用是什么?在调用HWPuSDK.dll时是否必须调用IVS_PU_Player.dll? A1:IVS_PU_Player.dll是媒体播放库,主要用在显示 ...

最新文章

  1. 使用Tensorize评估硬件内部特性
  2. C++11中std::condition_variable的使用
  3. 深入浅出聚类算法!如何对王者英雄聚类分析,探索英雄之间的秘密
  4. MQ对比之RabbitMQ Redis
  5. [zz]Linux 下 socket 编程示例
  6. 此microsoft fix it不适用于您的操作系统 解决方案
  7. 【Linux】一步一步学Linux——info命令(17)
  8. 爱普生SCARA机器人参考文档列表
  9. 背包dp的核心思想(动态规划)
  10. 在阿里云上试用 Knative
  11. 正则表达式与扩展正则表达式区别
  12. SSM之检验用户名是否重复
  13. Tensorflow 相关概念
  14. 什么是SQL Server数据库镜像?
  15. 传感器原理及工程应用第4版
  16. AE渲染加快速度,解决导出视频太慢的问题
  17. Python实现一键生成微信好友头像墙
  18. 戴尔笔记本电脑的计算机配置在哪,戴尔g3怎么查电脑配置
  19. python3电商平台论坛_2.电商平台零售数据分析
  20. vue i18n 多语言文本指定位置动态改变, 实现占位替换

热门文章

  1. bootrom的构成
  2. react开发插件-ES7 React/Redux/GraphQL/React-Native snippets
  3. 记一次导入环信聊天demo的过程
  4. 地震勘探 01:地震波001
  5. 计算机优质书籍搜集(持续更新)
  6. 推荐一款跨平台视频播放器:ZY-Player
  7. android转 web 开发者,转战 WebApp: 最适合 Android 开发者的 WebApp 框架
  8. myeclipse8.5 TPTP插件的使用问题
  9. 用VB.NET(Visual Basic 2010)封装EXCEL VBA为DLL_COM组件(一)
  10. B站科技区 up主 关注排名