ReportCaster Processing

In this section:

Reference:

The following graphic shows the ReportCaster components and the processing that takes place when ReportCaster accesses an SQL repository to create, execute, and distribute a scheduled job.

ReportCaster Components diagram

The ReportCaster Distribution Server is a Java application that governs the process of submitting and distributing a scheduled job. You can install the ReportCaster Distribution Server on the same platform as the WebFOCUS Reporting Server and the WebFOCUS components (which reside on the Web/Application Server), or it can be installed on a different platform.

The WebFOCUS Reporting Server processes a scheduled request, retrieves the data, and returns the report to the ReportCaster Distribution Server, which distributes the output. ReportCaster supports multiple WebFOCUS Reporting Servers (specified in the ReportCaster Configuration tool), and one Managed Reporting Repository (defined by the MR_BASE_DIR setting in the Client Settings - Managed Reporting window in the WebFOCUS Administration Console).

When you create a ReportCaster schedule, one of the properties of the schedule set by ReportCaster is the next run time (NEXTRUNTIME) for that schedule. The ReportCaster Distribution Server checks for schedules in the ReportCaster Repository that have a next run time less than or equal to the current time. Once the scheduled job runs, the NEXTRUNTIME is updated to the next instance that the schedule is set to run.


Top of page

x
Reference: ReportCaster Processing of a Scheduled Job

The following steps describe what happens when the ReportCaster Distribution Server identifies a schedule to run.

  1. The ReportCaster Distribution Server prioritizes the scheduled job with other schedules in the ReportCaster Distribution Server queue. When creating a schedule, there is a Priority parameter where you can specify a priority value from 1 to 5, where 1 is the highest priority and 5 is the lowest priority. The default priority value is 3. The ReportCaster Distribution Server queue sorts scheduled jobs by priority and then by time. If during a schedule cycle one or more jobs remain in the queue when the next schedule cycle begins, these jobs are re-prioritized to include new jobs entering the queue.
  2. When a session (thread) to the WebFOCUS Reporting Server is available, the ReportCaster Distribution Server dynamically retrieves schedule, parameter, and alert information from the ReportCaster Repository. Additionally, WebFOCUS reports (WF Server Procedures, Standard Reports, and My Reports) are packaged for submission to the WebFOCUS Reporting Server. The number of concurrent threads available for job dispatching is controlled by the Maximum Thread parameter setting in the ReportCaster Configuration tool.
  3. The scheduled job of a user can be one of the following:
    • WF Server procedure. A -INCLUDE retrieves the procedure (FOCEXEC). The procedure must be accessible from the server path of the WebFOCUS Reporting Server.
    • Managed Reporting. Calls the WebFOCUS Client and retrieves the procedure from the Managed Reporting Repository. The procedure is either a Standard Report or a My Report.
    • URL. ReportCaster can schedule a URL from any Web server and distribute the content to specified recipients.
    • File. ReportCaster can schedule the distribution of files to which the ReportCaster Distribution Server has read access. For example, if you want to distribute the output from a Word document, you can distribute the static file to ReportCaster recipients. When scheduling a file, you must type the fully qualified path and file name of the file, for example, D:\reportcaster77\filename.doc.
    • FTP. ReportCaster can schedule the retrieval of a file from any FTP server.

    The scheduled job includes distribution information, parameter values, and variables (such as schedule ID, schedule procedure name, pre-processing and post-processing procedures, and the user ID (owner ID) that scheduled the job).

  4. When the scheduled job is a:
    • WebFOCUS procedure (WF Server Procedure or Managed Reporting procedure). The retrieved reports are packaged for submission to a WebFOCUS Reporting Server. The WebFOCUS Reporting Server runs the procedure, retrieves the data, creates the report, and returns the report to the ReportCaster Distribution Server, which distributes the report. For graph requests, the data is returned to the ReportCaster Distribution Server, which creates the graph image and distributes it.
    • URL. The ReportCaster Distribution Server submits the URL to a Web server, which runs the URL. The content is then sent back to the ReportCaster Distribution Server, which distributes it.
    • File. The ReportCaster Distribution Server accesses its mapped drives to retrieve the file, which it then distributes.
    • FTP. The ReportCaster Distribution Server accesses an FTP server and retrieves the report output, which it then distributes.

    Note: When a FOC error is returned from the WebFOCUS Reporting Server, ReportCaster does not distribute the scheduled report output. You can designate specific FOC errors to be processed as warnings, which allows the report to be distributed. For information on the configuration setting, FOC Message to be Processed as Warnings, see Configuring FOC Message Numbers to be Processed as Warnings.

  5. The ReportCaster Distribution Server distributes scheduled output as an e-mail message, through FTP or SFTP (developers and administrators only), to a printer, as a report in a Managed Reporting folder, or to the Report Library. You can also distribute the scheduled output to a fax machine using a third-party e-mail to fax provider.

    WF Server Procedures, Standard Reports, and My Reports support bursting, which enables you to send portions of a report to specific recipients. If you are distributing a burst tabular report, the burst value is determined by the first BY field. If you are distributing a burst graph report, the burst value is determined by the second BY field. The burst value is automatically determined by the internal matrix. The internal matrix is a memory area that stores each database field value and calculates values referenced by the TABLE or GRAPH request.

    For more information about bursting, see the ReportCaster Development and Library Content manual.

  6. When the ReportCaster Distribution Server has distributed the output (or is unable to distribute the output), it then processes the log information and writes job information to the log tables in the ReportCaster Repository.

    Error conditions in log reports appear in red text and warnings appear in orange text.

  7. If notification is requested, the ReportCaster Distribution Server sends an e-mail notification. The name of the mail server that handles notification e-mail is specified in the Notify Mailhost setting in the ReportCaster Configuration tool. If the mail server is blank, ReportCaster uses the default mail server used to distribute an e-mail schedule, which is specified by the Mailhost setting in the ReportCaster Configuration tool.

    Error conditions occur for log reports or notification when:

    • A FOC error message is returned to the ReportCaster Distribution Server.
    • There is no report to distribute.
    • There was an error when communicating to services (e-mail, (S)FTP, printer, Managed Reporting, Report Library).

    Tip: Information Builders recommends using different mail servers for notification and e‑mail distribution. Using separate mail servers ensures that you will still receive notifications if the default mail server falters.



Example: Executing a Scheduled Job

In this example, the ReportCaster Distribution Server polls the BOTSCHED table every minute looking for scheduled jobs. However, note that ReportCaster enables administrators to change the polling interval for the ReportCaster Distribution Server using the Reader interval setting in the ReportCaster Configuration tool. You can specify an interval from 1 to 999999 minutes.

  1. At 9:01 A.M., you schedule a job with a start date/start time of today at 12:00 P.M. and an end date/end time of tomorrow at 3:00 P.M. The job is scheduled to run every two hours.
  2. At 9:02 A.M., the ReportCaster Distribution Server reads all records from the BOTSCHED table with a NEXTRUNTIME equal to the current time. The job does not qualify since it has a start time of 12:00 P.M.
  3. The ReportCaster Distribution Server polls the BOTSCHED table every minute thereafter, looking for jobs with a NEXTRUNTIME less than or equal to the current time.
  4. At 12:00 P.M., the ReportCaster Distribution Server reads the BOTSCHED table. The job qualifies since its NEXTRUNTIME is equal to the current time. The job is put in the ReportCaster Distribution Server queue and the ReportCaster Distribution Server updates its NEXTRUNTIME by two hours so that the NEXTRUNTIME is 2:00 P.M.
  5. The ReportCaster Distribution Server polls the BOTSCHED table every minute thereafter, looking for jobs with a NEXTRUNTIME less than or equal to the current time.
  6. At 2:00 P.M., the ReportCaster Distribution Server reads the BOTSCHED table. The job qualifies since its NEXTRUNTIME is equal to the current time. The job is put in the ReportCaster Distribution Server queue and the ReportCaster Distribution Server updates its NEXTRUNTIME by two hours so that the NEXTRUNTIME is 4:00 P.M.
  7. This process repeats itself. The job will run every two hours until 3:00 P.M. tomorrow. The last time the job will be put in the run queue is tomorrow at 2:00 P.M.

Note: For information about recovering jobs that were placed in the ReportCaster Distribution Server queue but whose NEXTRUNTIME was not updated, see Recovery. For additional schedule considerations, see Time Zone Considerations for ReportCaster and Daylight Saving Time Considerations for ReportCaster.


Top of page

x
Time Zone Considerations for ReportCaster

Users who access ReportCaster remotely from a different time zone must schedule jobs using the time zone of the machine on which the ReportCaster Distribution Server is located. When viewing job schedules, the displayed date and time is from the time zone of the ReportCaster Distribution Server.

ReportCaster uses Sun Java technology, which always adjusts for Daylight Saving Time, regardless of Windows settings. If you are in an area that does not observe Daylight Saving Time, scheduled jobs will run at the correct time. However, some internal files will add an hour to time stamps during this period. These files include the following:


Top of page

x
Daylight Saving Time Considerations for ReportCaster

When considering the effect of Daylight Saving Time (DST) for jobs scheduled by ReportCaster, the main thing to remember is that 1:59:59 A.M. is when the time change occurs. As a result, the clock time is set to either 3 A.M. (when DST begins) or 1 A.M. (when DST ends).

A simple rule to remember is that regardless of the time change, the schedule interval stays the same. This is because the schedule run time is based on elapsed time rather than the actual clock time.

Note: See the WebFOCUS Release Notes for information on the change in United States Daylight Saving Time strategy and Sun Microsystems J2SE versions that have been adjusted for this change.

The following table lists and describes the expected behavior for jobs scheduled by ReportCaster when Daylight Saving Time is in effect.

Interval

Description

For example:

Schedule is set to run once at a specific time, or to run every day, week, month, or year.

The schedule runs at that time, regardless of the time change.

A 9:15 A.M. schedule will still run at 9:15 A.M.

Schedule is set to run every minute or hour when DST begins.

The schedule is advanced by 1 hour.

A schedule that runs every 2 hours: 12:00 P.M., 2:00 A.M., 4:00 A.M....

Will run at the following times: 12:00 P.M., 3:00 A.M., 5:00 A.M....

This occurs because at 1:59:59 the clock is set ahead to 3:00 A.M.

Schedule is set to run every minute or hour when DST ends.

The schedule is set back 1 hour.

A schedule that runs every 2 hours: 12:00 P.M., 2:00 A.M., 4:00 A.M....

Will run at the following times: 12:00 P.M., 1:00 A.M., 3:00 A.M....

This occurs because at 1:59:59 the clock is set back to 1:00 A.M.


WebFOCUS