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
oiReturnStatus | output | integer | |
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.