project QadFinancials > class BDebtorReport > method SetDataItemsBasedOnFilterTT

Description

SetDataItemsBasedOnFilterTT


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BDebtorReport.CustomerCreditOverview
method BDebtorReport.DebtorAccountMovements
method BDebtorReport.DebtorAccountsHistoryDet
method BDebtorReport.DebtorAccountsSummary
method BDebtorReport.DebtorAccountState
method BDebtorReport.DebtorAgeingAnalysisBackwards
method BDebtorReport.DebtorAgeingAnalysisCurrent
method BDebtorReport.DebtorAgingHistAcroDomain
method BDebtorReport.DebtorBillingAAB
method BDebtorReport.DebtorInvoicePrint
method BDebtorReport.DebtorList
method BDebtorReport.DebtorMasterCard
method BDebtorReport.DebtorOpenItems
method BDebtorReport.DebtorOpenItemsQuick
method BDebtorReport.DebtorReminders
method BDebtorReport.DebtorRemindersOverview


program code (program1/bdebtorreport.p)

/* Find all filter-parameters and assign them to the correct data-item */
assign viAgeingOffsetFilter             = ?
       vcAgeingTypeFilter               = ? 
       vcCandoBRCodeFilter              = ?
       vcCandoDContrGLCodeFilter        = ?
       vcCandoDContrGLProfileCodeFilter = ?
       vcCandoDebtorCodeFilter          = ?
       vcCandoDivisionCodeFilter        = ?
       vcCandoJournalCodeFilter         = ?
       vcCanDoCostCentreCodeFilter1     = ?
       vcCandoProjectCodeFilter         = ?
       vcCandoSalesCodeFilter           = ?
       vcCurrencyCodeFilter             = ?
       vtDateForAgeingCalcFilter        = ? 
       vcDebtorBalanceFilter            = ? 
       vlDebtorPerPageFilter            = ?
       viFromAccPeriodFilter            = ? 
       viFromAccYearFilter              = ? 
       vcFromBRCodeFilter               = ?
       vcFromDebtorCodeFilter           = ?
       vcFromDContrGLCodeFilter         = ?
       vcFromDContrGLProfileCodeFilter  = ?
       vcFromDivisionCodeFilter         = ?
       vcFromJournalCodeFilter          = ?
       vcFromCostCentreCodeFilter1      = ?
       vcFromProjectCodeFilter          = ?
       vcFromSalesCodeFilter            = ?
       vlInvoicesWithinTermsFilter      = false
       vlIsAgePrepayAdjFilter           = ?    
       vcReportingCurrencyFilter        = ?
       viToAccPeriodFilter              = ?
       viToAccYearFilter                = ?
       vcToBRCodeFilter                 = ?
       vcToDebtorCodeFilter             = ?
       vcToDContrGLCodeFilter           = ?
       vcToDContrGLProfileCodeFilter    = ?
       vcToDivisionCodeFilter           = ? 
       vcToJournalCodeFilter            = ?
       vcToCostCentreCodeFilter1        = ?
       vcToProjectCodeFilter            = ?
       vcToSalesCodeFilter              = ?
       vlUnallocatedOnlyFilter          = ?
       vlDebtorWithMovementsFilter      = ?
       vcChronologicalLogicalFilter     = ?
       vlCalcExtraInfoFilter            = false
       vtReminderDateFilter             = ?
       vtStatementDateFilter            = ?
       vcStatementCycleFilter           = ?
       vtDueDateBeforeFilter            = ?
       viDaysOfDelayFilter              = ?
       viMinimumDelayFilter             = ?
       vdDMinimumAmountFilter           = ?
       vlAllInvoicesFilter              = ?
       vcReminderLevelFilter            = ?
       vcDRCompanyFilter                = ?
       vcEntityFilter                   = ?
       vcInvoiceReasonCodeFilter        = ?
       vlUpdateCountersFilter           = ?
       vlActiveDebtorsFilter            = ?
       viDInvoiceYearFromFilter         = ?
       viDInvoiceYearToFilter           = ?
       vtDInvoiceDateFromFilter         = ?
       vtDInvoiceDateToFilter           = ?
       vcDInvoiceTypeFilter             = ?
       vcDJournalCodeFromFilter         = ?
       vcDJournalCodeToFilter           = ?
       viDInvoiceVoucherFromFilter      = ?
       viDInvoiceVoucherToFilter        = ?
       vlActiveDebtorsFilter            = ? 
       vlPrintReminderFilter            = ?
       vlPrintStatementFilter           = ?
       vcAddressCityFilter1             = ?
       vcAddressStreetFilter            = ?
       vcBusRelNameFilter               = ?
       vcVatDeliveryTypeFilter1         = ?
       vcVatPercentageLevelFilter1      = ?
       vcProfileCodeCnFilter1           = ?
       vcProfileCodeDivFilter1          = ?
       vcProfileCodeGLFilter1           = ?
       vcProfileCodeInvFilter1          = ?
       vcPaymentCondCodeDivFilter1      = ?
       vcPaymentCondCodeNmFilter1       = ?
       vcDeliveryCondCodeFilter1        = ?
       vcReasonCodeFilter1              = ?
       vcBLWICodeFilter                 = ?
       viSONumberFilter                 = ?
       vtPlannedStartDateFromFilter     = ?
       vtPlannedStartDateToFilter       = ?
       vtPlannedEndDateFromFilter       = ?
       vtPlannedStartDateToFilter       = ?
       vcSOStatusCodeFilter             = ?
       viSONumberFromFilter             = ?
       viSONumberToFilter               = ?
       vlDRWithOpeningBalanceFilter     = ?
       vlDCheckHistoryFilter            = ?
       vlPrintDetails                   = ?
       vtDInvoiceDateFromFilter         = ?
       vtDInvoiceDateToFilter           = ?
       vcIncludedTypes                  = "":U
       vcDebtorTypeFilter               = ?
       vlOverCreditLimitOnlyFilter      = ?
       vlSuppressZeroAmountsFilter      = ?
       vcReportCurrencyFilter           = ?
       vtInvoiceDate                    = ?
       vcCustomerFilter                 = ?
       vcDayBook                        = ?
       vcInvoiceType                    = ?
       vcBatchNumberFilter              = ?
       vcCompany                        = ?
       viInvoiceNumber                  = ?
       vtDInvoiceDueDateFromFilter      = ?
       vtDInvoiceDueDateToFilter        = ?
       vcTaxIdFederalFilter             = ?
       vcTaxIdStateFilter               = ?
       viAccYear                        = ? 
       viDInvoiceVoucherFrom            = ?
       viDInvoiceVoucherTo              = ?
       vlDInvoiceIsOpenFilter           = ?
       vcDebtorDetailsFilter            = "Full Details":U
       vcSummaryByValueFilter           = ?
       vcFromDebtorBillToCode           = ?
       vcToDebtorBillToCode             = ?
       vcFromDebtorShipToCode           = ?
       vcToDebtorShipToCode             = ?
       vcEntityFilter1                  = ?
       vcSortByNameFilter               = ?
       vlAddComments                    = false
       vlIncludeDraftsFilter            = false
       vlCalcCreditTurnOverFilter       = false
       vcSalespersonFilter              = ?
       vcPaymentGroupFilter             = ?
       vlIncludeNonBillInvoiceFilter    = false
       vcDebtorAgingHistDateTypeFilter  = ?.
       
/*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 viAgeingOffsetFilter = int(tFilter.tcParameterValue) no-error.
        when "AgeingType":U
        then assign vcAgeingTypeFilter = tFilter.tcParameterValue no-error.
        when "BRCode_CANDO":U
        then assign vcCandoBRCodeFilter = tFilter.tcParameterValue no-error.
        when "DContrGLCode_CANDO":U
        then assign vcCandoDContrGLCodeFilter = tFilter.tcParameterValue no-error.
        when "DContrGLProfileCode_CANDO":U
        then assign vcCandoDContrGLProfileCodeFilter = tFilter.tcParameterValue no-error.
        when "DebtorCode_CANDO":U
        then assign vcCandoDebtorCodeFilter = tFilter.tcParameterValue no-error.
        when "DivisionCode_CANDO":U
        then assign vcCandoDivisionCodeFilter = tFilter.tcParameterValue no-error.
        when "JournalCode_CANDO":U
        then assign vcCandoJournalCodeFilter = tFilter.tcParameterValue no-error.
        when "ProjectCode_CANDO":U
        then assign vcCandoProjectCodeFilter = tFilter.tcParameterValue no-error.
        when "CurrencyCode":U
        then assign vcCurrencyCodeFilter = tFilter.tcParameterValue no-error.
        when "DateForAgeingCalc":U
        then assign vtDateForAgeingCalcFilter = 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 "DebtorBalance":U
        then assign vcDebtorBalanceFilter = tFilter.tcParameterValue no-error.
        when "DebtorPerPage":U
        then assign vlDebtorPerPageFilter = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlDebtorPerPageFilter no-error.        
        when "DebtorDetails":U
        then assign vcDebtorDetailsFilter = tFilter.tcParameterValue no-error.
        when "AccPeriod_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign viFromAccPeriodFilter = int(tFilter.tcParameterValue) no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign viToAccPeriodFilter = int(tFilter.tcParameterValue) no-error.
        when "AccYear_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign viFromAccYearFilter = int(tFilter.tcParameterValue) no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign viToAccYearFilter = int(tFilter.tcParameterValue) no-error.
        when "BRCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromBRCodeFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToBRCodeFilter = tFilter.tcParameterValue no-error.
        when "DebtorCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromDebtorCodeFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToDebtorCodeFilter = tFilter.tcParameterValue no-error.
        when "DContrGLCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromDContrGLCodeFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToDContrGLCodeFilter = tFilter.tcParameterValue no-error.
        when "DContrGLProfileCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromDContrGLProfileCodeFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToDContrGLProfileCodeFilter = tFilter.tcParameterValue no-error.
        when "DivisionCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromDivisionCodeFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToDivisionCodeFilter = tFilter.tcParameterValue no-error.
        when "JournalCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromJournalCodeFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToJournalCodeFilter = tFilter.tcParameterValue no-error.
        when "ProjectCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromProjectCodeFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToProjectCodeFilter = tFilter.tcParameterValue no-error.
        when "InvoicesWithinTerms":U
        then assign vlInvoicesWithinTermsFilter  = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlInvoicesWithinTermsFilter no-error.
        when "IsAgePrepayAdj":U
        then assign vlIsAgePrepayAdjFilter  = if tFilter.tcParameterValue = "true":U 
                                              then true 
                                              else if tFilter.tcParameterValue = "false":U 
                                                   then false 
                                                   else vlIsAgePrepayAdjFilter no-error.                                           
        when "ReportingCurrency":U
        then assign vcReportingCurrencyFilter = tFilter.tcParameterValue no-error.
        when "ToAccPeriod":U
        then assign viToAccPeriodFilter = int(tFilter.tcParameterValue) no-error.
        when "ToAccYear":U
        then assign viToAccYearFilter = int(tFilter.tcParameterValue) no-error.
        when "UnallocatedOnly":U
        then assign vlUnallocatedOnlyFilter = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlUnallocatedOnlyFilter no-error. 
        when "CalcExtraInfo":U
        then assign vlCalcExtraInfoFilter = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlCalcExtraInfoFilter no-error.
        when "DebtorWithMovements":U
        then assign vlDebtorWithMovementsFilter = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlDebtorWithMovementsFilter no-error.
        when "ChronologicalLogical":U
        then assign vcChronologicalLogicalFilter = tFilter.tcParameterValue no-error.
        when "GroupingLevel":U
        then assign vcGroupingLevelFilter = tFilter.tcParameterValue no-error.
        when "SummaryBy":U
        then assign vcSummaryByFilter = tFilter.tcParameterValue no-error.
        when "SummaryBy_CANDO":U
        then assign vcSummaryByValueFilter = tFilter.tcParameterValue no-error. 
        when "DetailLevel":U
        then assign vcDetailLevelFilter = tFilter.tcParameterValue no-error.
        when "SortingBy":U
        then assign vcSortingByFilter = tFilter.tcParameterValue no-error.
        when "AllInvoices":U
        then assign vlAllInvoicesFilter = if tFilter.tcParameterValue = "true":U 
                                          then true 
                                          else if tFilter.tcParameterValue = "false":U 
                                               then false 
                                               else vlAllInvoicesFilter no-error.
        when "ActiveDebtors":U
        then assign vlActiveDebtorsFilter = if tFilter.tcParameterValue = "true":U 
                                          then true 
                                          else if tFilter.tcParameterValue = "false":U 
                                               then false 
                                               else vlActiveDebtorsFilter no-error.
        when "UpdateCounters":U
        then assign vlUpdateCountersFilter = if tFilter.tcParameterValue = "true":U 
                                             then true 
                                             else if tFilter.tcParameterValue = "false":U 
                                                  then false 
                                                  else vlUpdateCountersFilter no-error.
        when "ReminderDate":U
        then assign vtReminderDateFilter = 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 "DaysOfDelay":U
        then assign viDaysOfDelayFilter = int(tFilter.tcParameterValue) no-error.
        when "MinimumDelay":U
        then assign viMinimumDelayFilter = int(tFilter.tcParameterValue) no-error.
        when "ReminderLevel_CANDO":U
        then assign vcReminderLevelFilter = tFilter.tcParameterValue no-error.
        when "Company_CANDO":U
        then do:
            if vcDRCompanyFilter = ? then assign vcDRCompanyFilter = "":U no-error.
            do viCount = 1 to num-entries(tFilter.tcParameterValue,",":U):            
                if index(vcDRCompanyFilter, entry(viCount, tFilter.tcParameterValue,",":U)) = 0
                then do:
                    if vcDRCompanyFilter = "":U then assign vcDRCompanyFilter = entry(viCount, tFilter.tcParameterValue,",":U) no-error.
                    else assign vcDRCompanyFilter = vcDRCompanyFilter + ",":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 "EntityFilter":U
        then assign vcEntityFilter = tFilter.tcParameterValue no-error.
        when "MinimumAmount":U
        then assign vdDMinimumAmountFilter = decimal(tFilter.tcParameterValue) no-error.
        when "InvoiceReasonCode_CANDO":U
        then assign vcInvoiceReasonCodeFilter = tFilter.tcParameterValue no-error.
        when "InvoiceYear_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign viDInvoiceYearFromFilter = int(tFilter.tcParameterValue) no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign viDInvoiceYearToFilter = int(tFilter.tcParameterValue) no-error.
        when "InvoiceDate_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vtDInvoiceDateFromFilter = 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 vtDInvoiceDateToFilter = 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 "JournalCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcDJournalCodeFromFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcDJournalCodeToFilter = tFilter.tcParameterValue no-error.
        when "InvoiceVoucher_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign viDInvoiceVoucherFromFilter = int(tFilter.tcParameterValue) no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign viDInvoiceVoucherToFilter = int(tFilter.tcParameterValue) no-error.
        when "InvoiceType":U
        then assign vcDInvoiceTypeFilter = tFilter.tcParameterValue no-error.
        when "BusinessRelationName_CANDO":U
        then assign vcBusRelNameFilter = tFilter.tcParameterValue no-error.
        when "AddressStreet1_CANDO":U
        then assign vcAddressStreetFilter = tFilter.tcParameterValue no-error.
        when "AddressCity_CANDO":U
        then assign vcAddressCityFilter1 = tFilter.tcParameterValue no-error.
        when "PrintStatement":U
        then assign vlPrintStatementFilter = if tFilter.tcParameterValue = "true":U 
                                                        then true 
                                                        else if tFilter.tcParameterValue = "false":U 
                                                            then false 
                                                            else vlPrintStatementFilter no-error.   
        when "PrintReminder":U
        then assign vlPrintReminderFilter = if tFilter.tcParameterValue = "true":U 
                                                        then true 
                                                        else if tFilter.tcParameterValue = "false":U 
                                                            then false 
                                                            else vlPrintReminderFilter no-error.                                                               
        when "ActiveDebtor":U
        then assign vlActiveDebtorsFilter = if tFilter.tcParameterValue = "true":U 
                                                        then true 
                                                        else if tFilter.tcParameterValue = "false":U 
                                                            then false 
                                                            else vlActiveDebtorsFilter no-error.  
        when "ProfileCodeCn_CANDO":U
        then assign vcProfileCodeCnFilter1 = tFilter.tcParameterValue no-error.                                                            
        when "ProfileCodeDiv_CANDO":U
        then assign vcProfileCodeDivFilter1 = tFilter.tcParameterValue no-error.   
        when "ProfileCodeGL_CANDO":U
        then assign vcProfileCodeGLFilter1 = tFilter.tcParameterValue no-error.   
        when "ProfileCodeInv_CANDO":U
        then assign vcProfileCodeInvFilter1 = tFilter.tcParameterValue no-error.   
        when "PaymentCondCodeDiv_CANDO":U
        then assign vcPaymentCondCodeDivFilter1 = tFilter.tcParameterValue no-error.   
        when "PaymentCondCodeNm_CANDO":U
        then assign vcPaymentCondCodeNmFilter1 = tFilter.tcParameterValue no-error.                                                                                                                             
        when "DeliveryCondCode_CANDO":U
        then assign vcDeliveryCondCodeFilter1 = tFilter.tcParameterValue no-error.                                                                                                                             
        when "ReasonCode_CANDO":U
        then assign vcReasonCodeFilter1 = tFilter.tcParameterValue no-error.                                                                                                                             
        when "BLWICode_CANDO":U
        then assign vcBLWICodeFilter= tFilter.tcParameterValue no-error.                                                                                                                             
        when "SONumber":U
        then assign viSONumberFilter = int(tFilter.tcParameterValue) no-error.
        when "SONumber_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign viSONumberFromFilter = int(tFilter.tcParameterValue) no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign viSONumberToFilter = int(tFilter.tcParameterValue) no-error.
        when "PlannedStartDate_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vtPlannedStartDateFromFilter = 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 vtPlannedStartDateToFilter = 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 "PlannedEndDate_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vtPlannedEndDateFromFilter = 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 vtPlannedEndDateToFilter = 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 "SOStatus_CANDO":U
        then assign vcSOStatusCodeFilter = tFilter.tcParameterValue no-error.  
        when "OpeningBalance":U
        then assign vlDRWithOpeningBalanceFilter = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlDRWithOpeningBalanceFilter no-error.
        when "CheckHistory":U
        
        then assign vlDCheckHistoryFilter = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlDCheckHistoryFilter no-error.
        when "PrintDetails":U
        then assign vlPrintDetails = 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 vtDInvoiceDateFromFilter = 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 vtDInvoiceDateToFilter = 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  "FederalTaxId":U
        then assign vcTaxIdFederalFilter =  tFilter.tcParameterValue no-error.  
        when "StateTaxId":U
        then assign vcTaxIdStateFilter  =  tFilter.tcParameterValue no-error. 
        when "IncludeDrafts":U
        then assign vlIncludeDraftsFilter = (tFilter.tcParameterValue = "true":U).
        when "CalcCreditTurnOver":U
        then assign vlCalcCreditTurnOverFilter = (tFilter.tcParameterValue = "true":U). 
        when "IncludeNonBillInv":U
        then assign vlIncludeNonBillInvoiceFilter = (tFilter.tcParameterValue = "true":U).
        when "TypeForAging":U
        then assign vcDebtorAgingHistDateTypeFilter = tFilter.tcParameterValue no-error.
   end case. /*tFilter.tcBusinessFieldName*/
   /* run method SetDataItemsBasedOnFilterTT2 because of file size limit */
   <M-5 run SetDataItemsBasedOnFilterTT2 (output viFcReturnSuper (oiReturnStatus)) in BDebtorReport>
end.    /* for each tFilter */ 

/* CA784858 - keep the YearPeriod */
assign viFromYearPeriodFilter = viFromAccYearFilter * 100 + viFromAccPeriodFilter
       viToYearPeriodFilter   = viToAccYearFilter   * 100 + viToAccPeriodFilter.

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

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

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

/*Calculate viCurrencyIdFilter when vcCurrencyCodeFilter is defined */
/*a) viCurrencyIdFilter = ? (true in queries) if vcCurrencyCodeFilter is blank
(should be blank for LC and CC)*/
assign viCurrencyIdFilter = ?.
if vcCurrencyCodeFilter <> "":U and
   vcCurrencyCodeFilter <> "?":U and
   vcCurrencyCodeFilter <> ? and
   vcReportingCurrencyFilter = {&CURRENCYTYPE-TC}
then do:
    <Q-2 run CurrencyPrim (all) (Read) (NoCache)
          (input vcCurrencyCodeFilter, (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 viCurrencyIdFilter = 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 = "tDInvoice.Debtor_ID":U
     no-lock no-error.
if available tFilter
then do :
    assign viDebtorID = int(tFilter.tcParameterValue) no-error.
    if error-status:error  = false and 
       viDebtorID         <> 0     and viDebtorID         <> ?
    then do :
        <Q-3 run DebtorPrim (all) (Read) (NoCache)
          (input ?, (CompanyId)
           input ?, (DebtorCode)
           input viDebtorID, (Debtor_ID)
           output dataset tqDebtorPrim) in BDebtor >
        find first tqDebtorPrim no-lock no-error.
        if available tqDebtorPrim
        then assign vcFromDebtorCodeFilter = tqDebtorPrim.tcDebtorCode
                    vcToDebtorCodeFilter   = tqDebtorPrim.tcDebtorCode.
    end. /* if viDebtorID <> 0 and */
end. /* if available tFilter */

<M-4 run CrossCompanyEntries (output oiReturnStatus (oiReturnStatus)) in BDebtorReport>