project QadFinancials > class BBillSchedule > method CalcAllSelectBillSchedule

query calculated fields procedure

Description

Assign a value to query calculated fields


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
query SelectBillSchedule


program code (program1/bbillschedule.p)

assign vcBillSchedulePatterns = {&BILLSCHEDULEPATTERNS}
       vcBillScheduleSelectInvBasedOn = {&BILLSCHEDULESELECTINVBASEDON}
       vcBillScheduleDueDateCalTypes = {&BILLSCHEDULEDUEDATETYPES}.

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 {&tcPattern} = "?":U
           {&tcSelectInv} = "?":U
           {&tcDueDate} = "?":U.
    do viCounter = num-entries(vcBillSchedulePatterns, chr(2)) to 1 by -2 :
        if entry(viCounter, vcBillSchedulePatterns, chr(2)) = {&tcBillSchedulePattern}
        then do :
            assign {&tcPattern} = entry(viCounter - 1, vcBillSchedulePatterns, chr(2)) no-error.
            leave.
        end. /* if entry */
    end.

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

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