• Cognos: get output of report


    Cognos:

    代码如下:

        public void queryReportVersions(String searchP, String reportName, String savePath)
        {
            PropEnum props[] =
            { PropEnum.defaultName, PropEnum.data, PropEnum.defaultName, PropEnum.format, PropEnum.burstKey };
    
            // Set the search path "searchP" to an existing report
            searchP += "/reportVersion//output";
            try
            {
                SearchPathMultipleObject spMulti = new SearchPathMultipleObject();
                spMulti.set_value(searchP);
                BaseClass bc[] = cmService.query(spMulti, props, new Sort[] {}, new QueryOptions());
    
                if (bc == null || bc.length <= 0)
                {
                    System.out.println("E: The Report " + searchP + " has no saved outputs.");
                    System.exit(1);
                }
                /*
                 * for each report output found, save the report to the local file system.
                 */
                for (int i = 0; i < bc.length; i++)
                {
                    Output o = (Output) bc[i];
                    String savedOutputName = o.getDefaultName().getValue();
    
                    String fileName = null;
                    if (o.getBurstKey().getValue() != null)
                        fileName = savePath + reportName + " - " + o.getBurstKey().getValue() + "[" + i + "]." + o.getFormat().getValue();
                    else
                        fileName = savePath + reportName +"_"+i + "." + o.getFormat().getValue();
    
                    File oFile = new File(fileName);
                    FileOutputStream fos = new FileOutputStream(oFile);
                    fos.write(o.getData().getValue());
                    fos.flush();
                    fos.close();
                    System.out.println("Report output: " + savedOutputName + " saved as " + fileName + " to local system.");
                }
            }
            catch (Exception e)
            {
                System.out.println(e);
            }
        }
    



  • 相关阅读:
    进程的实践与练习2
    士兵队列训练问题
    大数相加
    Ignatius and the Princess II
    Parentheses Balance (括号平衡)---栈
    简单计算器
    C++全排列函数next_permutation()和prev_permutation()
    黑白图像
    9*9乘法表
    输入5 个数按从小到大的顺序输出
  • 原文地址:https://www.cnblogs.com/xue88ming/p/7182991.html
Copyright © 2020-2023  润新知