report procedure
Description
Detailed List For Open Items
Parameters
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.