project BLF > class TApplication > method StartDaemonAction

Description

Perform the logic that needs to run when the StartDaemon action is provided.


Parameters


icDaemonNameinputcharacter
ocMessageoutputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
method TApplication.ExecuteAction
method TApplication.StartApplication


program code (program1/tapplication.p)

<Q-33 run DaemonLoginInfo (all) (Read) (NoCache)
   (input icDaemonName, (DaemonName)
    output dataset tqDaemonLoginInfo) in BBaseDaemon>

/* Report daemon can only be started by the Reporting Service */
if icDaemonName = ? or icDaemonName = ''
then do:
    for each tqDaemonLoginInfo where
             tqDaemonLoginInfo.tcDaemonName = {&REPORTDAEMON} :
        delete tqDaemonLoginInfo.
    end.
end. /* icDaemonName = '' */

if can-find (first tqDaemonLoginInfo where
                   tqDaemonLoginInfo.tiDaemonMaxNumberOfInstances > 0)
then do :

    <M-61 run Main  (input  viSessionId (iiSessionId)) in TDaemonUtility>

    for each tqDaemonLoginInfo where
             tqDaemonLoginInfo.tiDaemonMaxNumberOfInstances > 0:
    
        <M-5 run StartDaemon
           (input  tqDaemonLoginInfo.tcDaemonName (icDaemonName), 
            input  '' (icDaemonAppserverURL), 
            output vcMessage (ocMessage), 
            output viFcReturnSuper (oiReturnStatus)) in TDaemonUtility>
        
        if (vcMessage <> "" and vcMessage <> ?)
        then assign ocMessage = ocMessage + (if ocMessage = "" then "" else chr(10)) + vcMessage.
        if viFcReturnSuper <> 0 then assign oiReturnStatus = 1.
    
    end. /* for each tqDaemonLoginInfo */
    
    run gipr_DeleteProcedure in vhFcComponent.
    delete procedure vhFcComponent.

end. /* if can-find */