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