project QadFinancials > class BCreditorReport > method CreditorOpenItemsDetail

report procedure

Description

Detailed List For Open Items


Parameters


icLanguageCodeinputcharacter
tFilterinputtemp-table
dcrCreditorOpenItemsDetailoutputdataset
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


unused


program code (program7/bcreditorreport.p)

empty temp-table tqCreditorOpenItemsDetail.

<M-1 run GetReportLabels (input  'CreditorOpenItemsDetail':U (icReportName), 
                          input  icLanguageCode (icLanguageCode), 
                          input  tFilter (tFilter), 
                          output tqHeader (tqHeader), 
                          output tqFilter (tqFilter), 
                          output tqText (tqText), 
                          output oiReturnStatus (oiReturnStatus)) in BCreditorReport>
if oiReturnStatus <> 0
then return.

/*assign tFilter*/
<M-2 run SetDataItemsBasedOnFilterTT (output viFcReturnSuper (oiReturnStatus)) in BCreditorReport>
assign vtCInvoiceDueDate = if vlDueCInvoicesOnly
                           then today
                           else ?.

if vcIncludeTypes <> "":U
then assign vcIncludeTypes = substring(vcIncludeTypes,2, length(vcIncludeTypes,"CHARACTER":U),"CHARACTER":U). 

/*if we are working with rangevalues, we have to test if the from-value and to-value */
/*of the maintable in the query is the same so we can use equal mathes instead of range */
if vcFromCreditorCodeFilter1 = vcToCreditorCodeFilter1
then do:
    assign vcCreditorCodeFilter = vcFromCreditorCodeFilter1.
    assign
        vcFromCreditorCodeFilter1 = ?
        vcToCreditorCodeFilter1   = ?.
end.
else assign vcCreditorCodeFilter = ?.  
if vtCInvoiceDateFromFilter = vtCInvoiceDateToFilter
then do:
    assign vtCInvoiceDateFilter = vtCInvoiceDateFromFilter.
    assign
        vtCInvoiceDateFromFilter = ?
        vtCInvoiceDateToFilter   = ?.
end.
else assign vtCInvoiceDateFilter = ?.

/* check which query we have to use depending on the filled values */
if (vcCreditorCodeFilter = ? or vcCreditorCodeFilter = "":U) and
   (vcFromCreditorCodeFilter1 = ? or vcFromCreditorCodeFilter1 = "":U) and
   (vcToCreditorCodeFilter1 = ? or vcToCreditorCodeFilter1 = "":U)
then do: /* start the query with main table CInvocie */
    <Q-3 run CreditorOpenItemsByCInvoice (all) (Read) (NoCache)
       (input viCompanyId, (CompanyId)
        input vcFromBRCodeFilter1, (BusRelCodeFrom)
        input vcToBRCodeFilter1, (BusRelCodeTo)
        input vcCreditorCodeFilter, (CreditorCode)
        input vcFromCreditorCodeFilter1, (CreditorCodeFrom)
        input vcToCreditorCodeFilter1, (CreditorCodeTo)
        input vtCInvoiceDateFilter, (CInvoiceDate)
        input vtCInvoiceDateFromFilter, (CInvoiceDateFrom)
        input vtCInvoiceDateToFilter, (CInvoiceDateTo)
        input vtCInvoiceDueDate, (CInvoiceDueDate)
        input vcIncludeTypes, (CInvoiceType)
        input vcFromDivisionCodeFilter1, (DivisionCodeFrom)
        input vcToDivisionCodeFilter1, (DivisionCodeTo)
        input vlIncludeInitial, (IncludeInitial)
        output dataset tqCreditorOpenItemsByCInvoice) in BCreditorReport >
end.
else do: /* start the query with main table Creditor */
   <Q-4 run CreditorOpenItemsByCreditor (all) (Read) (NoCache)
      (input viCompanyId, (CompanyId)
       input vcFromBRCodeFilter1, (BusRelCodeFrom)
       input vcToBRCodeFilter1, (BusRelCodeTo)
       input vcCreditorCodeFilter, (CreditorCode)
       input vcFromCreditorCodeFilter1, (CreditorCodeFrom)
       input vcToCreditorCodeFilter1, (CreditorCodeTo)
       input vtCInvoiceDateFilter, (CInvoiceDate)
       input vtCInvoiceDateFromFilter, (CInvoiceDateFrom)
       input vtCInvoiceDateToFilter, (CInvoiceDateTo)
       input vtCInvoiceDueDate, (CInvoiceDueDate)
       input vcIncludeTypes, (CInvoiceType)
       input vcFromDivisionCodeFilter1, (DivisionCodeFrom)
       input vcToDivisionCodeFilter1, (DivisionCodeTo)
       input vlIncludeInitial, (IncludeInitial)
       output dataset tqCreditorOpenItemsByCreditor) in BCreditorReport >
end.
/* assign the values to the temptable used for reporting */
if (vcCreditorCodeFilter = ? or vcCreditorCodeFilter = "":U) and
   (vcFromCreditorCodeFilter1 = ? or vcFromCreditorCodeFilter1 = "":U) and
   (vcToCreditorCodeFilter1 = ? or vcToCreditorCodeFilter1 = "":U)
then do:
    for each tqCreditorOpenItemsByCInvoice:
        create tqCreditorOpenItemsDetail.
        assign tqCreditorOpenItemsDetail.tcCreditorCode = tqCreditorOpenItemsByCInvoice.tcCreditorCode
               tqCreditorOpenItemsDetail.tcBusinessRelationCode = tqCreditorOpenItemsByCInvoice.tcBusinessRelationCode
               tqCreditorOpenItemsDetail.tcBusinessRelationName1 = tqCreditorOpenItemsByCInvoice.tcBusinessRelationName1
               tqCreditorOpenItemsDetail.tcCInvoiceType = tqCreditorOpenItemsByCInvoice.tcCInvoiceType
               tqCreditorOpenItemsDetail.tcCInvoiceDescription = tqCreditorOpenItemsByCInvoice.tcCInvoiceDescription
               tqCreditorOpenItemsDetail.ttCInvoiceDate = tqCreditorOpenItemsByCInvoice.ttCInvoiceDate
               tqCreditorOpenItemsDetail.ttCInvoiceDueDate = tqCreditorOpenItemsByCInvoice.ttCInvoiceDueDate
               tqCreditorOpenItemsDetail.ttCInvoiceDiscountDueDate = tqCreditorOpenItemsByCInvoice.ttCInvoiceDiscountDueDate
               tqCreditorOpenItemsDetail.ttCInvoicePostingDate = tqCreditorOpenItemsByCInvoice.ttCInvoicePostingDate
               tqCreditorOpenItemsDetail.tdCInvoiceBalanceLC = tqCreditorOpenItemsByCInvoice.tdCInvoiceBalanceLC
               tqCreditorOpenItemsDetail.tdCInvoiceBalanceTC = tqCreditorOpenItemsByCInvoice.tdCInvoiceBalanceTC
               tqCreditorOpenItemsDetail.tdCInvoiceBalanceCC = tqCreditorOpenItemsByCInvoice.tdCInvoiceBalanceCC
               tqCreditorOpenItemsDetail.tdCInvoiceOriginalCreditLC = tqCreditorOpenItemsByCInvoice.tdCInvoiceOriginalCreditLC
               tqCreditorOpenItemsDetail.tdCInvoiceOriginalCreditTC = tqCreditorOpenItemsByCInvoice.tdCInvoiceOriginalCreditTC
               tqCreditorOpenItemsDetail.tdCInvoiceOriginalCreditCC = tqCreditorOpenItemsByCInvoice.tdCInvoiceOriginalCreditCC
               tqCreditorOpenItemsDetail.tdCInvoiceOriginalDebitLC = tqCreditorOpenItemsByCInvoice.tdCInvoiceOriginalDebitLC
               tqCreditorOpenItemsDetail.tdCInvoiceOriginalDebitTC = tqCreditorOpenItemsByCInvoice.tdCInvoiceOriginalDebitTC
               tqCreditorOpenItemsDetail.tdCInvoiceOriginalDebitCC = tqCreditorOpenItemsByCInvoice.tdCInvoiceOriginalDebitCC
               tqCreditorOpenItemsDetail.tcCurrencyCode = tqCreditorOpenItemsByCInvoice.tcCurrencyCode
               tqCreditorOpenItemsDetail.tcCurrencyDescription = tqCreditorOpenItemsByCInvoice.tcCurrencyDescription
               tqCreditorOpenItemsDetail.tiCurrencyNumberOfDecimals = tqCreditorOpenItemsByCInvoice.tiCurrencyNumberOfDecimals
               tqCreditorOpenItemsDetail.tiPeriodPeriod = tqCreditorOpenItemsByCInvoice.tiPeriodPeriod
               tqCreditorOpenItemsDetail.tiPeriodYear = tqCreditorOpenItemsByCInvoice.tiPeriodYear
               tqCreditorOpenItemsDetail.tiPostingVoucher =  tqCreditorOpenItemsByCInvoice.tiPostingVoucher
               tqCreditorOpenItemsDetail.tcJournalCode = tqCreditorOpenItemsByCInvoice.tcJournalCode
               tqCreditorOpenItemsDetail.tcBankStateNmbr = tqCreditorOpenItemsByCInvoice.tcBankStateNumber
               tqCreditorOpenItemsDetail.tcCInvoiceReference = tqCreditorOpenItemsByCInvoice.tcCInvoiceReference
               tqCreditorOpenItemsDetail.tlCInvoiceIsInitialStatus = tqCreditorOpenItemsByCInvoice.tlCInvoiceIsInitialStatus.
    end.
end.
else do:
    for each tqCreditorOpenItemsByCreditor:
        create tqCreditorOpenItemsDetail.
        assign tqCreditorOpenItemsDetail.tcCreditorCode = tqCreditorOpenItemsByCreditor.tcCreditorCode
               tqCreditorOpenItemsDetail.tcBusinessRelationCode = tqCreditorOpenItemsByCreditor.tcBusinessRelationCode
               tqCreditorOpenItemsDetail.tcBusinessRelationName1 = tqCreditorOpenItemsByCreditor.tcBusinessRelationName1
               tqCreditorOpenItemsDetail.tcCInvoiceType = tqCreditorOpenItemsByCreditor.tcCInvoiceType
               tqCreditorOpenItemsDetail.tcCInvoiceDescription = tqCreditorOpenItemsByCreditor.tcCInvoiceDescription
               tqCreditorOpenItemsDetail.ttCInvoiceDate = tqCreditorOpenItemsByCreditor.ttCInvoiceDate
               tqCreditorOpenItemsDetail.ttCInvoiceDueDate = tqCreditorOpenItemsByCreditor.ttCInvoiceDueDate
               tqCreditorOpenItemsDetail.ttCInvoiceDiscountDueDate = tqCreditorOpenItemsByCreditor.ttCInvoiceDiscountDueDate
               tqCreditorOpenItemsDetail.ttCInvoicePostingDate = tqCreditorOpenItemsByCreditor.ttCInvoicePostingDate
               tqCreditorOpenItemsDetail.tdCInvoiceBalanceLC = tqCreditorOpenItemsByCreditor.tdCInvoiceBalanceLC
               tqCreditorOpenItemsDetail.tdCInvoiceBalanceTC = tqCreditorOpenItemsByCreditor.tdCInvoiceBalanceTC
               tqCreditorOpenItemsDetail.tdCInvoiceBalanceCC = tqCreditorOpenItemsByCreditor.tdCInvoiceBalanceCC
               tqCreditorOpenItemsDetail.tdCInvoiceOriginalCreditLC = tqCreditorOpenItemsByCreditor.tdCInvoiceOriginalCreditLC
               tqCreditorOpenItemsDetail.tdCInvoiceOriginalCreditTC = tqCreditorOpenItemsByCreditor.tdCInvoiceOriginalCreditTC
               tqCreditorOpenItemsDetail.tdCInvoiceOriginalCreditCC = tqCreditorOpenItemsByCreditor.tdCInvoiceOriginalCreditCC
               tqCreditorOpenItemsDetail.tdCInvoiceOriginalDebitLC = tqCreditorOpenItemsByCreditor.tdCInvoiceOriginalDebitLC
               tqCreditorOpenItemsDetail.tdCInvoiceOriginalDebitTC = tqCreditorOpenItemsByCreditor.tdCInvoiceOriginalDebitTC
               tqCreditorOpenItemsDetail.tdCInvoiceOriginalDebitCC = tqCreditorOpenItemsByCreditor.tdCInvoiceOriginalDebitCC
               tqCreditorOpenItemsDetail.tcCurrencyCode = tqCreditorOpenItemsByCreditor.tcCurrencyCode
               tqCreditorOpenItemsDetail.tcCurrencyDescription = tqCreditorOpenItemsByCreditor.tcCurrencyDescription
               tqCreditorOpenItemsDetail.tiCurrencyNumberOfDecimals = tqCreditorOpenItemsByCreditor.tiCurrencyNumberOfDecimals
               tqCreditorOpenItemsDetail.tiPeriodPeriod = tqCreditorOpenItemsByCreditor.tiPeriodPeriod
               tqCreditorOpenItemsDetail.tiPeriodYear = tqCreditorOpenItemsByCreditor.tiPeriodYear
               tqCreditorOpenItemsDetail.tiPostingVoucher =  tqCreditorOpenItemsByCreditor.tiPostingVoucher
               tqCreditorOpenItemsDetail.tcBankStateNmbr = tqCreditorOpenItemsByCreditor.tcBankStateNumber
               tqCreditorOpenItemsDetail.tcCInvoiceReference = tqCreditorOpenItemsByCreditor.tcCInvoiceReference
               tqCreditorOpenItemsDetail.tcJournalCode = tqCreditorOpenItemsByCreditor.tcJournalCode
               tqCreditorOpenItemsDetail.tlCInvoiceIsInitialStatus = tqCreditorOpenItemsByCreditor.tlCInvoiceIsInitialStatus.
               
    end.
end.

/* Add filterfields to one special line It has two fields separated by '#'
   tcreportingInfo: SummaryByFiler#ReportingCurrency */
if can-find(first tqCreditorOpenItemsDetail)
then do:
    if vcSummaryByFilter = ? then assign vcSummaryByFilter = {&CREDITORSUMMARYBY-ALL}.
    if vcReportingCurrencyFilter1 = ? then assign vcReportingCurrencyFilter1 = {&CURRENCYTYPE-LC}.
    if vlCreditorPerPageFilter1 = ? then assign vlCreditorPerPageFilter1 = no.
    if vlDetails = ? then assign vlDetails = yes.
    create tqCreditorOpenItemsDetail.
    assign tqCreditorOpenItemsDetail.tcReportingInfo = vcSummaryByFilter + "#":U + 
                                                        vcReportingCurrencyFilter1 + "#":U + 
                                                        String(vlCreditorPerPageFilter1) + "#":U +
                                                        string(vlDetails).
end.