project BLF > class BBaseDaemon > method ApiSynchronise

Description

This method creates or updates the static data in the fcDaemon table (make sure a record exists for every known daemon, with some default values).


Parameters


olUpdatesDoneoutputlogical
oiReturnStatusoutputinteger


Internal usage


BLF
method BSystem.ApiSynchronise

QadFinancials
method BSystem.ApiSynchroniseCustom


program code (program9/bbasedaemon.p)

assign oiReturnStatus = -98.

<M-1 run ClearData (output viFcReturnSuper (oiReturnStatus)) in BBaseDaemon>
<Q-2 assign vlFcQueryRecordsAvailable = DaemonPrim (NoCache)
          (input vcFcDaemonName, (DaemonName)
           input 0, (DaemonId)) in BBaseDaemon >

if not vlFcQueryRecordsAvailable
then do:
    <M-3 run DataNew (output viFcReturnSuper (oiReturnStatus)) in BBaseDaemon>
    if viFcReturnSuper <> 0
    then assign oiReturnStatus = viFcReturnSuper.
    if viFcReturnSuper < 0
    then return.

    <M-4 run SynchroniseSpecific (output viFcReturnSuper (oiReturnStatus)) in BBaseDaemon>
    if viFcReturnSuper <> 0
    then return.
        
    /* indication for the login */
    if tfcDaemon.DaemonLogin = "":U or
       tfcDaemon.DaemonLogin = ?
    then assign tfcDaemon.DaemonLogin = "<":U + trim(#T-7'unspecified':20(4379)T-7#) + ">":U.
    
    /* ============================================================================= */
    /* Do not validate the daemon information, because the combination user/password */
    /* can never be validated.                                                       */
    /* ============================================================================= */
    assign vlFcDataValidated = true.

    <M-6 run DataSave (output viFcReturnSuper (oiReturnStatus)) in BBaseDaemon>
    if viFcReturnSuper <> 0
    then assign oiReturnStatus = viFcReturnSuper.
    if viFcReturnSuper < 0
    then return.

    assign olUpdatesDone = true.
end.
else assign olUpdatesDone = false.

if oiReturnStatus = -98
then assign oiReturnStatus = 0.