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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值