project BLF > class BReportSchedule > method CalculatePost


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
method BReportSchedule.Calculate


program code (program6/breportschedule.p)

if viTimeOffset = ?
then viUseTimeOffset = timezone(now).
else viUseTimeOffset = viTimeOffset.

for each tRptRequestSchedule on error undo, throw:

    /* ================================================================= */
    /* Convert start time from UTC to local time before display.         */
    /* ================================================================= */
    assign vtStartDateUTC = tRptRequestSchedule.RptRequestScheduleDate
           viStartTimeUTC = tRptRequestSchedule.RptRequestScheduleTime + viUseTimeOffset * 60.
    if viStartTimeUTC >= 24 * 60 * 60
    then assign vtStartDateUTC = vtStartDateUTC + 1
                viStartTimeUTC = viStartTimeUTC - 24 * 60 * 60.
    assign tRptRequestSchedule.RptRequestScheduleDate = vtStartDateUTC
           tRptRequestSchedule.RptRequestScheduleTime = viStartTimeUTC.

    /* ================================================================= */
    /* Display the entire schedule (all requests).                       */
    /* ================================================================= */
    <Q-2 run RptRequestBySchedule (all) (Read) (NoCache)
       (input tRptRequestSchedule.RptRequestSchedule_ID, (RptRequestScheduleId)
        output dataset tqRptRequestBySchedule) in BReportRequestBase >

    for each tqRptRequestBySchedule where
             tqRptRequestBySchedule.tiRptRequestSchedule_ID = tRptRequestSchedule.RptRequestSchedule_ID
             on error undo, throw:
        create tRptRequestInfo.
        buffer-copy tqRptRequestBySchedule to tRptRequestInfo.
        tRptRequestInfo.tc_ParentRowid = tRptRequestSchedule.tc_Rowid.
        tRptRequestInfo.tc_Rowid = entry (1,tqRptRequestBySchedule.tc_rowid).
    end.
end.