project BLF > class BXmlDaemon > 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
olUpdatesDone | output | logical | |
oiReturnStatus | output | integer | |
Internal usage
BLF
program code (program/bxmldaemon.p)
<ANCESTOR-CODE>
if not olUpdatesDone
then do :
/* Double check the existence of the xmldaemon record */
<Q-6 run DaemonInfoLimited (all) (Read) (NoCache)
(input 0, (DaemonId)
input vcFcDaemonName, (DaemonName)
input '', (DaemonStatus)
input '', (DaemonStatusDiffersFrom)
output dataset tqDaemonInfoLimited) in BBaseDaemon >
find first tqDaemonInfoLimited no-error.
if available tqDaemonInfoLimited
then do :
<Q-2 assign vlFcQueryRecordsAvailable = XmlDaemonInfo (NoCache) (input tqDaemonInfoLimited.tiDaemonId, (DaemonId)) in BXmlDaemon >
if not vlFcQueryRecordsAvailable
then do :
/* Create the XMLdaemon record */
<M-3 run DataLoad
(input '' (icRowids),
input string(tqDaemonInfoLimited.tiDaemonId) (icPkeys),
input '' (icObjectIds),
input '' (icFreeform),
input false (ilKeepPrevious),
output viFcReturnSuper (oiReturnStatus)) in BXmlDaemon>
if viFcReturnSuper <> 0
then do:
assign oiReturnStatus = viFcReturnSuper.
return.
end.
<M-4 run AddDetailLine (input 'xmldaemon':U (icTable),
input tfcDaemon.tc_Rowid (icParentRowid),
output viFcReturnSuper (oiReturnStatus)) in BXmlDaemon>
if viFcReturnSuper <> 0
then do:
assign oiReturnStatus = viFcReturnSuper.
return.
end.
<M-5 run DataSave (output viFcReturnSuper (oiReturnStatus)) in BXmlDaemon>
if viFcReturnSuper <> 0
then do:
assign oiReturnStatus = viFcReturnSuper.
return.
end.
assign olUpdatesDone = true.
end.
end.
end.