project QadFinancials > class BProjectReport > method SetDataItemsBasedOnFilterTT

Description

This method will transfer the filter parameters values to the variables defined in BL code.


Parameters


oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method BProjectReport.CreditorAgeingAnalysisByProj
method BProjectReport.DebtorAgeingAnalysisByProj
method BProjectReport.ProjectMastercard


program code (program1/bprojectreport.p)

assign vcAgeingTypeFilter2          = ?
    vcCandoBRFilter                 = ?
    vcCandoCreditorFilter           = ?
    vcCandoDivisionFilter           = ?
    vcCandoGLFilter                 = ?
    vcCandoJournalFilter            = ?
    vcCandoProjectFilter            = ?
    vcCandoProjectManagerFilter     = ?
    vcCandoPurchaseFilter           = ?
    vcCandoSummaryByFilter          = ?
    vcCreditorBalanceFilter         = ?
    vcCurrencyCodeFilter2           = ?
    vcCurrencyTypeFilter            = ?
    vcFromBRFilter                  = ?
    vcFromCreditorFilter            = ?
    vcFromDivisionFilter            = ?
    vcFromGLFilter1                 = ?
    vcFromJournalFilter             = ?
    vcFromProjectFilter             = ?
    vcFromProjectManagerFilter      = ?
    vcFromPurchaseFilter            = ?
    vcToBRFilter                    = ?
    vcToCreditorFilter              = ?
    vcToDivisionFilter              = ?
    vcToGLFilter1                   = ?
    vcToJournalFilter               = ?
    vcToProjectFilter               = ?
    vcToProjectManagerFilter        = ?
    vcToPurchaseFilter              = ?
    viAccPeriodFilter               = ?
    viAccYearFilter                 = ?
    viAgeingOffsetFilter2           = ?
    vlIncludeDocumentFilter         = ?
    vlInvoiceWithinTermsFilter      = ?
    vlOnlyProjectPerPageFilter      = ?
    vlOnlyProjectTotalsFilter       = ?
    vtDateForAgeingCalcFilter2      = ?
    /* Project Mastercard */
    vcFromAccountManagerFilter      = ?
    vcToAccountManagerFilter        = ?
    vcCandoAccountManagerFilter     = ?
    vcFromAdminManagerFilter        = ?
    vcToAdminManagerFilter          = ?
    vcCandoAdminManagerFilter       = ?
    vcFromController                = ?
    vcToController                  = ?
    vcCandoController               = ?
    vcFromPenholderCompany          = ?
    vcToPenholderCompany            = ?
    vcCandoPenholderCompany         = ?
    vcFromProjectGroupFilter        = ?
    vcToProjectGroupFilter          = ?
    vcCandoProjectGroupFilter       = ?
    vcFromMainProjectFilter         = ?
    vcToMainProjectFilter           = ?
    vcCandoMainProjectFilter        = ?
    vcProjectStatusCodeFilter       = ?
    vcProjectTypeFilter             = ?
    vtProjectStartDateFilter        = ?
    vtProjectEndDateFilter          = ?
    vlPCheckHistoryFilter           = ?
    vlShowDetailLinesFilterPR       = ?.
    
for each tFilter:
    case tFilter.tcBusinessFieldName:
        when "AgeingOffset":U    
        then assign viAgeingOffsetFilter2 = int(tFilter.tcParameterValue) no-error.
        when "AgeingType":U
        then assign vcAgeingTypeFilter2 = tFilter.tcParameterValue no-error.
        when "BRCode_CANDO":U
        then assign vcCandoBRFilter = tFilter.tcParameterValue no-error.
        when "CContrGLCode_CANDO":U
        then assign vcCandoGLFilter = tFilter.tcParameterValue no-error.
        when "CreditorCode_CANDO":U
        then assign vcCandoCreditorFilter = tFilter.tcParameterValue no-error.
        when "debtorCode_CANDO":U
        then assign vcCandoDebtorFilter = tFilter.tcParameterValue no-error.
        when "DivisionCode_CANDO":U
        then assign vcCandoDivisionFilter = tFilter.tcParameterValue no-error.
        when "JournalCode_CANDO":U
        then assign vcCandoJournalFilter = tFilter.tcParameterValue no-error.
        when "ProjectCode_CANDO":U
        then assign vcCandoProjectFilter = tFilter.tcParameterValue no-error.
        when "ProjectManager_CANDO":U
        then assign vcCandoProjectManagerFilter= tFilter.tcParameterValue no-error.
        /*
        when "PurchaseCode_CANDO":U
        then assign vcCandoPurchaseFilter = tFilter.tcParameterValue no-error.
        when "SalesCode_CANDO":U
        then assign vcCandoSalesFilter = tFilter.tcParameterValue no-error.            
        */
        when "CurrencyCode":U
        then assign vcCurrencyCodeFilter2 = tFilter.tcParameterValue no-error.
        when "DateForAgeingCalc":U
        then assign vtDateForAgeingCalcFilter2 =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 vcCreditorBalanceFilter = tFilter.tcParameterValue no-error.
        when "DebtorBalance":U
        then assign vcDebtorBalanceFilter1 = tFilter.tcParameterValue no-error.
        when "ProjectPerPage":U
        then assign vlOnlyProjectPerPageFilter = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlOnlyProjectPerPageFilter no-error.        
        when "ProjectTotalsOnly":U
        then assign vlOnlyProjectTotalsFilter = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlOnlyProjectTotalsFilter no-error.
        when "BRCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromBRFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToBRFilter = tFilter.tcParameterValue no-error.       
        when "CreditorCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromCreditorFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToCreditorFilter = tFilter.tcParameterValue no-error.
        when "CContrGLCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromGLFilter1 = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToGLFilter1 = tFilter.tcParameterValue no-error.
        when "DebtorCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
            then assign vcFromDebtorFilter = tFilter.tcParameterValue no-error.
            else if tFilter.tcOperator = "<=":U
                then assign vcToDebtorFilter = tFilter.tcParameterValue no-error.                 
        when "DivisionCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromDivisionFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToDivisionFilter = tFilter.tcParameterValue no-error.
        when "JournalCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromJournalFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToJournalFilter = tFilter.tcParameterValue no-error.
        when "ProjectCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromProjectFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToProjectFilter = tFilter.tcParameterValue no-error.
        when "ProjectManager_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromProjectManagerFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToProjectManagerFilter = tFilter.tcParameterValue no-error.                  
        /*
        when "PurchaseCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromPurchaseFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToPurchaseFilter = tFilter.tcParameterValue no-error.
        when "SalesCode_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromSalesFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToSalesFilter = tFilter.tcParameterValue no-error.                  
        */
        when "IncludeDocuments":U
        then assign vlIncludeDocumentFilter = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlIncludeDocumentFilter no-error.
        when "InvoicesWithinTerms":U
        then assign vlInvoiceWithinTermsFilter  = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlInvoiceWithinTermsFilter no-error.
        when "ReportingCurrency":U
        then assign vcCurrencyTypeFilter = tFilter.tcParameterValue no-error.
        when "ToAccPeriod":U
        then assign viAccPeriodFilter = int(tFilter.tcParameterValue) no-error.
        when "ToAccYear":U
        then assign viAccYearFilter = int(tFilter.tcParameterValue) no-error.   
        when "SummaryBy_CANDO":U
        then assign vcCandoSummaryByFilter = tFilter.tcParameterValue no-error.
        /* Project Mastercard */
        when "AccountManager_CANDO":U
        then assign vcCandoAccountManagerFilter = tFilter.tcParameterValue no-error.
        when "AdminManager_CANDO":U
        then assign vcCandoAdminManagerFilter = tFilter.tcParameterValue no-error.
        when "Controller_CANDO":U
        then assign vcCandoController = tFilter.tcParameterValue no-error.
        when "PenholderCompany_CANDO":U
        then assign vcCandoPenholderCompany = tFilter.tcParameterValue no-error.
        when "ProjectGroup_CANDO":U
        then assign vcCandoProjectGroupFilter = tFilter.tcParameterValue no-error.
        when "MainProject_CANDO":U
        then assign vcCandoMainProjectFilter = tFilter.tcParameterValue no-error.
        when "ProjectType":U
        then assign vcProjectTypeFilter = tFilter.tcParameterValue no-error.
        when "StatusCode":U
        then assign vcProjectStatusCodeFilter = tFilter.tcParameterValue no-error.
        when "BudgetVersion":U
        then assign vlBudgetVersionFilter = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlBudgetVersionFilter no-error.

        when "AccountManager_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromAccountManagerFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToAccountManagerFilter = tFilter.tcParameterValue no-error.
        when "AdminManager_RANGE":U
        then if tFilter.tcOperator = ">=":U
            then assign vcFromAdminManagerFilter = tFilter.tcParameterValue no-error.
            else if tFilter.tcOperator = "<=":U
                then assign vcToAdminManagerFilter = tFilter.tcParameterValue no-error.                 
        when "Controller_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromController = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToController = tFilter.tcParameterValue no-error.
        when "PenholderCompany_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromPenholderCompany = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToPenholderCompany = tFilter.tcParameterValue no-error.
        when "ProjectGroup_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromProjectGroupFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToProjectGroupFilter = tFilter.tcParameterValue no-error.
        when "MainProject_RANGE":U
        then if tFilter.tcOperator = ">=":U
             then assign vcFromMainProjectFilter = tFilter.tcParameterValue no-error.
             else if tFilter.tcOperator = "<=":U
                  then assign vcToMainProjectFilter = tFilter.tcParameterValue no-error.  
        when "StartDate":U
        then assign vtProjectStartDateFilter =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 "EndDate":U
        then assign vtProjectEndDateFilter =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 "CheckHistory":U
        then assign vlPCheckHistoryFilter = if tFilter.tcParameterValue = "true":U 
                                                        then true 
                                                        else if tFilter.tcParameterValue = "false":U 
                                                            then false 
                                                            else vlPCheckHistoryFilter no-error.
        when "ShowDetailLines":U
        then assign vlShowDetailLinesFilterPR = if tFilter.tcParameterValue = "true":U 
                                      then true 
                                      else if tFilter.tcParameterValue = "false":U 
                                           then false 
                                           else vlShowDetailLinesFilterPR no-error.                                                            
    /*    otherwise message "Filter Not Found: " + tFilter.tcBusinessFieldName.*/
    end case. /*tFilter.tcBusinessFieldName*/
end.    

/*Calculate viCurrencyIdFilter when vcCurrencyCodeFilter is defined */
/*a) viCurrencyIdFilter = ? (true in queries) if vcCurrencyCodeFilter is blank
(should be blank for LC and CC)*/
assign viCurrencyIdFilter2 = ?.
if vcCurrencyCodeFilter2 <> "":U and
   vcCurrencyCodeFilter2 <> "?":U and
   vcCurrencyCodeFilter2 <> ? and
   vcCurrencyTypeFilter = {&CURRENCYTYPE-TC}
then do:
    <Q-1 run CurrencyPrim (all) (Read) (NoCache)
          (input vcCurrencyCodeFilter2, (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 viCurrencyIdFilter2 = if available tqCurrencyPrim
                                then tqCurrencyPrim.tiCurrency_ID
                                else 0.    
end.