The location of the output format setting is slightly strange in that it really is only relevant in the context of scheduling, so it might make more sense in the ISchedulingInfo interface, but instead its found in the IReport interface. The IReport interface is obtained by casting from an IInfoObject interface. The following code obtains the IReport interface for an InfoObject:
IInfoObjects results = iStore.query("SELECT SI_ID FROM CI_INFOOBJECTS WHERE" + " SI_NAME=World Sales Report AND SI_INSTANCE=0"); IInfoObject infoObject = (IInfoObject) results.get(0); IReport report = (IReport) infoObject;
After this interface is obtained, there are many methods available. The following sections focus on the relevant settings for scheduling.
To set the output format, call the getReportFormatOptions method, which returns an IReportFormatOptions interface. With this interface, the setFormat method can be called that accepts a member of the CeReportFormat enumeration. The following values are allowed:
The following code snippet schedules a report to Word format:
IReport report = (IReport) infoObject; IReportFormatOptions format = report.getReportFormatOptions(); format.setFormat(IReportFormatOptions.CeReportFormat.WORD); iStore.schedule(results) ;