project QadFinancials > class BYearClosing > method CalcAllSelectYearClosing
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
QadFinancials
program code (program1/byearclosing.p)
assign vcLayerTypes = {&LAYERTYPECODES}.
/* Backward compatibility */
/* Before implementation, layer was allways assumed as Official layer, but in database it is blank */
assign viOfficialLayerId = ?
vcOfficialLayerCode = "":U.
create query vhQuery in widget-pool "non-persistent".
vhQuery:forward-only = yes.
vhQuery:set-buffers(ih_Buffer).
vhQuery:query-prepare("for each ":U + ih_Buffer:table).
vhQuery:query-open().
vhQuery:get-first().
do while not vhQuery:query-off-end:
if {&tiLayer_ID} = ? or
{&tiLayer_ID} = 0
then do:
<Q-68 run LayerByCodeTypeCode (all) (Read) (NoCache)
(input {&LAYERTYPECODE-OFFICIAL}, (LayerTypeCode)
input '':U, (LayerCode)
output dataset tqLayerByCodeTypeCode) in BLayer>
find first tqLayerByCodeTypeCode where
tqLayerByCodeTypeCode.tcLayerTypeCode = {&LAYERTYPECODE-OFFICIAL} and
tqLayerByCodeTypeCode.tlLayerIsActive = true
no-error.
assign viOfficialLayerId = tqLayerByCodeTypeCode.tiLayer_ID
vcOfficialLayerCode = tqLayerByCodeTypeCode.tcLayerCode.
leave.
end. /* if {&tiLayer_ID} = ? or */
vhQuery:get-next().
end. /* do while not vhQuery:query-off-end: */
vhQuery:query-close().
delete object vhQuery.
/* Fill in missing data because of backward compatibility and also fill in translations */
create query vhQuery in widget-pool "non-persistent".
vhQuery:forward-only = yes.
vhQuery:set-buffers(ih_Buffer).
vhQuery:query-prepare("for each ":U + ih_Buffer:table).
vhQuery:query-open().
vhQuery:get-first().
do while not vhQuery:query-off-end:
/* Fill in missing layer before Year-end-closing was extended about layer closing */
if {&tiLayer_ID} = ? or
{&tiLayer_ID} = 0
then assign {&tiLayer_ID} = viOfficialLayerId
{&tcLayerCode} = vcOfficialLayerCode
{&tcLayerTypeCode} = {&LAYERTYPECODE-OFFICIAL}.
/* Fill in Layer type translation */
assign {&tcLayerTypeCodeTr} = entry(lookup({&tcLayerTypeCode}, vcLayerTypes, chr(2))
- (if lookup({&tcLayerTypeCode},vcLayerTypes,chr(2)) modulo 2 = 0 then 1 else 0),
vcLayerTypes, chr(2)).
vhQuery:get-next().
end.
vhQuery:query-close().
delete object vhQuery.