zoukankan      html  css  js  c++  java
  • Cognos: Run report

    Cognos:

    Run report

    代码如下:

        public void executeReport(String path, String[] format) throws RemoteException
        {
            
            PropEnum props[] = Util.getAllPropEnum();
            
            // begin~~~~~~~~~~~~~~~~~~~~~
            SearchPathMultipleObject spMulti = new SearchPathMultipleObject(path);
            BaseClass bc[] =  this.cmService.query(spMulti, props, new Sort[] {}, new QueryOptions());
            
            ParameterValue pv[] =  setReportParameters(this.getReportParameters(bc[0]));
           // end~~~~~~~~~~~~~~~~~
    
            AsynchReply res = null;
            Option ro[] = new Option[4];
            RunOptionBoolean saveOutput = new RunOptionBoolean();
            RunOptionStringArray rosa = new RunOptionStringArray();
    
            // Define that the report to save the output.
            saveOutput.setName(RunOptionEnum.saveOutput);
            saveOutput.setValue(true);
    
            // What format do we want the report in: PDF? HTML? XML?
            rosa.setName(RunOptionEnum.outputFormat);
            rosa.setValue(format);
            // Fill the array with the run options.
            ro[0] = rosa;
            ro[1] = saveOutput;
    
            
            RunOptionBoolean prompt = new RunOptionBoolean();
            prompt.setName(RunOptionEnum.prompt);
            prompt.setValue(true);
            ro[2] = prompt;
            
            try
            {
                // Get the initial response.
                SearchPathSingleObject spSingle = new SearchPathSingleObject();
                spSingle.set_value(path);
                res = getReportService().run(spSingle, pv, ro);
                
                //  res = getReportService().run(spSingle,new  ParameterValue[]{}, ro);
                
               // getReportService().getOutput(null,new  ParameterValue[]{}, new Option[]{});
                // If it has not yet completed, keep waiting until it is done.
                // In this case, we wait forever.
                while (res.getStatus() != AsynchReplyStatusEnum.complete && res.getStatus() != AsynchReplyStatusEnum.conversationComplete)
                {
                    if (hasSecondaryRequest(res, "wait"))
                    {
                        res = getReportService().wait(res.getPrimaryRequest(), new ParameterValue[] {}, new Option[] {});
                    }
                }
                // release the conversation to free resources.
                if (hasSecondaryRequest(res, "release"))
                {
                    System.out.println("Releasing resources");
                    getReportService().release(res.getPrimaryRequest());
                }
    
            }
            catch (Exception e)
            {
                e.printStackTrace();
            }
        }
    
    



  • 相关阅读:
    MFC列表控件更改一行的字体颜色
    MFC之sqlite
    MFC笔记10
    MFC---关于string.h相关函数
    MFC笔记8
    MFC笔记7
    MFC笔记6
    MFC笔记5
    MFC笔记4
    MFC笔记3
  • 原文地址:https://www.cnblogs.com/xue88ming/p/7182992.html
Copyright © 2011-2022 走看看