project QadFinancials > class BMirroringGL > method CalcAllSelectMirroringGL

query calculated fields procedure

Description

Assign a value to query calculated fields


Parameters


iiCompanyIdinputintegerCompany id
iiDomainIdinputinteger
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
query SelectMirroringGL


program code (program1/bmirroringgl.p)

assign vcGLTYPECODES ={&GLTYPECODES}.
assign vcGLSYSTEMTYPES ={&GLSYSTEMTYPES}.
assign vcMIRRORINGGLSPLITGLTYPES ={&MIRRORINGGLSPLITGLTYPES}.
assign vcMIRRORINGGLTRANS1JOURNALS ={&MIRRORINGGLTRANS1JOURNALS}.
assign vcMIRRORINGGLTRANS2JOURNALS ={&MIRRORINGGLTRANS2JOURNALS}.

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:
    assign {&tcSource1GLTypeCodeTr}        = "?":U
           {&tcSource2GLTypeCodeTr}        = "?":U
           {&tcSource1GLSystemTypeTr}      = "?":U
           {&tcSource2GLSystemTypeTr}      = "?":U
           {&tcMirroringGLSPlitGLTypeTr}   = "?":U
           {&tcMirroringGLTrans1JournalTr} = "?":U
           {&tcMirroringGLTrans2JournalTr} = "?":U.

    do viCounter = num-entries(vcGLTYPECODES, chr(2)) to 2 by -2:
        if entry(viCounter, vcGLTYPECODES, chr(2)) = {&tcSource1GLTypeCode}
        then do:
            assign {&tcSource1GLTypeCodeTr} = entry(viCounter - 1, vcGLTYPECODES, chr(2)).
            leave.
        end.
    end. 

    do viCounter = num-entries(vcGLTYPECODES, chr(2)) to 2 by -2:
        if entry(viCounter, vcGLTYPECODES, chr(2)) = {&tcSource2GLTypeCode}
        then do:
            assign {&tcSource2GLTypeCodeTr} = entry(viCounter - 1, vcGLTYPECODES, chr(2)).
            leave.
        end.
    end. 
 
    do viCounter = num-entries(vcGLSYSTEMTYPES, chr(2)) to 2 by -2:
        if entry(viCounter, vcGLSYSTEMTYPES, chr(2)) = {&tcSource1GLSystemType}
        then do:
            assign {&tcSource1GLSystemTypeTr} = entry(viCounter - 1,vcGLSYSTEMTYPES, chr(2)).
            leave.
        end.
    end. 

    do viCounter = num-entries(vcGLSYSTEMTYPES, chr(2)) to 2 by -2:
        if entry(viCounter, vcGLSYSTEMTYPES, chr(2)) = {&tcSource2GLSYSTEMTYPE}
        then do:
            assign {&tcSource2GLSystemTypeTr} = entry(viCounter - 1, vcGLSYSTEMTYPES, chr(2)).
            leave.
        end.
    end.

    do viCounter = num-entries(vcMIRRORINGGLSPLITGLTYPES, chr(2)) to 2 by -2:
        if entry(viCounter, vcMIRRORINGGLSPLITGLTYPES, chr(2)) = {&tcMirroringGLSPlitGLType}
        then do:
            assign {&tcMirroringGLSPlitGLTypeTr} = entry(viCounter - 1, vcMIRRORINGGLSPLITGLTYPES, chr(2)).
            leave.
        end.
    end.

    do viCounter = num-entries(vcMIRRORINGGLTRANS1JOURNALS, chr(2)) to 2 by -2:
        if entry(viCounter, vcMIRRORINGGLTRANS1JOURNALS, chr(2)) = {&tcMirroringGLTrans1Journal}
        then do:
            assign {&tcMirroringGLTrans1JournalTr} = entry(viCounter - 1, vcMIRRORINGGLTRANS1JOURNALS, chr(2)).
            leave.
        end.
    end.

    do viCounter = num-entries(vcMIRRORINGGLTRANS2JOURNALS, chr(2)) to 2 by -2:
        if entry(viCounter, vcMIRRORINGGLTRANS2JOURNALS, chr(2)) = {&tcMirroringGLTrans2Journal}
        then do:
            assign {&tcMirroringGLTrans2JournalTr} = entry(viCounter - 1, vcMIRRORINGGLTRANS2JOURNALS, chr(2)).
            leave.
        end.
    end.

    vhQuery:get-next().
end.
vhQuery:query-close().
delete object vhQuery.