project BLF > class BScanDaemon > method CalcAllScanDaemonLocationInfo
query calculated fields procedure
Description
Assign a value to query calculated fields
Parameters
iiCompanyId | input | integer | Company id |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
BLF
program code (program1/bscandaemon.p)
<M-1 run MainBlock () in XML>
<M-2 run ReadXMLNodeValue
(input search('server.xml') (icXMLFile),
input 'serverConfiguration' (icStartTag),
input 'ENVROOT' (icNodeTag),
output vcenvroot (ocNodeValue),
output viFcReturnSuper (oiReturnStatus)) in XML>
run gipr_deleteprocedure in vhFcComponent.
delete procedure vhFcComponent.
if viFcReturnSuper <> 0
then oiReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then return.
create query vhQuery in widget-pool "non-persistent".
vhQuery:forward-only = yes.
vhQuery:set-buffers(ih_Buffer).
if vcenvroot <> ""
and vcenvroot <> ?
then do:
vhQuery:query-prepare("for each " + ih_Buffer:table).
vhQuery:query-open().
vhQuery:get-first().
do while not vhQuery:query-off-end:
assign {&tcScanDaemonLocationDir} = replace({&tcScanDaemonLocationDir},"$ENVROOT",vcenvroot).
vhQuery:get-next().
end.
vhQuery:query-close().
end.
if iiCompanyId = ?
then do:
vhQuery:query-prepare("for each " + ih_Buffer:table + " where tiCompany_ID = 0").
vhQuery:query-open().
vhQuery:get-first().
if not vhQuery:query-off-end
then do:
create buffer vhQBuffer for table ih_Buffer:table-handle in widget-pool "non-persistent".
<Q-19 run CompanyByAll (all) (Read) (NoCache)
(input 0, (CompanyId)
input '', (CompanyCode)
input true, (CompanyIsActive)
output dataset tqCompanyByAll) in BCompany>
end.
do while not vhQuery:query-off-end:
for each tqCompanyByAll:
vhQBuffer:buffer-create().
assign vhQBuffer::tiBusComponent_ID = ih_Buffer::tiBusComponent_ID
vhQBuffer::tcBusComponentCode = ih_Buffer::tcBusComponentCode
vhQBuffer::tiCompany_ID = tqCompanyByAll.tiCompany_ID
vhQBuffer::tcScanDaemonLocationDir = ih_Buffer::tcScanDaemonLocationDir
+ (if opsys = "UNIX" then "/" else "~\")
+ tqCompanyByAll.tcCompanyCode.
vhQBuffer:buffer-release().
end.
ih_Buffer:buffer-delete().
vhQuery:get-next().
end.
vhQuery:query-close().
end.
delete object vhQuery.
if vhQBuffer <> ?
then delete object vhQBuffer.