project QadFinancials > class BDDocument > method CalcAllSelectDDocumentPosting

query calculated fields procedure

Description

Assign a value to query calculated fields


Parameters


iiCompanyIdinputintegerCompany id
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
query SelectDDocumentPosting


program code (program1/bddocument.p)

assign vcListDayBookType     = {&JOURNALTYPES}
       vcListGLType          = {&GLTYPECODES}
       vcListGLSysType       = {&GLSYSTEMTYPES}
       vcListDDocumentType   = {&DOCUMENTTYPEDEBTORS}.

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:

    /* Net amounts */
    assign {&tdAmountTCCalc} = {&tdPostingLineDebitTC} - {&tdPostingLineCreditTC}
           {&tdAmountLCCalc} = {&tdPostingLineDebitLC} - {&tdPostingLineCreditLC}
           {&tdAmountCCCalc} = {&tdPostingLineDebitCC} - {&tdPostingLineCreditCC}.

    /* DDocumentStatus */
    assign {&tcDDocumentStatusCalc}   = <M-73 GetDDocumentStatusTranslation  (input  {&tcDDocumentStatus} (icStatus)) in BDDocument>.

    /* DDocumentType */    
    assign {&tcDDocumentTypeCalc} = "?":U.
    do viCounter = num-entries(vcListDDocumentType,chr(2)) to 1 by -2 :
        if entry(viCounter,vcListDDocumentType,chr(2)) = {&tcDDocumentType}
        then do :
            assign {&tcDDocumentTypeCalc} = entry(viCounter - 1,vcListDDocumentType,chr(2)) no-error.
            leave.
        end. /* if entry */
    end.    

    /* DayBookType */    
    assign {&tcDayBookTypeCalc} = "?":U.
    do viCounter = num-entries(vcListDayBookType,chr(2)) to 1 by -2 :
        if entry(viCounter,vcListDayBookType,chr(2)) = {&tcJournalTypeCode}
        then do :
            assign {&tcDayBookTypeCalc} = entry(viCounter - 1,vcListDayBookType,chr(2)) no-error.
            leave.
        end. /* if entry */
    end.    

    /* GLType */    
    assign {&tcGLTypeCalc} = "?":U.
    do viCounter = num-entries(vcListGLType,chr(2)) to 1 by -2 :
        if entry(viCounter,vcListGLType,chr(2)) = {&tcGLTypeCode}
        then do :
            assign {&tcGLTypeCalc} = entry(viCounter - 1,vcListGLType,chr(2)) no-error.
            leave.
        end. /* if entry */
    end.    

    /* GLSYSType */    
    assign {&tcGLSysTypeCalc} = "?":U.
    do viCounter = num-entries(vcListGLSysType,chr(2)) to 1 by -2 :
        if entry(viCounter,vcListGLSysType,chr(2)) = {&tcGLTypeCode}
        then do :
            assign {&tcGLSysTypeCalc} = entry(viCounter - 1,vcListGLSysType,chr(2)) no-error.
            leave.
        end. /* if entry */
    end.    

    /* PaymentkeyID */
    assign {&tcPaymentKeyCalc} = string ({&tiDDocumentYear},'9999') + '/' +
                                 {&tcDDocumentTypeCalc} + '/' +
                                 string ({&tiDDocumentNumber}).

    vhQuery:get-next().

end. /* do while */

vhQuery:query-close().
delete object vhQuery.