project QadFinancials > class BBudget > method CalcAllSelectBudget

query calculated fields procedure

Description

This method is to assign a value to query calculated fields


Parameters


iiCompanyIdinputintegerCompany ID
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
query SelectBudget


program code (program1/bbudget.p)

if vcListBudgetOverRuns = "":U
    then assign vcListBudgetOverRuns = {&BUDGETOVERRUNS}.

if vcListBudgetStatuses = "":U
    then assign vcListBudgetStatuses = {&BUDGETSTATUSES}.

if vcListBudgetTypes = "":U
    then assign vcListBudgetTypes = {&BUDGETTYPES}.

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:
    
    /* CalcBudgetOverrunPeriodSelect */
    
    assign {&tcBudgetOverrunPeriodSelect} = "?":U.
    do viCounter = num-entries(vcListBudgetOverRuns,chr(2)) to 1 by -2 :
        if entry(viCounter,vcListBudgetOverRuns,chr(2)) = {&tcBudgetOverrunPeriod}
        then do :
            assign {&tcBudgetOverrunPeriodSelect} = entry(viCounter - 1,vcListBudgetOverRuns,chr(2)) no-error.
            leave.
        end. /* if entry */
    end.
    
    /* CalcBudgetOverrunTotalSelect */
    
    assign {&tcBudgetOverrunTotalSelect} = "?":U.
    do viCounter = num-entries(vcListBudgetOverRuns,chr(2)) to 1 by -2 :
        if entry(viCounter,vcListBudgetOverRuns,chr(2)) = {&tcBudgetOverrunTotal}
        then do :
            assign {&tcBudgetOverrunTotalSelect} = entry(viCounter - 1,vcListBudgetOverRuns,chr(2)) no-error.
            leave.
        end. /* if entry */
    end.
    
    /* CalcBudgetOverrunYTDSelect */
    
    assign {&tcBudgetOverrunYTDSelect} = "?":U.
    do viCounter = num-entries(vcListBudgetOverRuns,chr(2)) to 1 by -2 :
        if entry(viCounter,vcListBudgetOverRuns,chr(2)) = {&tcBudgetOverrunYTD}
        then do :
            assign {&tcBudgetOverrunYTDSelect} = entry(viCounter - 1,vcListBudgetOverRuns,chr(2)) no-error.
            leave.
        end. /* if entry */
    end.
    
    /* CalcBudgetStatusSelect*/
    
    assign {&tcBudgetStatusSelect} = "?":U.
    do viCounter = num-entries(vcListBudgetStatuses,chr(2)) to 1 by -2 :
        if entry(viCounter,vcListBudgetStatuses,chr(2)) = {&tcBudgetStatus}
        then do :
            assign {&tcBudgetStatusSelect} = entry(viCounter - 1,vcListBudgetStatuses,chr(2)) no-error.
            leave.
        end. /* if entry */
    end.
    
    /* CalcBudgetTypeSelect*/
    
    assign {&tcBudgetTypeSelect} = "?":U.
    do viCounter = num-entries(vcListBudgetTypes,chr(2)) to 1 by -2 :
        if entry(viCounter,vcListBudgetTypes,chr(2)) = {&tcBudgetType}
        then do :
            assign {&tcBudgetTypeSelect} = entry(viCounter - 1,vcListBudgetTypes,chr(2)) no-error.
            leave.
        end. /* if entry */
    end.

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