project QadFinancials > class BCashBoxReport > method CashPaid

report procedure


Parameters


icLanguageCodeinputcharacter
tFilterinputtemp-table
dcrCashPaidoutputdataset
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


unused


program code (program1/bcashboxreport.p)

empty temp-table tqCashPaid.
    
<M-1 run GetReportLabels
   (input  'CashPaid':U (icReportName), 
    input  icLanguageCode (icLanguageCode), 
    input  tFilter (tFilter), 
    output tqHeader (tqHeader), 
    output tqFilter (tqFilter), 
    output tqText (tqText), 
    output oiReturnStatus (oiReturnStatus)) in BCashBoxReport>

if oiReturnStatus <> 0
then return.

find first tqHeader no-error.
if available tqHeader
then assign tqHeader.tcReportTitle = #T-15'Cash Paid':40(999890341)T-15#
    tqHeader.tcExtraInfo = #T-16'Petty Cash Report':30(53047)T-16# + " - ":U.

<M-2 run SetDataItemsBasedOnFilterTT  (output oiReturnStatus (oiReturnStatus)) in BCashBoxReport>
/*bank state line's id must be filled*/
if vcCandoBankStateLineIDFilter = ?
then do:
    <M-3 run SetMessage
       (input  #T-17'No bank statement lines have been specified.':100(999890337)T-17# (icMessage), 
        input  '':U (icArguments), 
        input  '':U (icFieldName), 
        input  '':U (icFieldValue), 
        input  'E':U (icType), 
        input  3 (iiSeverity), 
        input  '':U (icRowid), 
        input  'QadFin-9113':U (icFcMsgNumber), 
        input  '':U (icFcExplanation), 
        input  '':U (icFcIdentification), 
        input  '':U (icFcContext), 
        output oiReturnStatus (oiReturnStatus)) in BCashBoxReport>
    assign oiReturnStatus = -1.
    return.                     
end.

/*cache queries*/
<Q-4 run JournalPrim (all) (Read) (NoCache)
   (input viCompanyId, (CompanyId)
    input ?, (JournalCode)
    input ?, (JournalID)
    output dataset tqJournalPrim) in BJournal >           
<Q-5 run PeriodByYearPeriod (all) (Read) (NoCache)
   (input viCompanyId, (CompanyId)
    input ?, (PeriodYear)
    input ?, (PeriodPeriod)
    input ?, (PeriodId)
    output dataset tqPeriodByYearPeriod) in BPeriod >    

/*business relation informations for company*/                            
<Q-6 run BusinessRelationByCompanyID (all) (Read) (NoCache)
   (input viCompanyId, (CompanyId)
    input {&ADDRESSTYPECODESYSTEM-HEADOFFICE}, (AddressType)
    output dataset tqBusinessRelationByCompanyID) in BCashBoxReport >    

/*core query*/
<Q-7 run BaseCashOperation (all) (Read) (NoCache)
   (input viCompanyId, (CompanyId)
    input {&BANKSTATETRANSTYPE-CASH}, (BankStateTransactionType)
    input vcCandoBankStateLineIDFilter, (CanDoBankStateLines)
    output dataset tqBaseCashOperation) in BCashBoxReport >           
                            
<Q-8 run BusinessRelationByBRID  (Start) in BCashBoxReport > 
<Q-9 run GetCurrDescriptions  (Start) in BCashBoxReport >                                                    
for each tqBaseCashOperation:
    /*only input lines could displayed*/
    if tqBaseCashOperation.tcBankStateLineInOut = "+":U
    then next.

    create tqCashPaid.
    buffer-copy tqBaseCashOperation to tqCashPaid.
    
    assign tqCashPaid.tcCurrencyCode         = tqBaseCashOperation.tcCurrencyCode
           tqCashPaid.tcCurrencyCodeBankLine = tqBaseCashOperation.tcCurrencyCode
           tqCashPaid.tcCurrencyCodeLC       = tqBaseCashOperation.tcCurrencyCode
           tqCashPaid.tcCurrencyCodePosting  = tqBaseCashOperation.tcPostingLineCurrency.
        
    /*business relation informations for company*/    
    find first tqBusinessRelationByCompanyID no-lock no-error.
    if available tqBusinessRelationByCompanyID then                            
    assign tqCashPaid.tcBusinessRelationName1Comp   = tqBusinessRelationByCompanyID.tcBusinessRelationName1
        tqCashPaid.tcAddressCityComp                = tqBusinessRelationByCompanyID.tcAddressCity
        tqCashPaid.tcAddressStreet1Comp             = tqBusinessRelationByCompanyID.tcAddressStreet1
        tqCashPaid.tcAddressStreet2Comp             = tqBusinessRelationByCompanyID.tcAddressStreet2
        tqCashPaid.tcAddressZipComp                 = tqBusinessRelationByCompanyID.tcAddressZip.
        
    vdAmount = ABS(tqBaseCashOperation.tdBankStateLineAmountTC).
    tqCashPaid.tiDollarAmount = INT(TRUNCATE(vdAmount, 0)).
    tqCashPaid.tiCentAmount = INT((vdAmount - tqCashPaid.tiDollarAmount) * 100).
    
    <Q-10 run GetCurrDescriptions (all) (Read) (NoCache)
       (input tqCashPaid.tcCurrencyCode, (CurrencyCode)
        output dataset tqGetCurrDescriptions) in BCashBoxReport >        

    find first tqGetCurrDescriptions no-lock no-error.
    if available tqGetCurrDescriptions then do:    
       tqCashPaid.tcDollarCurrency = tqGetCurrDescriptions.tcCurrencyDescription.
       tqCashPaid.tcCentCurrency = tqGetCurrDescriptions.tcCurrencyDecimalDescription.    
    end.           
        
    find first tqJournalPrim where tqJournalPrim.tiJournal_ID = tqBaseCashOperation.tiJournal_ID no-error.
    if available tqJournalPrim
    then 
    assign tqCashPaid.tcJournalCode = tqJournalPrim.tcJournalCode.
    
    find first tqPeriodByYearPeriod where tqPeriodByYearPeriod.tiPeriod_ID = tqBaseCashOperation.tiPeriod_ID no-error.
    if available tqPeriodByYearPeriod
    then
    assign tqCashPaid.tiPeriodYear = tqPeriodByYearPeriod.tiPeriodYear.
        
    if(tqBaseCashOperation.tiCInvoice_ID <> 0)
    then do:
        assign tqCashPaid.tiVoucherReference = tqBaseCashOperation.tiCInvoiceVoucher.
    
        find first tqJournalPrim where tqJournalPrim.tiJournal_ID = tqBaseCashOperation.tiCInvJournal_ID no-error.
        if available tqJournalPrim
        then assign tqCashPaid.tcJournalCodeReference = tqJournalPrim.tcJournalCode.
        
        find first tqPeriodByYearPeriod where tqPeriodByYearPeriod.tiPeriod_ID = tqBaseCashOperation.tiCInvPeriod_ID no-error.
        if available tqPeriodByYearPeriod
        then assign tqCashPaid.tiPeriodYearReference = tqPeriodByYearPeriod.tiPeriodYear.
        
        <Q-11 run BusinessRelationByBRID (all) (Read) (NoCache)
           (input {&ADDRESSTYPECODESYSTEM-HEADOFFICE}, (AddressType)
            input tqBaseCashOperation.tiCrBusRel_ID, (BusinessRelationID)
            output dataset tqBusinessRelationByBRID) in BCashBoxReport >

        find first tqBusinessRelationByBRID no-error.
        if available tqBusinessRelationByBRID
        then do:
            assign tqCashPaid.tcBusinessRelationName1   = tqBusinessRelationByBRID.tcBusinessRelationName1
                tqCashPaid.tcAddressCity                = tqBusinessRelationByBRID.tcAddressCity
                tqCashPaid.tcAddressStreet1             = tqBusinessRelationByBRID.tcAddressStreet1
                tqCashPaid.tcAddressStreet2             = tqBusinessRelationByBRID.tcAddressStreet2
                tqCashPaid.tcAddressZip                 = tqBusinessRelationByBRID.tcAddressZip.
        end.                                 
    end.
    
    if(tqBaseCashOperation.tiDInvoice_ID <> 0)
    then do:
        assign tqCashPaid.tiVoucherReference = tqBaseCashOperation.tiDInvoiceVoucher.

        find first tqJournalPrim where tqJournalPrim.tiJournal_ID = tqBaseCashOperation.tiDInvJournal_ID no-error.
        if available tqJournalPrim
        then assign tqCashPaid.tcJournalCodeReference = tqJournalPrim.tcJournalCode.
        
        find first tqPeriodByYearPeriod where tqPeriodByYearPeriod.tiPeriod_ID = tqBaseCashOperation.tiDInvPeriod_ID no-error.
        if available tqPeriodByYearPeriod
        then assign tqCashPaid.tiPeriodYearReference = tqPeriodByYearPeriod.tiPeriodYear.

            <Q-12 run BusinessRelationByBRID (all) (Read) (NoCache)
               (input {&ADDRESSTYPECODESYSTEM-HEADOFFICE}, (AddressType)
                input tqBaseCashOperation.tiDebBusRel_ID, (BusinessRelationID)
                output dataset tqBusinessRelationByBRID) in BCashBoxReport >    
                
        find first tqBusinessRelationByBRID no-error.
        if available tqBusinessRelationByBRID
        then do:
            assign tqCashPaid.tcBusinessRelationName1   = tqBusinessRelationByBRID.tcBusinessRelationName1
                tqCashPaid.tcAddressCity                = tqBusinessRelationByBRID.tcAddressCity
                tqCashPaid.tcAddressStreet1             = tqBusinessRelationByBRID.tcAddressStreet1
                tqCashPaid.tcAddressStreet2             = tqBusinessRelationByBRID.tcAddressStreet2
                tqCashPaid.tcAddressZip                 = tqBusinessRelationByBRID.tcAddressZip.
        end.                                 
    end.
    
    if(tqBaseCashOperation.tiAloccPosting_ID <> 0 and tqBaseCashOperation.tiCInvoice_ID = 0 and tqBaseCashOperation.tiDInvoice_ID = 0)
    then do:
        assign tqCashPaid.tiVoucherReference = tqBaseCashOperation.tiAlocPostingVoucher.
    
        find first tqJournalPrim where tqJournalPrim.tiJournal_ID = tqBaseCashOperation.tiAlocJournal_ID no-error.
        if available tqJournalPrim
        then assign tqCashPaid.tcJournalCodeReference = tqJournalPrim.tcJournalCode.
        
        find first tqPeriodByYearPeriod where tqPeriodByYearPeriod.tiPeriod_ID = tqBaseCashOperation.tiAlocPeriod_ID no-error.
        if available tqPeriodByYearPeriod
        then assign tqCashPaid.tiPeriodYearReference = tqPeriodByYearPeriod.tiPeriodYear.
    end.
    
    if tqCashPaid.tiVoucherReference = 0
    then assign tqCashPaid.tiVoucherReference     = tqCashPaid.tiPostingVoucher
                tqCashPaid.tcJournalCodeReference = tqCashPaid.tcJournalCode
                tqCashPaid.tiPeriodYearReference  = tqCashPaid.tiPeriodYear.
                                                                                        
end.                            
<Q-13 run BusinessRelationByBRID  (Stop) in BCashBoxReport > 
<Q-14 run GetCurrDescriptions  (Stop) in BCashBoxReport >