project QadFinancials > class BDebtorReport > method CalculateDIDeductionStatus

Description

Calculate dinvoice deduction status by dinvoice id


Parameters


iiDInvoiceIdinputinteger
ocDIDeductionStatusoutputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BDebtorReport.DebtorAccountState
method BDebtorReport.DebtorReminders


program code (program1/bdebtorreport.p)

assign oiReturnStatus      = 0
       ocDIDeductionStatus = '':U.

if iiDInvoiceId = 0 or iiDInvoiceId = ? then return.

/* get all deduction status */
<Q-66 run DInvoiceDedStatusByDInvoiceID (all) (Read) (NoCache)
    (input ?, (CompanyId)
     input iiDInvoiceId, (DInvoiceID)
     output dataset tqDInvoiceDedStatusByDInvoiceID) in BDInvoice>
find first tqDInvoiceDedStatusByDInvoiceID no-error.
if not available tqDInvoiceDedStatusByDInvoiceID then return.

for each tqDInvoiceDedStatusByDInvoiceID 
    where tqDInvoiceDedStatusByDInvoiceID.tcDInvoiceDeductionStatus = {&INVOICEDEDUCTSTATUS-PENDING}:
    assign ocDIDeductionStatus = {&INVOICEDEDUCTSTATUS-PENDING}.
    return.
end.

for each tqDInvoiceDedStatusByDInvoiceID 
    where tqDInvoiceDedStatusByDInvoiceID.tcDInvoiceDeductionStatus = {&INVOICEDEDUCTSTATUS-APPROVEDCREDIT}:
    assign ocDIDeductionStatus = {&INVOICEDEDUCTSTATUS-APPROVEDCREDIT}.
    return.
end.

for each tqDInvoiceDedStatusByDInvoiceID 
    where tqDInvoiceDedStatusByDInvoiceID.tcDInvoiceDeductionStatus = {&INVOICEDEDUCTSTATUS-REJECTED}:
    assign ocDIDeductionStatus = {&INVOICEDEDUCTSTATUS-REJECTED}.
    return.
end.

assign ocDIDeductionStatus = 'DEDWRITEOFFCREDIT':U.