project BLF > class TDaemonUtility > method CreateDirectory


Parameters


icDaemonNameinputcharacter
icDaemonAppServerURLinputcharacter
icDirectoryNameinputcharacter
ocMessageoutputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


BLF
method BBaseDaemon.PreSave


program code (program1/tdaemonutility.p)

assign oiReturnStatus = -98.

<M-1 run GetAppserverConnection
   (input  icDaemonName (icDaemonName), 
    input  icDaemonAppServerURL (icDaemonAppserverURL), 
    output vhAppServer (ohDaemonAppserver), 
    output vcMessage (ocMessage), 
    output viFcReturnSuper (oiReturnStatus)) in TDaemonUtility>

if viFcReturnSuper < 0
then do:
    assign oiReturnStatus = viFcReturnSuper
           ocMessage      = vcMessage.

    return.
end.

if valid-handle(vhAppServer) and
   vhAppServer:connected()
then do:
    /* Create directory on AppServer */
    run program/tdaemonutility.p persistent set vhFcComponent on vhAppserver (input viSessionID).

    run CreateDirectoryInternal in vhFcComponent
       (input icDirectoryName,
        output vcMessage,
        output oiReturnStatus).

    run gipr_DeleteProcedure in vhFcComponent.
    delete procedure vhFcComponent.
    assign vhFcComponent = ?.
    vhAppServer:disconnect().
    delete object vhAppServer.
    assign vhAppServer = ?.
end.
else do:
    /* Create directory locally */
    <M-3 run CreateDirectoryInternal
       (input  icDirectoryName (icDirectoryName), 
        output vcMessage (ocError), 
        output oiReturnStatus (oiReturnStatus)) in TDaemonUtility>
end.

assign ocMessage = vcMessage.

if oiReturnStatus = -98
then assign oiReturnStatus = 0.