project QadFinancials > class BJournal > method CalcAllSelectJournal

query calculated fields procedure

Description

This method is used to fill the calculated fields in the SelectJournal query.
Based on the values in the database, it will retrieve the translated values for Controls, Type and LayerType.


Parameters


iiCompanyIdinputintegerCompany id
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
query SelectJournal


program code (program1/bjournal.p)

assign vcJournalControls = {&JOURNALCONTROLS}
       vcJournalTypes    = {&JOURNALTYPES}
       vcLayerTypeCodes  = {&LAYERTYPECODES}.

create query vhQuery in widget-pool "non-persistent".
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:
    assign {&tcJournalControlCalc} = "?":U
           {&tcJournalTypeCodeTr}  = "?":U
           {&tcLayerTypeCodeTr}    = "?":U.
    
    do viCounter = num-entries(vcJournalControls, chr(2)) to 2 by -2:
        if entry(viCounter, vcJournalControls, chr(2)) = {&tcJournalControl}
        then do:
            assign {&tcJournalControlCalc} = entry(viCounter - 1, vcJournalControls, chr(2)).
            leave.
        end.
    end.

    do viCounter = num-entries(vcJournalTypes, chr(2)) to 1 by -2 :
        if entry(viCounter, vcJournalTypes, chr(2)) = {&tcJournalTypeCode}
        then do :
            assign {&tcJournalTypeCodeTr} = entry(viCounter - 1, vcJournalTypes, chr(2)) no-error.
            leave.
        end. /* if entry */
    end.

    do viCounter = num-entries(vcLayerTypeCodes, chr(2)) to 1 by -2 :
        if entry(viCounter, vcLayerTypeCodes, chr(2)) = {&tcLayerTypeCode}
        then do :
            assign {&tcLayerTypeCodeTr} = entry(viCounter - 1, vcLayerTypeCodes, chr(2)) no-error.
            leave.
        end. /* if entry */
    end.
    vhQuery:get-next().
end.
vhQuery:query-close().
delete object vhQuery.