project BLF > class TApplication > method ClearDaemonQueue

Description

Delete all successfully processed items from a daemon queue.


Parameters


icDaemonNameinputcharacter
ocMessageoutputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
method TApplication.ExecuteAction


program code (program1/tapplication.p)

&scoped-define INS-PROCEDURE-BBASEDAEMONQUEUE "ins/ins__" + vcDaemonQ + ".p"

if icDaemonName = ""
then do:
    <Q-34 run DaemonByActiveList (all) (Read) (NoCache)  (output dataset tqDaemonByActiveList) in BBaseDaemon>
    for each tqDaemonByActiveList:
        if icDaemonName = ""
        then icDaemonName = tqDaemonByActiveList.tcDaemonName.
        else icDaemonName = icDaemonName + "," + tqDaemonByActiveList.tcDaemonName.
    end.
end.

<M-11 run Main  (input  viSessionId (iiSessionId)) in TDaemonUtility>
vhUtil = vhFcComponent.

do viFcCount1 = 1 to num-entries (icDaemonName):
    vhFcComponent = vhUtil.
    vcDaemonQ = <M-92 MapDaemonNameComponent
                   (input  entry(viFcCount1,icDaemonName) (icDaemonName), 
                    input  {&DAEMONMAPTYPE-QUEUE} (icType)) in TDaemonUtility>.

    <I-56 {tFcStartAndOpenInstance
         &CLASS                = "BBaseDaemonQueue"
         &SESSIONID            = "viSessionId"}>
    <M-63 run ApiClearDaemonQueue
       (input  0 (iiDaemonID), 
        input  entry(viFcCount1,icDaemonName) (icDaemonName), 
        input  no (ilDeleteWaiting), 
        input  no (ilDeleteInProcess), 
        input  yes (ilDeleteProcessedOk), 
        input  no (ilDeleteProcessedErr), 
        output vlFcOk (olDeletesExecuted), 
        output viFcReturnSuper (oiReturnStatus)) in BBaseDaemonQueue>
    ocMessage = ocMessage + entry(viFcCount1,icDaemonName) + " ApiClearDaemonQueue returned " + string (viFcReturnSuper) + chr(10).
    <I-80 {tFcCloseAndStopInstance
         &CLASS           = "BBaseDaemonQueue"}>
end.

run gipr_DeleteProcedure in vhUtil.
delete procedure vhUtil.