• 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();
            }
        }
    
    



  • 相关阅读:
    DAI widget和stream widget建立连接
    asoc驱动注册
    snd_card设备
    DAPM event机制
    Linux下gprof和oprofiling性能测试工具
    [KERNEL OOM] debug linux out of memory的一些技巧
    [kernel]kernel启动时,如何在driver中获取uboot的bootargs
    [HOW TO USE HW BRP] 如何使用ARM hardware self debug tools monitor 内存寄存器被踩问题。
    【Kernel ftrace】使用kernel ftrace追踪IRQ的例子
    [panic] 一个kernel panic错误分析的例子
  • 原文地址:https://www.cnblogs.com/xue88ming/p/7182992.html
Copyright © 2020-2023  润新知