project QadFinancials > class BCCollectionReport > method CCollectionReport

report procedure


Parameters


icLanguageCodeinputcharacter
tFilterinputtemp-table
dcrCCollectionReportoutputdataset
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


unused


program code (program7/bccollectionreport.p)

empty temp-table tqCCollectionReport.

<M-9 run GetReportLabels (input  'CCollectionReport':U (icReportName), 
                          input  icLanguageCode (icLanguageCode), 
                          input  tFilter (tFilter), 
                          output tqHeader (tqHeader), 
                          output tqFilter (tqFilter), 
                          output tqText (tqText), 
                          output oiReturnStatus (oiReturnStatus)) in BCCollectionReport>

if oiReturnStatus <> 0
then return.

<M-6 run SetDataItemsBasesOnFilterTT (output oiReturnStatus (oiReturnStatus)) in BCCollectionReport>

/*
if vcFilterCollectionNumber = ?
then assign vcFilterCollectionNumber = "":U.
if vtFilterFromCreationDate = ?
then assign vtFilterFromCreationDate  = date(01,01,1900).
if vtFilterTillCreationDate = ?
then assign vtFilterTillCreationDate  = date(12,31,9999).
if viFilterFromCreationTime = ?
then assign viFilterFromCreationTime = 0.
if viFilterTillCreationTime = ?
then assign viFilterTillCreationTime = 999999999999.
if vdFilterFromAmount = ?
then assign vdFilterFromAmount = -9999999999999.
if vdFilterTillAmount = ?
then assign vdFilterTillAmount = +9999999999999.
*/

<Q-2 run CCollectionByReference (all) (Read) (NoCache)
   (input viCompanyId, (CompanyId)
    input vtFilterFromCreationDate, (FromCreationDate)
    input vtFilterTillCreationDate, (TillCreationDate)
    input viFilterFromCreationTime, (FromCreationTime)
    input viFilterTillCreationTime, (TillCreationTime)
    input vcFilterUser, (User)
    input vdFilterFromAmount, (FromAmount)
    input vdFilterTillAmount, (TillAmount)
    input vcFilterPaySelCodeList, (PaySelCodeList)
    input vlFilterIsExecuted, (IsExecuted)
    input vlFilterIsAutomatic, (IsAutomatic)
    input vcFilterGLCode, (GLCode)
    output dataset tqCCollectionByReference) in BCCollectionReport>

<Q-3 run CCollectionOwnBankNumber (Start) in BCCollectionReport >
for each tqCCollectionByReference break by tqCCollectionByReference.tcCCollectionReference:
    create tqCCollectionReport.
    buffer-copy tqCCollectionByReference to tqCCollectionReport.
    assign tqCCollectionReport.tiCColRepNumber           = tqCCollectionByReference.tiCCollectionNumber
           tqCCollectionReport.tiCColRepYear             = tqCCollectionByReference.tiCCollectionYear
           tqCCollectionReport.tcCColRepReference        = tqCCollectionByReference.tcCCollectionReference
           tqCCollectionReport.ttCColRepLasModDate       = tqCCollectionByReference.ttLastModifiedDate
           tqCCollectionReport.tcCColRepLastModUser      = tqCCollectionByReference.tcLastModifiedUser
           tqCCollectionReport.ttCColRepCreationDate     = tqCCollectionByReference.ttCDocumentCreationDate
           tqCCollectionReport.tcCColRepCreationTime     = STRING(tqCCollectionByReference.tiCCollectionCreationTime,"hh:mm:ss")
           tqCCollectionReport.tcCColRepCreationUser     = tqCCollectionByReference.tcUsrName
           tqCCollectionReport.tlCColRepIsAutomatic      = tqCCollectionByReference.tlCCollectionIsAutomatic
           tqCCollectionReport.tcCColRepPaySelCodeList   = tqCCollectionByReference.tcCCollectionPaySelCodeList
           tqCCollectionReport.tiCColRepGLID             = tqCCollectionByReference.tiCCollectionGL_ID
           /*tqCCollectionReport.tdCColRepBalanceTC        = tqCCollectionByReference.tdCCollectionBalanceTC*/
           tqCCollectionReport.tcCColRepBankCurrency     = tqCCollectionByReference.tcBankCurrency
           tqCCollectionReport.tcCColRepGLCode           = tqCCollectionByReference.tcCDocGLCode
           tqCCollectionReport.tcCColRepBRCode           = tqCCollectionByReference.tcBusinessRelationCode
           tqCCollectionReport.tcCColREpBRName1          = tqCCollectionByReference.tcBusinessRelationName1
           tqCCollectionReport.tcCColREpBRName2          = tqCCollectionByReference.tcBusinessRelationName2
           tqCCollectionReport.tcCColRepCDocType         = tqCCollectionByReference.tcCDocumentType
           tqCCollectionReport.tiCColRepCDocYear         = tqCCollectionByReference.tiCDocumentYear
           tqCCollectionReport.tiCColRepCDocNumber       = tqCCollectionByReference.tiCDocumentNumber
           tqCCollectionReport.tcCColRepCDocReference    = tqCCollectionByReference.tcCDocumentReference
           tqCCollectionReport.ttCColRepCDocDueDate      = tqCCollectionByReference.ttCDocumentDueDate
           tqCCollectionReport.tiCColRepCDocValueDays    = tqCCollectionByReference.tiCDocumentValueDays
           tqCCollectionReport.tdCColRepCDocAmountTC     = tqCCollectionByReference.tdCDocumentOriginalDebitTC - tqCCollectionByReference.tdCDocumentOriginalCreditTC
           tqCCollectionReport.tcCColRepCurency          = tqCCollectionByReference.tcCurrencyCode
           tqCCollectionReport.tdCColRepCDocAmountLC     = tqCCollectionByReference.tdCDocumentOriginalDebitLC - tqCCollectionByReference.tdCDocumentOriginalCreditLC
           tqCCollectionReport.ttCColRepCDocCreationDate = tqCCollectionByReference.ttCDocumentCreationDate
           tqCCollectionReport.ttCColRepLastPrintedDate  = tqCCollectionByReference.ttCDocumentLastPrintDate
           tqCCollectionReport.tiCColRepCDocTimesPrinted = tqCCollectionByReference.tiCDocumentTimesPrinted.

    assign vdCollectionBalanceTemp = 0.
    assign vcDummyTemp = ''.
    assign viDummyTemp = 0.
    assign vhFcComponent = ?.
    <M-10 run ApiBankNumberInfo
       (input  tqCCollectionByReference.tiCCollectionGL_ID (iiGL_ID), 
        input  vcDummyTemp (icGLCode), 
        output vcDummyTemp (ocBankNumber), 
        output vcDummyTemp (ocBankCurrencyCode), 
        output vdCollectionBalanceTemp (odBankBalanceBC), 
        output viDummyTemp (oiBankNumber_ID), 
        output viDummyTemp (oiNumberOfDecimals), 
        output oiReturnStatus (oiReturnStatus)) in BPaymentSelection>
    assign tqCCollectionReport.tdCColRepBalanceTC = vdCollectionBalanceTemp.

    if first-of (tqCCollectionByReference.tcCCollectionReference)
    then do:
        assign tqCCollectionReport.tlDiffTransCurrency = false. 
        assign vcTransCurrencyTemp = tqCCollectionByReference.tcCurrencyCode.
    end.
    else do:
        if vcTransCurrencyTemp <> tqCCollectionByReference.tcCurrencyCode
        then do:
            assign tqCCollectionReport.tlDiffTransCurrency = true.
            for each btqCCollectionReport
                where btqCCollectionReport.tcCColRepReference = tqCCollectionReport.tcCColRepReference:
                assign btqCCollectionReport.tlDiffTransCurrency = true.
            end.
        end.
        else assign tqCCollectionReport.tlDiffTransCurrency = false. 
    end.

    case tqCCollectionByReference.tcCDocumentStatus:
        when {&DOCUMENTSTATUS-INCASSO}
        then tqCCollectionReport.tcCColRepCDocStatus = {&DOCUMENTSTATUS-INCASSO-TR}.
        when {&DOCUMENTSTATUS-ACCEPT}
        then tqCCollectionReport.tcCColRepCDocStatus = {&DOCUMENTSTATUS-ACCEPT-TR}. 
        when {&DOCUMENTSTATUS-BOUNCED}
        then tqCCollectionReport.tcCColRepCDocStatus = {&DOCUMENTSTATUS-BOUNCED-TR}. 
        when {&DOCUMENTSTATUS-DISCONT}
        then tqCCollectionReport.tcCColRepCDocStatus = {&DOCUMENTSTATUS-DISCONT-TR}. 
        when {&DOCUMENTSTATUS-INIT}
        then tqCCollectionReport.tcCColRepCDocStatus = {&DOCUMENTSTATUS-INIT-TR}. 
        when {&DOCUMENTSTATUS-PAID}
        then tqCCollectionReport.tcCColRepCDocStatus = {&DOCUMENTSTATUS-PAID-TR}. 
        when {&DOCUMENTSTATUS-PAIDCON}
        then tqCCollectionReport.tcCColRepCDocStatus = {&DOCUMENTSTATUS-PAIDCON-TR}. 
        when {&DOCUMENTSTATUS-PORTFOLIO}
        then tqCCollectionReport.tcCColRepCDocStatus = {&DOCUMENTSTATUS-PORTFOLIO-TR}. 
        when {&DOCUMENTSTATUS-VOID}
        then tqCCollectionReport.tcCColRepCDocStatus = {&DOCUMENTSTATUS-VOID-TR}.         
    end.

    <Q-4 run CCollectionOwnBankNumber (all) (Read) (NoCache)
       (input 'GL':U, (ParentType)
        input tqCCollectionByReference.tiCCollectionGL_ID, (ParentObjectID)
        output dataset tqCCollectionOwnBankNumber) in BCCollectionReport >
    find first tqCCollectionOwnBankNumber no-lock no-error.
    if available  tqCCollectionOwnBankNumber
    then do:
        assign tqCCollectionReport.tcCColRepBankNumber  = tqCCollectionOwnBankNumber.tcBankNumber.
    end.
end.
<Q-5 run CCollectionOwnBankNumber (Stop) in BCCollectionReport >