project BLF > class BReportRequest > method Calculate

Description

Add code here to initialize the calculated fields of the class temp-tables after loading existing records from the application database.


Parameters


oiReturnStatusoutputinteger


Internal usage


unused


program code (program/breportrequest.p)

<ANCESTOR-CODE>

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

for each tRptRequest on error undo, throw:

    if vlDataLoadKeepPrevious and can-find (tAlreadyCalculatedRecords where
             tAlreadyCalculatedRecords.tcTableName = "RptRequest" and
             tAlreadyCalculatedRecords.tc_Rowid = tRptRequest.tc_Rowid)
    then next.

    <Q-2 run DaemonQueueByRefID (all) (Read) (NoCache)
       (input 0, (DaemonQueueID)
        input string (tRptRequest.RptRequest_ID), (DaemonQueueRef)
        input {&REPORTDAEMON}, (DaemonName)
        output dataset tqDaemonQueueByRefID) in BBaseDaemonQueue >

    for each tqDaemonQueueByRefID on error undo, throw:
        assign tRptRequest.ttRequestRequiredStartDate = tqDaemonQueueByRefID.ttDaemonQueueReqStartDate
               tRptRequest.tiRequestRequiredStartTime = tqDaemonQueueByRefID.tiDaemonQueueReqStartTime + viUseTimeOffset * 60 /* convert from UTC to timezone */
               tRptRequest.ttRequestStartDate         = tqDaemonQueueByRefID.ttDaemonQueueStartDate
               tRptRequest.tiRequestStartTime         = tqDaemonQueueByRefID.tiDaemonQueueStartTime    + viUseTimeOffset * 60 /* convert from UTC to timezone */
               tRptRequest.ttRequestEndDate           = tqDaemonQueueByRefID.ttDaemonQueueEndDate
               tRptRequest.tiRequestEndTime           = tqDaemonQueueByRefID.tiDaemonQueueEndTime      + viUseTimeOffset * 60 /* convert from UTC to timezone */
               tRptRequest.tcRequestStatus            = tqDaemonQueueByRefID.tcDaemonQueueStatus.
        if tRptRequest.tiRequestRequiredStartTime >= 24 * 60 * 60
        then assign tRptRequest.ttRequestRequiredStartDate = tRptRequest.ttRequestRequiredStartDate + 1
                    tRptRequest.tiRequestRequiredStartTime = tRptRequest.tiRequestRequiredStartTime - 24 * 60 * 60.
        if tRptRequest.tiRequestStartTime >= 24 * 60 * 60
        then assign tRptRequest.ttRequestStartDate = tRptRequest.ttRequestStartDate + 1
                    tRptRequest.tiRequestStartTime = tRptRequest.tiRequestStartTime - 24 * 60 * 60.
        if tRptRequest.tiRequestEndTime >= 24 * 60 * 60
        then assign tRptRequest.ttRequestEndDate = tRptRequest.ttRequestEndDate + 1
                    tRptRequest.tiRequestEndTime = tRptRequest.tiRequestEndTime - 24 * 60 * 60.
    end.
end.