project QadFinancials > class BCreditorReport > method SetDataItemsBasedOnFilterTT


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BCreditorReport.CInvoiceRegister
method BCreditorReport.CreditorAccountMovements
method BCreditorReport.CreditorAccountsHistory
method BCreditorReport.CreditorAccountsSummary
method BCreditorReport.CreditorAgeingABackwards
method BCreditorReport.CreditorAgeingAnalysisCurrent
method BCreditorReport.CreditorCIREC
method BCreditorReport.CreditorList
method BCreditorReport.CreditorMasterCard
method BCreditorReport.CreditorOpenItems
method BCreditorReport.CreditorOpenItemsDetail
method BCreditorReport.CreditorPrepayments
method BCreditorReport.CreditorWHTCertificate
method BCreditorReport.CreditorWithholdingTax
method BCreditorReport.CreditorWithholdingTaxDue


program code (program1/bcreditorreport.p)

/* Find all filter-parameters and assign them to the correct data-item */
assign viAgeingOffsetFilter1          = ?
       vcAgeingTypeFilter1            = ? 
       vcCandoBRCodeFilter1           = ?
       vcCanDoCCCodeFilter1           = ?
       vcCandoCContrGLCodeFilter1     = ?
       vcCandoCContrGLProfCodeFilter1 = ?
       vcCandoCreditorCodeFilter1     = ?
       vcCandoDivisionCodeFilter1     = ?
       vcCandoJournalCodeFilter1      = ?
       vcCandoProjectCodeFilter1      = ?
       vcCandoPaymentGroupFilter1     = ?
       vcCurrencyCodeFilter1          = ?
       vtDateForAgeingCalcFilter1     = ? 
       vcCreditorBalanceFilter1       = ? 
       vlCreditorPerPageFilter1       = ?
       viFromAccPeriodFilter1         = ? 
       viFromAccYearFilter1           = ? 
       vcFromBRCodeFilter1            = ?
       vcFromCCCodeFilter1            = ?
       vcFromCreditorCodeFilter1      = ?
       vcFromCContrGLCodeFilter1      = ?
       vcFromCContrGLProfCodeFilter1  = ?
       vcFromDivisionCodeFilter1      = ?
       vcFromJournalCodeFilter1       = ?
       vcFromProjectCodeFilter1       = ?
       vcFromPaymentGroupFilter1      = ?
       vlInvoicesWithinTermsFilter1   = ?
       vcReportingCurrencyFilter1     = ?
       viToAccPeriodFilter1           = ?
       viToAccYearFilter1             = ?
       vcToBRCodeFilter1              = ?
       vcToCCCodeFilter1              = ?
       vcToCreditorCodeFilter1        = ?
       vcToCContrGLCodeFilter1        = ?
       vcToCContrGLProfCodeFilter1    = ?
       vcToDivisionCodeFilter1        = ? 
       vcToJournalCodeFilter1         = ?
       vcToProjectCodeFilter1         = ?
       vcToPaymentGroupFilter1        = ?
       vlUnallocatedOnlyFilter1       = ?
       vlCreditorWithMovementsFilter1 = ?
       vcChronologicalLogicalFilter1  = ?
       vcGroupingLevelFilter1         = ?
       vcSummaryByFilter1             = ?
       vcDetailLevelFilter1           = ?
       vlDetailsFilter1               = ?
       vcNatureFilter1                = ?
       vlCalcExtraInfoFilter1         = true
       vlCreditorIsActiveFilter       = ?
       vlCreditorIsIndivPaymentFilter = ?
       vlCreditorIsSendRemitFilter    = ?
       vcVatDeliveryTypeFilter        = ?
       vcVatPercentageLevelFilter     = ?
       vcBusinessRelationNameFilter   = ?
       vcAddressCityFilter            = ?
       vcAddressStreet1Filter         = ? 
       vcProfileCodeCnFilter          = ?
       vcProfileCodeDivFilter         = ?
       vcProfileCodeInvFilter         = ?
       vcPaymentCondCodeNmFilter      = ?
       vcDeliveryCondCodeFilter       = ?
       vcReasonCodeFilter             = ?
       vcBLWIGroupCodeFilter          = ?
       vcPaymentGroupCodeFilter       = ?
       vlCheckHistoryFilterCR         = ?
       vcCRCompanyFilter              = ?
       vlDetails                      = ?
       vtCInvoiceDateFromFilter       = ?
       vtCInvoiceDateToFilter         = ?
       vcIncludeTypes                 = "":U
       vcTaxIdFederal                 = ?
       vcTaxIdState                   = ?
       vlIncludeUnpostedTransactions1 = ?
       vlIncludeInitial               = ?
       vcSortByFilter1                = ?
       vtFromInvPostingDateFilter     = ?
       vtToInvPostingDateFilter       = ?
       vlOpenOnlyFilter               = ?
       vlReceiptDataFilter            = ?
       vcGLSummaryFilter              = ?
       vcInvoiceDetailFilter          = ?
       vcPurchaseTypeFilter           = ?
       vcCreditorTypeFilter           = ?
       vlIncludeInitials              = false
       viAccYearFilter1               = ?
       vlNewPageForEachSuppFilter     = ?
       viFromWHTNumberFilter          = ?
       viToWHTNumberFilter            = ?
       vlReprintCertificateFilter     = ?
       vlWHTCertificateByPayFilter    = ?
       vcCertificateFormatFilter      = ?
       viFromCDocumentNumberFilter    = ?
       viToCDocumentNumberFilter      = ?
       vcPaySelCodeFilter             = ?
       vtFromCreationDateFilter       = ?
       vtToCreationDateFilter         = ?
       viPaymentMonth                 = ?
       vlWHTByPaymentFilter           = false
       vcWHTDescription               = ?
       viFromVoucherFilter1           = ?
       viToVoucherFilter1             = ?
       vlPrintExpectedTaxAmtFilter    = false
       vdThreshold                    = ?. 
       
/*BE CAREFUL - USE THE SAME STRING CONSTANTS 
a) here after when phrase as well as in
b) GetBusinessFields for assigning tBusinessFields.tcFcFieldName*/
for each tFilter:
    case tFilter.tcBusinessFieldName:
        when "AgeingOffset":U
        then assign viAgeingOffsetFilter1 = int(tFilter.tcParameterValue) no-error.
        when "AgeingType":U
        then assign vcAgeingTypeFilter1 = tFilter.tcParameterValue no-error.
        when "BRCode_CANDO":U
        then assign vcCandoBRCodeFilter1 = tFilter.tcParameterValue no-error.
        when "PaymentGroup1_CANDO":U
        then assign vcCandoPaymentGroupFilter1 = tFilter.tcParameterValue no-error.
        when "CContrGLCode_CANDO":U
        then assign vcCandoCContrGLCodeFilter1 = tFilter.tcParameterValue no-error.
        when "CContrGLProfileCode_CANDO":U
        then assign vcCandoCContrGLProfCodeFilter1 = tFilter.tcParameterValue no-error.
        when "CreditorCode_CANDO":U
        then assign vcCandoCreditorCodeFilter1 = tFilter.tcParameterValue no-error.
        when "DivisionCode_CANDO":U
        then assign vcCandoDivisionCodeFilter1 = tFilter.tcParameterValue no-error.
        when "JournalCode_CANDO":U
        then assign vcCandoJournalCodeFilter1 = tFilter.tcParameterValue no-error.
        when "ProjectCode_CANDO":U
        then assign vcCandoProjectCodeFilter1 = tFilter.tcParameterValue no-error.
        when "CostCentreCode_CANDO":U
        then assign vcCandoCCCodeFilter1 = tFilter.tcParameterValue no-error.
        when "CurrencyCode":U
        then assign vcCurrencyCodeFilter1 = tFilter.tcParameterValue no-error.
        when "DateForAgeingCalc":U
        then assign vtDateForAgeingCalcFilter1 =DATE(INTEGER(SUBSTRING(tFilter.tcParameterValue,5,2,"CHARACTER":U)),integer(SUBSTRING(tFilter.tcParameterValue,7,2,"CHARACTER":U)),INTEGER(SUBSTRING(tFilter.tcParameterValue,1,4,"CHARACTER":U))) no-error.
        when "CreditorBalance":U
        then assign vcCreditorBalanceFilter1 = tFilter.tcParameterValue no-error.
        when "CreditorPerPage":U
        then assign vlCreditorPerPageFilter1 = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlCreditorPerPageFilter1 no-error.  
        /* start --- defect 10249-0550 zhc */
        when "CreditorTotalsOnly":U
        then assign vlCreditorTotalsOnlyFilter1 = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlCreditorTotalsOnlyFilter1 no-error.
        /* end --- defect 10249-0550 zhc */
        when "AccPeriod_RANGE":U
        then do:
             if tFilter.tcOperator = ">=":U
             then assign viFromAccPeriodFilter1 = int(tFilter.tcParameterValue) no-error.
             if tFilter.tcOperator = "<=":U
             then assign viToAccPeriodFilter1 = int(tFilter.tcParameterValue) no-error.
        end.          
        when "AccYear_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign viFromAccYearFilter1 = int(tFilter.tcParameterValue) no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign viToAccYearFilter1 = int(tFilter.tcParameterValue) no-error.
        when "BRCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromBRCodeFilter1 = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToBRCodeFilter1 = tFilter.tcParameterValue no-error.       
        when "PaymentGroup_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromPaymentGroupFilter1 = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToPaymentGroupFilter1 = tFilter.tcParameterValue no-error.
        when "CreditorCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromCreditorCodeFilter1 = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToCreditorCodeFilter1 = tFilter.tcParameterValue no-error.
        when "CContrGLCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromCContrGLCodeFilter1 = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToCContrGLCodeFilter1 = tFilter.tcParameterValue no-error.
        when "CContrGLProfileCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromCContrGLProfCodeFilter1 = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToCContrGLProfCodeFilter1 = tFilter.tcParameterValue no-error.
        when "DivisionCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromDivisionCodeFilter1 = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToDivisionCodeFilter1 = tFilter.tcParameterValue no-error.
        when "JournalCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromJournalCodeFilter1 = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToJournalCodeFilter1 = tFilter.tcParameterValue no-error.
        when "ProjectCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromProjectCodeFilter1 = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToProjectCodeFilter1 = tFilter.tcParameterValue no-error.
        when "CostCentreCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromCCCodeFilter1 = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToCCCodeFilter1 = tFilter.tcParameterValue no-error.
        when "InvoicesWithinTerms":U
        then assign vlInvoicesWithinTermsFilter1  = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlInvoicesWithinTermsFilter1 no-error.
        when "ReportingCurrency":U
        then assign vcReportingCurrencyFilter1 = tFilter.tcParameterValue no-error.
        when "SortBy":U
        then assign vcSortByFilter1 = tFilter.tcParameterValue no-error.
        when "ToAccPeriod":U
        then assign viToAccPeriodFilter1 = int(tFilter.tcParameterValue) no-error.
        when "ToAccYear":U
        then assign viToAccYearFilter1 = int(tFilter.tcParameterValue) no-error.
        when "UnallocatedOnly":U
        then assign vlUnallocatedOnlyFilter1 = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlUnallocatedOnlyFilter1 no-error. 
        when "CalcExtraInfo":U
        then assign vlCalcExtraInfoFilter1 = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlCalcExtraInfoFilter1 no-error.
        when "CreditorWithMovements":U
        then assign vlCreditorWithMovementsFilter1 = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlCreditorWithMovementsFilter1 no-error.
        when "ChronologicalLogical":U
        then assign vcChronologicalLogicalFilter1 = tFilter.tcParameterValue no-error.
        when "GroupingLevel":U
        then assign vcGroupingLevelFilter1 = tFilter.tcParameterValue no-error.
        when "SummaryBy_CANDO":U or when "SummaryBy" /* CA784858 */
        then assign vcSummaryByFilter1 = tFilter.tcParameterValue no-error.
        when "DetailLevel":U
        then assign vcDetailLevelFilter1 = tFilter.tcParameterValue no-error.
        when "Details":U
        then assign vlDetailsFilter1 = if tFilter.tcParameterValue = "true":U 
                                       then true 
                                       else if tFilter.tcParameterValue = "false":U 
                                            then false 
                                            else vlCreditorTotalsOnlyFilter1 no-error.
        when "Nature":U
        then assign vcNatureFilter1 = tFilter.tcParameterValue no-error.
        when "VatDeliveryType":U
        then assign vcVatDeliveryTypeFilter = tFilter.tcParameterValue no-error.
        when "VatPercentageLevel":U
        then assign vcVatPercentageLevelFilter = tFilter.tcParameterValue no-error.
        
        when "BusinessRelationName_CANDO":U
        then assign vcBusinessRelationNameFilter = tFilter.tcParameterValue no-error.
        when "AddressStreet1_CANDO":U
        then assign vcAddressStreet1Filter = tFilter.tcParameterValue no-error.
        when "AddressCity_CANDO":U
        then assign vcAddressCityFilter = tFilter.tcParameterValue no-error.
        when "SendRemittance":U
        then assign vlCreditorIsSendRemitFilter = if tFilter.tcParameterValue = "true":U 
                                                        then true 
                                                        else if tFilter.tcParameterValue = "false":U 
                                                            then false 
                                                            else vlCreditorIsSendRemitFilter no-error.   
        when "IndividualPayments":U
        then assign vlCreditorIsIndivPaymentFilter = if tFilter.tcParameterValue = "true":U 
                                                        then true 
                                                        else if tFilter.tcParameterValue = "false":U 
                                                            then false 
                                                            else vlCreditorIsIndivPaymentFilter no-error.                                                               
        when "ActiveCreditor":U
        then assign vlCreditorIsActiveFilter = if tFilter.tcParameterValue = "true":U 
                                                        then true 
                                                        else if tFilter.tcParameterValue = "false":U 
                                                            then false 
                                                            else vlCreditorIsActiveFilter no-error.    
        when "ProfileCodeCn_CANDO":U
        then assign vcProfileCodeCnFilter = tFilter.tcParameterValue no-error.                                                                 
        when "ProfileCodeDiv_CANDO":U
        then assign vcProfileCodeDivFilter = tFilter.tcParameterValue no-error.                                                                 
        when "ProfileCodeInv_CANDO":U
        then assign vcProfileCodeInvFilter = tFilter.tcParameterValue no-error.                                                                                                                             
        when "PaymentConditionCodeNm_CANDO":U
        then assign vcPaymentCondCodeNmFilter = tFilter.tcParameterValue no-error.    
        when "DeliveryCondCode_CANDO":U
        then assign vcDeliveryCondCodeFilter = tFilter.tcParameterValue no-error.    
        when "Reason_CANDO":U
        then assign vcReasonCodeFilter = tFilter.tcParameterValue no-error.    
        when "BLWIGroup_CANDO":U
        then assign vcBLWIGroupCodeFilter = tFilter.tcParameterValue no-error.    
        when "PaymentGroup_CANDO":U
        then assign vcPaymentGroupCodeFilter = tFilter.tcParameterValue no-error.      
        when "CheckHistory":U
        then assign vlCheckHistoryFilterCR = if tFilter.tcParameterValue = "true":U 
                                                        then true 
                                                        else if tFilter.tcParameterValue = "false":U 
                                                            then false 
                                                            else vlCheckHistoryFilterCR no-error.  
        when "Company_CANDO":U
        then do:
            if vcCRCompanyFilter = ? then assign vcCRCompanyFilter = "":U no-error.
            do viCount = 1 to num-entries(tFilter.tcParameterValue,",":U):            
                if index(vcCRCompanyFilter, entry(viCount, tFilter.tcParameterValue,",":U)) = 0
                then do:
                    if vcCRCompanyFilter = "":U then assign vcCRCompanyFilter = entry(viCount, tFilter.tcParameterValue,",":U) no-error.
                    else assign vcCRCompanyFilter = vcCRCompanyFilter + ",":U +  entry(viCount, tFilter.tcParameterValue,",":U) no-error.
                end.
            end. /* do viCount = 1 to num-entries(tFilter.tcParameterValue,",":U) */
        end. /* when "Company_CANDO":U */
        when "PrintDetails":U
        then assign vlDetails = if tFilter.tcParameterValue = "true":U
                                then true 
                                else if tFilter.tcParameterValue = "false":U
                                     then false
                                     else true. /*default*/
        when "InvoiceDate_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vtCInvoiceDateFromFilter = DATE(INTEGER(SUBSTRING(tFilter.tcParameterValue,5,2,"CHARACTER":U)),integer(SUBSTRING(tFilter.tcParameterValue,7,2,"CHARACTER":U)),INTEGER(SUBSTRING(tFilter.tcParameterValue,1,4,"CHARACTER":U))) no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vtCInvoiceDateToFilter = DATE(INTEGER(SUBSTRING(tFilter.tcParameterValue,5,2,"CHARACTER":U)),integer(SUBSTRING(tFilter.tcParameterValue,7,2,"CHARACTER":U)),INTEGER(SUBSTRING(tFilter.tcParameterValue,1,4,"CHARACTER":U))) no-error.                                                            
        when "IncludeInvoices":U
        then assign vcIncludeTypes = 
                     vcIncludeTypes + if tFilter.tcParameterValue = "true":U 
                                       then ",":U + {&INVOICETYPE-INVOICE}
                                       else "":U no-error.
        when "IncludeCreditNotes":U
        then assign vcIncludeTypes = vcIncludeTypes + 
                                      if tFilter.tcParameterValue = "true":U 
                                      then ",":U + {&INVOICETYPE-CREDITNOTE}
                                      else "":U no-error.    
        when "IncludePrePayments":U
        then assign vcIncludeTypes = vcIncludeTypes + 
                                      if tFilter.tcParameterValue = "true":U 
                                      then ",":U + {&INVOICETYPE-PREPAYMENT}
                                      else "":U no-error.     
        when "IncludeAdjustments":U
        then assign vcIncludeTypes = vcIncludeTypes + 
                                      if tFilter.tcParameterValue = "true":U 
                                      then ",":U + {&INVOICETYPE-ADJUSTMENT}
                                      else "":U no-error.   
        when "IncludeInvoiceCorrection":U
        then assign vcIncludeTypes = vcIncludeTypes + 
                                      if tFilter.tcParameterValue = "true":U 
                                      then ",":U + {&INVOICETYPE-INVOICECORRECTION}
                                      else "":U no-error. 
        when "IncludeCreditNoteCorrection":U
        then assign vcIncludeTypes = vcIncludeTypes + 
                                      if tFilter.tcParameterValue = "true":U 
                                      then ",":U + {&INVOICETYPE-CREDITNOTECORRECTION}
                                      else "":U no-error.
        when "DueInvoicesOnly":U
        then assign vlDueCInvoicesOnly = if tFilter.tcParameterValue = "true":U
                                         then true
                                         else if tFilter.tcParameterValue = "false":U
                                              then false
                                              else vlDueCInvoicesOnly no-error.                                                                                                                
       when "FederalTaxID":U
       then assign vcTaxIdFederal = tFilter.tcParameterValue no-error.
       when "StateTaxID":U
       then assign vcTaxIdState = tFilter.tcParameterValue no-error.
       when "UnpostTrans":U
       then assign vlIncludeUnpostedTransactions1 = tFilter.tcParameterValue = string(true) or
                                                    tFilter.tcParameterValue = "true":U.
       when "IncludeInitial":U
       then assign vlIncludeInitial = if tFilter.tcParameterValue = "false":U 
                                                            then false 
                                                            else ? no-error.

       when "IncludeInitials":U
       then assign vlIncludeInitials = if tFilter.tcParameterValue = "true":U
                                                            then true
                                                            else false no-error.

       when "PostingDate_RANGE":U
       then do:
           if tFilter.tcOperator = ">=":U 
           then assign vtFromInvPostingDateFilter = date(int(substring(tFilter.tcParameterValue, 5, 2, "CHARACTER")), int(substring(tFilter.tcParameterValue, 7, 2, "CHARACTER")), int(substring(tFilter.tcParameterValue, 1, 4, "CHARACTER"))) no-error.
           if tFilter.tcOperator = "<=":U
           then assign vtToInvPostingDateFilter = date(int(substring(tFilter.tcParameterValue, 5, 2, "CHARACTER")), int(substring(tFilter.tcParameterValue, 7, 2, "CHARACTER")), int(substring(tFilter.tcParameterValue, 1, 4, "CHARACTER"))) no-error.
       end.

       when "OpenOnly":U
       then assign vlOpenOnlyFilter = if tFilter.tcParameterValue = "true":U 
                                                            then true 
                                                            else ? no-error.

       when "InvoiceDetail":U
       then assign vcInvoiceDetailFilter = tFilter.tcParameterValue no-error.

       when "ReceiptData":U
       then assign vlReceiptDataFilter = if tFilter.tcParameterValue = "true":U 
                                                            then true 
                                                            else false no-error.

       when "GLSummary":U
       then assign vcGLSummaryFilter = tFilter.tcParameterValue no-error.

       when "CreditorType_CANDO":U
       then assign vcCreditorTypeFilter = tFilter.tcParameterValue no-error.

       when "PurchaseType_CANDO":U
       then assign vcPurchaseTypeFilter = tFilter.tcParameterValue no-error.
       
       when "AccYear":U
       then assign viAccYearFilter1 = int(tFilter.tcParameterValue) no-error.
       
       when "FromAccPeriod":U
       then assign viFromAccPeriodFilter1 = int(tFilter.tcParameterValue) no-error.
       
       when "Voucher_RANGE":U
       then if tFilter.tcOperator = ">=":U
            then assign viFromVoucherFilter1 = int(tFilter.tcParameterValue) no-error.
            else if tFilter.tcOperator = "<=":U
                 then assign viToVoucherFilter1 = int(tFilter.tcParameterValue) no-error.
       
       when "NewPageForEachSupp":U
       then assign vlNewPageForEachSuppFilter = if tFilter.tcParameterValue = "true":U 
                                                then true 
                                                else false no-error.

       when "WHTNumber_RANGE":U
       then do:
           if tFilter.tcOperator = ">=":U
           then assign viFromWHTNumberFilter = int(tFilter.tcParameterValue) no-error.
           if tFilter.tcOperator = "<=":U
           then assign viToWHTNumberFilter = int(tFilter.tcParameterValue) no-error.
       end.

       when "ReprintCertificate":U
       then assign vlReprintCertificateFilter = if tFilter.tcParameterValue = "true":U 
                                                then true 
                                                else false no-error.

       when "WHTCertificateByPay":U
       then assign vlWHTCertificateByPayFilter = if tFilter.tcParameterValue = "true":U 
                                                 then true 
                                                 else false no-error.
        
       when "WHTByPayment":U
       then assign vlWHTByPaymentFilter = if tFilter.tcParameterValue = "true":U 
                                                 then true 
                                                 else false no-error.                                        
       
       when "WHTDescription":U
       then assign vcWHTDescription = tFilter.tcParameterValue no-error.                                        
                                                 
       when "InlucdeExpectedTaxAmt":U
       then assign vlPrintExpectedTaxAmtFilter = if tFilter.tcParameterValue = "true":U 
                                                 then true 
                                                 else false no-error.
       when "CertificateFormat":U
       then assign vcCertificateFormatFilter = tFilter.tcParameterValue no-error.

       when "PaymentNumber_RANGE":U
       then do:
           if tFilter.tcOperator = ">=":U
           then assign viFromCDocumentNumberFilter = int(tFilter.tcParameterValue) no-error.
           if tFilter.tcOperator = "<=":U
           then assign viToCDocumentNumberFilter = int(tFilter.tcParameterValue) no-error.
       end.

       when "PaySelCode":U
       then assign vcPaySelCodeFilter = tFilter.tcParameterValue no-error.

       when "CreationDate_RANGE":U
       then do:
           if tFilter.tcOperator = ">=":U 
           then assign vtFromCreationDateFilter = date(int(substring(tFilter.tcParameterValue, 5, 2, "CHARACTER")), int(substring(tFilter.tcParameterValue, 7, 2, "CHARACTER")), int(substring(tFilter.tcParameterValue, 1, 4, "CHARACTER"))) no-error.
           if tFilter.tcOperator = "<=":U
           then assign vtToCreationDateFilter = date(int(substring(tFilter.tcParameterValue, 5, 2, "CHARACTER")), int(substring(tFilter.tcParameterValue, 7, 2, "CHARACTER")), int(substring(tFilter.tcParameterValue, 1, 4, "CHARACTER"))) no-error.
       end.
       
       when "ShowDetail":U
       then assign vlShowDetailLinesFilterCR = if tFilter.tcParameterValue = "true":U 
                                                 then true 
                                                 else false no-error.
       
       when "AccMonth":U
       then assign viPaymentMonth = int(tFilter.tcParameterValue) no-error.

       when "Threshold":U
       then assign vdThreshold = if tFilter.tcParameterValue = ?
                                 then 0
                                 else decimal(tFilter.tcParameterValue) no-error.
       
    end case. /*tFilter.tcBusinessFieldName*/
end.

/* CA784858 - keep the YearPeriod */
assign viFromYearPeriodFilter1 = viFromAccYearFilter1 * 100 + viFromAccPeriodFilter1
       viToYearPeriodFilter1   = viToAccYearFilter1   * 100 + viToAccPeriodFilter1.     

if vcSortByFilter1 = ?
then assign vcSortByFilter1 = "2":U.

/* CA784858 - Get the default for vlCreditorPerPageFilter1 */
if vlCreditorPerPageFilter1 = ? 
then assign vlCreditorPerPageFilter1 = no.

if vcReportingCurrencyFilter1 = ?
then assign vcReportingCurrencyFilter1 = {&CURRENCYTYPE-LC}.

/*Calculate viCurrencyIdFilter when vcCurrencyCodeFilter is defined */
/*a) viCurrencyIdFilter = ? (true in queries) if vcCurrencyCodeFilter is blank
(should be blank for LC and CC)*/
assign viCurrencyIdFilter1 = ?.
if vcCurrencyCodeFilter1 <> "":U and
   vcCurrencyCodeFilter1 <> "?":U and
   vcCurrencyCodeFilter1 <> ? and
   vcReportingCurrencyFilter1 = {&CURRENCYTYPE-TC}
then do:
     <Q-1 run CurrencyPrim (all) (Read) (NoCache)
          (input  vcCurrencyCodeFilter1, (CurrencyCode)
           input ?, (Currency_ID)
           output dataset tqCurrencyPrim) in BCurrency >
    
    find first tqCurrencyPrim no-error.
    /*b) viCurrencyIdFilter = 0 if no currency exists for vcCurrencyCodeFilter*/
    /*c) viCurrencyIdFilter = <value> if currency exists for vcCurrencyCodeFilter*/
    assign viCurrencyIdFilter1 = if available tqCurrencyPrim
                                then tqCurrencyPrim.tiCurrency_ID
                                else 0.    
end.

/* =============================================================================== */
/* In case the reports are used as RelatedInfo, we overwrite the from-to G/L code  */
/* =============================================================================== */
find tFilter where
     tFilter.tcBusinessFieldName = "tCInvoice.Creditor_ID":U
     no-lock no-error.
if available tFilter
then do :
    assign viCreditorID = int(tFilter.tcParameterValue) no-error.
    if error-status:error    = false and 
       viCreditorID         <> 0     and 
       viCreditorID         <> ?
    then do :
        <Q-3 run CreditorPrim (all) (Read) (NoCache)
          (input ?, (CompanyId)
           input viCreditorID, (CreditorId)
           input ?, (CreditorCode)
           output dataset tqCreditorPrim) in BCreditor >
        find first tqCreditorPrim no-lock no-error.
        if available tqCreditorPrim
        then assign vcFromCreditorCodeFilter1 = tqCreditorPrim.tcCreditorCode
                    vcToCreditorCodeFilter1   = tqCreditorPrim.tcCreditorCode.
    end. /* if viCreditorID <> 0 and */
end. /* if available tFilter */

<M-5 run CrossCompanyEntries (output oiReturnStatus (oiReturnStatus)) in BCreditorReport>