project BLF > class BReportDaemonQueue > method UpdateQueue

Description

create or update queue record


Parameters


iiRequestIDinputinteger
itStartDateinputdate
iiStartTimeinputinteger
icDescriptioninputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
method BReportRequest.AdditionalUpdates


program code (program1/breportdaemonqueue.p)

if oiReturnStatus = 0
then oiReturnStatus = -98.

if not can-find (first tfcDaemonQueue where
                       tfcDaemonQueue.DaemonQueueRef = string(iiRequestID))
then do:
    vcQ = "for each fcDaemonQueue where fcDaemonQueue.DaemonQueueRef = '" + string(iirequestID) + "'".
    <M-1 run DataLoad
       (input  '' (icRowids), 
        input  '' (icPkeys), 
        input  '' (icObjectIds), 
        input  vcQ (icFreeform), 
        input  yes (ilKeepPrevious), 
        output viFcReturnSuper (oiReturnStatus)) in BReportDaemonQueue>
    if viFcReturnSuper = -4
    then do:
        <M-2 run AddDetailLine
           (input  'fcDaemonQueue' (icTable), 
            input  '' (icParentRowid), 
            output viFcReturnSuper (oiReturnStatus)) in BReportDaemonQueue>
        assign tfcDaemonQueue.DaemonQueueRef = string(iiRequestID).
    end.
    if viFcReturnSuper <> 0
    then oiReturnStatus = viFcReturnSuper.
    if viFcReturnSuper < 0
    then return.
end.

find first tfcDaemonQueue where tfcDaemonQueue.DaemonQueueRef = string(iiRequestID).
assign tfcDaemonQueue.tc_Status                 = (if tfcDaemonQueue.tc_Status = "N" then "N" else "C")
       tfcDaemonQueue.DaemonQueueReqStartDate   = itStartDate
       tfcDaemonQueue.DaemonQueueReqStartTime   = iiStartTime
       tfcDaemonQueue.DaemonQueueRefDescription = icDescription
       vlFcDataValidated = yes.

if oiReturnStatus = -98
then oiReturnStatus = 0.