project QadFinancials > class BDebtor > method GetHighestReminderLeverl


Parameters


iiDebtorIDinputinteger
iiCompanyIDinputinteger
oiHighestReminderLeveloutputinteger
icCompanyListIDinputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


unused


program code (program1/bdebtor.p)

assign oiHighestReminderLevel = 0.

/* Get highest reminder level from selected companies and all companyies*/
if iiDebtorID <> ? and iiDebtorID <> 0
then do:
    /* For all companies*/
    if trim(icCompanyListID) = ? or trim(icCompanyListID) = '' 
    then do:
        <Q-1 run DInvoiceByDebtorForReminderLvl (all) (Read) (NoCache)
           (input ?, (CompanyId)
            input iiDebtorID, (DebtorID)
            output dataset tqDInvoiceByDebtorForReminderLvl) in BDInvoice >
        find first tqDInvoiceByDebtorForReminderLvl no-error.
        if available tqDInvoiceByDebtorForReminderLvl then
            assign oiHighestReminderLevel = tqDInvoiceByDebtorForReminderLvl.tiDInvoiceReminderCount.
    end. /* if trim(icCompanyListID) = ? or trim(icCompanyListID) = ''  */
    else do:
         /* For each on company list to improve performance */
        COMPANYBLOCK:
        do viCompanyCnt = num-entries(icCompanyListID, ',':U) to 1 by -1:
            assign viTempCompanyID = integer(entry(viCompanyCnt, icCompanyListID)) no-error.
            if error-status:error
            then do:
                assign vcMessage      = trim(#T-2'Could not retrieve the company ID from the company ID list.':255(65177)t-2#)
                       oiReturnStatus = -3.
                <M-3 run SetMessage
                   (input  vcMessage (icMessage), 
                    input  '':U (icArguments), 
                    input  '':U (icFieldName), 
                    input  '':U (icFieldValue), 
                    input  'E':U (icType), 
                    input  3 (iiSeverity), 
                    input  '':U (icRowid), 
                    input  'QadFin-7945':U (icFcMsgNumber), 
                    input  '':U (icFcExplanation), 
                    input  '':U (icFcIdentification), 
                    input  '':U (icFcContext), 
                    output viFcReturnSuper (oiReturnStatus)) in BDebtor>
                leave COMPANYBLOCK.
            end. /* if error-status:error */
            <Q-4 run DInvoiceByDebtorForReminderLvl (all) (Read) (NoCache)
               (input viTempCompanyID, (CompanyId)
                input iiDebtorID, (DebtorID)
                output dataset tqDInvoiceByDebtorForReminderLvl) in BDInvoice >
            find first tqDInvoiceByDebtorForReminderLvl no-error.
            if available tqDInvoiceByDebtorForReminderLvl then
                assign viTempHighestlvl = tqDInvoiceByDebtorForReminderLvl.tiDInvoiceReminderCount.
            if viTempHighestlvl > oiHighestReminderLevel then
                assign oiHighestReminderLevel = viTempHighestlvl.
        end.  /* do viCompanyCnt = num-entries(icCompanyListID, ',':U) to 1 by -1: */
    end.  /* else do: */
end.  /* if iiDebtorID <> ? and iiDebtorID <> 0*/