report procedure
Parameters
| icLanguageCode | input | character | |
| tFilter | input | temp-table | |
| dcrDebtorInvoicePrint | output | dataset | |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
unused
program code (program7/bdebtorreport.p)
empty temp-table tqDebtorInvoicePrint.
<M-1 run GetReportLabels
(input 'DebtorInvoicePrint':U (icReportName),
input icLanguageCode (icLanguageCode),
input tFilter (tFilter),
output tqHeader (tqHeader),
output tqFilter (tqFilter),
output tqText (tqText),
output oiReturnStatus (oiReturnStatus)) in BDebtorReport>
if oiReturnStatus <> 0 then return.
<M-2 run SetDataItemsBasedOnFilterTT
(output oiReturnStatus (oiReturnStatus)) in BDebtorReport>
if vcEntityFilter1 = ?
then assign vcCurrentCompanyCode = vcCompanyCode.
else assign vcCurrentCompanyCode = vcEntityFilter1.
<Q-3 run GetDebtorInvoicePrint (all) (Read) (NoCache)
(input ?, (CompanyId)
input vtDInvoiceDateFromFilter, (DInvoiceDateFromFilter)
input vtDInvoiceDateToFilter, (DInvoiceDateToFilter)
input vtDInvoiceDueDateFromFilter, (DInvoiceDueDateFromFilter)
input vtDInvoiceDueDateToFilter, (DInvoiceDueDateToFilter)
input vcDInvoiceTypeFilter, (DInvoiceTypeFilter)
input vcCandoJournalCodeFilter, (CandoJournalCodeFilter)
input vcCurrencyCodeFilter, (CurrencyCodeFilter)
input vcCandoBRCodeFilter, (CandoBRCodeFilter)
input viAccYear, (AccYear)
input vlDinvoiceIsOpenFilter, (DInvoiceIsOpenFilter)
input viDInvoiceVoucherFrom, (DInvoiceVoucherFrom)
input viDInvoiceVoucherTo, (DInvoiceVoucherTo)
input vcToDebtorCodeFilter, (ToDebtorCodeFilter)
input vcFromDebtorCodeFilter, (FromDebtorCodeFilter)
input vcFromDebtorBillToCode, (FromDebtorBillToCodeFilter)
input vcToDebtorBillToCode, (ToDebtorBillToCodeFilter)
input vcFromDebtorShipToCode, (FromDebtorShipToCodeFilter)
input vcToDebtorShipToCode, (ToDebtorShipToCodeFilter)
input vcCurrentCompanyCode, (CompanyCode)
input vcCandoDebtorCodeFilter, (DebtorCodeCando)
output dataset tqGetDebtorInvoicePrint) in BDebtorReport>
<Q-11 run CompanyPrim (all) (Read) (NoCache)
(input ?, (LookupCompanyId)
input vcCurrentCompanyCode, (CompanyCode)
output dataset tqCompanyPrim) in BCompany >
find first tqCompanyPrim
no-error.
if available tqCompanyPrim
then do:
/* Populate Company Address Details here */
<Q-12 run GetCompanyAddress (all) (Read) (NoCache)
(input tqCompanyPrim.tiCompany_ID, (CompanyId)
input {&ADDRESSTYPECODESYSTEM-HEADOFFICE}, (AddressTypeCode)
input yes, (ContactIsPrimary)
input '':U, (CompanyCode)
output dataset tqGetCompanyAddress) in BDebtorReport >
find first tqGetCompanyAddress
no-error.
if available tqGetCompanyAddress
then assign vlCompanyData = true.
/* ========================================================= */
/* Check if invoice certification is enabled for this domain */
/* ========================================================= */
<Q-96 run CompanyForDomainProperties (all) (Read) (NoCache)
(input ?, (CompanyId)
input vcCurrentCompanyCode, (CompanyCode)
output dataset tqCompanyForDomainProperties) in BCompany>
find first tqCompanyForDomainProperties
no-lock no-error.
if not available tqCompanyForDomainProperties
then do:
assign vcMessage = #T-53'Unable to retrieve the domain settings.':255(576266750)T-53#
oiReturnStatus = -3.
<M-71 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 1 (iiSeverity),
input '':U (icRowid),
input 'qadfin-265409':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BDebtorReport>
return.
end. /* if not available tqCompanyForDomainProperties*/
<Q-10 run DebtorByDebtor (all) (Read) (NoCache)
(input tqCompanyPrim.tiCompany_ID, (CompanyId)
input ?, (AddressType)
input ?, (DebtorId)
input ?, (DebtorCode)
output dataset tqDebtorByDebtor) in BDebtor >
for each tqGetDebtorInvoicePrint break by tqGetDebtorInvoicePrint.tcTxclTaxCls:
create tqDebtorInvoicePrint.
assign tqDebtorInvoicePrint.tcCustomer = tqGetDebtorInvoicePrint.tcDebtorCode
tqDebtorInvoicePrint.tcCustDescription = tqGetDebtorInvoicePrint.tcDebtorCode
tqDebtorInvoicePrint.tcCustomerName = tqGetDebtorInvoicePrint.tcBusinessRelationName1
tqDebtorInvoicePrint.tcCustomerAddress = tqGetDebtorInvoicePrint.tcAddressStreet1
tqDebtorInvoicePrint.tcCustomerCity = tqGetDebtorInvoicePrint.tcAddressCity
tqDebtorInvoicePrint.tcCustomerState = tqGetDebtorInvoicePrint.tcAddressState
tqDebtorInvoicePrint.tcCustomerZip = tqGetDebtorInvoicePrint.tcAddressZip
tqDebtorInvoicePrint.tcCustomerTelephone = tqGetDebtorInvoicePrint.tcAddressTelephone
tqDebtorInvoicePrint.tcDebtorCredittermDesc = tqGetDebtorInvoicePrint.tcPaymentConditionDescript
tqDebtorInvoicePrint.tcDebtorCreditTermCode = tqGetDebtorInvoicePrint.tcPaymentConditionCode
tqDebtorInvoicePrint.tcDebtorCreditRatingCode = tqGetDebtorInvoicePrint.tcDebtorCreditRatingCode
tqDebtorInvoicePrint.tcInvoiceReference = tqGetDebtorInvoicePrint.tcDInvoiceDIText
tqDebtorInvoicePrint.tcDInvoiceDescription = tqGetDebtorInvoicePrint.tcDInvoiceDescription
tqDebtorInvoicePrint.tcDinvoiceSalespns = tqGetDebtorInvoicePrint.tcDInvoiceSlsPsn1
tqDebtorInvoicePrint.tcDinvoiceShiptoCode = tqGetDebtorInvoicePrint.tcDInvoiceShipToCode
tqDebtorInvoicePrint.tcDinvoiceSO = tqGetDebtorInvoicePrint.tcDInvoicePurchaseOrder
tqDebtorInvoicePrint.tcInvoiceType = if tqGetDebtorInvoicePrint.tcDInvoiceType = "FINANCECHARGE"
then "SALES FINANCECHARGE" else tqGetDebtorInvoicePrint.tcDInvoiceType
tqDebtorInvoicePrint.tcReasonCode = tqGetDebtorInvoicePrint.tcReasonCode
tqDebtorInvoicePrint.tcCurrencyCode = tqGetDebtorInvoicePrint.tcCurrencyCode
tqDebtorInvoicePrint.tlDinvoiceisTaxable = tqGetDebtorInvoicePrint.tlDInvoiceIsTaxable
tqDebtorInvoicePrint.ttDueDate = tqGetDebtorInvoicePrint.ttDInvoiceDueDate
tqDebtorInvoicePrint.ttDInvoiceDate = tqGetDebtorInvoicePrint.ttDInvoiceDate
tqDebtorInvoicePrint.ttDInvoiceDiscountDueDate = tqGetDebtorInvoicePrint.ttDInvoiceDiscountDueDate
tqDebtorInvoicePrint.tdInvoiceAmount = tqGetDebtorInvoicePrint.tdDInvoiceBalanceTC
tqDebtorInvoicePrint.tdInvoiceVat = if (tqGetDebtorInvoicePrint.tlDInvoiceIsTaxable and
(tqDebtorInvoicePrint.tcInvoiceType = {&INVOICETYPE-CREDITNOTE} or
tqDebtorInvoicePrint.tcInvoiceType = {&INVOICETYPE-CREDITNOTECORRECTION})) then
(- tqGetDebtorInvoicePrint.tdDInvoiceVatVatDebitTC) else tqGetDebtorInvoicePrint.tdDInvoiceVatVatCreditTC
tqDebtorInvoicePrint.ttDinvoiceTaxPointDate = tqGetDebtorInvoicePrint.ttDInvoiceDiscountDueDate
tqDebtorInvoicePrint.tcARBatchNumber = tqGetDebtorInvoicePrint.tcDInvoiceBatch
tqDebtorInvoicePrint.tcInvoiceVoucher = string(tqGetDebtorInvoicePrint.tiDInvoicePostingYear, "9999":U) + "/":U +
tqGetDebtorInvoicePrint.tcJournalCode + "/":U +
string(tqGetDebtorInvoicePrint.tiDInvoiceVoucher, "999999999":U)
tqDebtorInvoicePrint.tiDInvoiceReminderCount = tqGetDebtorInvoicePrint.tiDInvoiceReminderCount
tqDebtorInvoicePrint.tcDebtorBillTo = (if tqGetDebtorInvoicePrint.tcDebtorBillToCode <> "":U
then tqGetDebtorInvoicePrint.tcDebtorBillToCode
else tqDebtorInvoicePrint.tcCustomer)
tqDebtorInvoicePrint.tcDebtorSoldTo = tqGetDebtorInvoicePrint.tcDebtorSoldToCode
tqDebtorInvoicePrint.tcDebtorShipTo = tqGetDebtorInvoicePrint.tcDInvoiceShipToCode
tqDebtorInvoicePrint.tcTaxRateDesc = tqGetDebtorInvoicePrint.tctx2_desc
tqDebtorInvoicePrint.tcTaxClass = tqGetDebtorInvoicePrint.tcTxclTaxCls
tqDebtorInvoicePrint.tiTaxRate = tqGetDebtorInvoicePrint.tdtx2_tax_pct
tqDebtorInvoicePrint.tlDInvoiceVatIsTaxable = tqGetDebtorInvoicePrint.tlDInvoiceVatIsTaxable
tqDebtorInvoicePrint.tcDInvoiceInvCertCertificate = if tqCompanyForDomainProperties.tlDomainPropertyIsInvCertific
then tqGetDebtorInvoicePrint.tcDInvoiceInvCertCertificate
else "":u
tqDebtorInvoicePrint.tcDInvoiceInvCertSignatureCurr = if tqCompanyForDomainProperties.tlDomainPropertyIsInvCertific
then substring(tqGetDebtorInvoicePrint.tcDInvoiceInvCertSignatureCurr,1,1,"CHARACTER") +
substring(tqGetDebtorInvoicePrint.tcDInvoiceInvCertSignatureCurr,11,1,"CHARACTER") +
substring(tqGetDebtorInvoicePrint.tcDInvoiceInvCertSignatureCurr,21,1,"CHARACTER") +
substring(tqGetDebtorInvoicePrint.tcDInvoiceInvCertSignatureCurr,31,1,"CHARACTER")
else "":u
tqDebtorInvoicePrint.tcDInvoiceTSMNumber = tqGetDebtorInvoicePrint.tcDInvoiceTSMNumber
tqDebtorInvoicePrint.tcDInvoiceDIText = tqGetDebtorInvoicePrint.tcDInvoiceDIText.
/* get bank number */
<Q-46 run GetBankNumberByDInvoiceId (first) (Read) (NoCache)
(input ?, (CompanyId)
input tqGetDebtorInvoicePrint.tiDInvoice_ID, (DInvoiceId)
output dataset tqGetBankNumberByDInvoiceId) in BDInvoice>
find first tqGetBankNumberByDInvoiceId no-error.
if available tqGetBankNumberByDInvoiceId
then do:
assign tqDebtorInvoicePrint.tcBankNumber = tqGetBankNumberByDInvoiceId.tcBankNumber.
end.
if tqGetDebtorInvoicePrint.tlDInvoiceVatIsTaxable
then do:
assign
tqDebtorInvoicePrint.tdInvoiceBaseAmount = if (tqDebtorInvoicePrint.tcInvoiceType = {&INVOICETYPE-CREDITNOTE} or
tqDebtorInvoicePrint.tcInvoiceType = {&INVOICETYPE-CREDITNOTECORRECTION})
then (- tqGetDebtorInvoicePrint.tdDInvoiceVatVatBaseDebitTC)
else tqGetDebtorInvoicePrint.tdDInvoiceVatVatBaseCreditTC.
end.
else do:
tqDebtorInvoicePrint.tdInvoiceBaseAmount = if (tqDebtorInvoicePrint.tcInvoiceType = {&INVOICETYPE-CREDITNOTE} or
tqDebtorInvoicePrint.tcInvoiceType = {&INVOICETYPE-CREDITNOTECORRECTION})
then (- tqGetDebtorInvoicePrint.tdDInvoiceVatNTBaseDebitTC)
else tqGetDebtorInvoicePrint.tdDInvoiceVatNTBaseCreditTC.
end.
if vlCompanyData = true
then assign tqDebtorInvoicePrint.tcEntity = tqGetDebtorInvoicePrint.tcCompanyCode
tqDebtorInvoicePrint.tcCompanyAddress = tqGetCompanyAddress.tcAddressStreet1
tqDebtorInvoicePrint.tcCompanyCity = tqGetCompanyAddress.tcAddressCity
tqDebtorInvoicePrint.tcCompanyState = tqGetCompanyAddress.tcStateCode
tqDebtorInvoicePrint.tcCompanyZip = tqGetCompanyAddress.tcAddressZip
tqDebtorInvoicePrint.tcCompanyTelephone = tqGetCompanyAddress.tcAddressTelephone
tqDebtorInvoicePrint.tcCompanyStateTaxID = tqGetCompanyAddress.tcAddressTaxIDState.
if tqDebtorInvoicePrint.tcDebtorBillTo <> "":U
then do:
find first tqDebtorByDebtor where
tqDebtorByDebtor.tcDebtorCode = tqDebtorInvoicePrint.tcDebtorBillTo AND
tqDebtorByDebtor.tcAddressTypeCode = {&ADDRESSTYPECODESYSTEM-HEADOFFICE} no-error.
if available tqDebtorByDebtor
then assign tqDebtorInvoicePrint.tcBillToAddress = tqDebtorByDebtor.tcAddressStreet1
tqDebtorInvoicePrint.tcBillToAddress2 = tqDebtorByDebtor.tcAddressStreet2
tqDebtorInvoicePrint.tcBillToAddress3 = tqDebtorByDebtor.tcAddressStreet3
tqDebtorInvoicePrint.tcBillToCity = tqDebtorByDebtor.tcAddressCity
tqDebtorInvoicePrint.tcBillToDescription = tqDebtorByDebtor.tcBusinessRelationName1
tqDebtorInvoicePrint.tcBillToName = tqDebtorByDebtor.tcAddressName
tqDebtorInvoicePrint.tcBillToState = tqDebtorByDebtor.tcStateCode
tqDebtorInvoicePrint.tcBillToTelephone = tqDebtorByDebtor.tcAddressTelephone
tqDebtorInvoicePrint.tcBillToZip = tqDebtorByDebtor.tcAddressZip
tqDebtorInvoicePrint.tcBillToStateTaxID = tqDebtorByDebtor.tcAddressTaxIDState
tqDebtorInvoicePrint.tcBillToCountry = tqDebtorByDebtor.tcCountryDescription.
end. /* if tqDebtorInvoicePrint.tcDebtorBillTo <> "":U */
if tqDebtorInvoicePrint.tcDebtorSoldTo <> "":U
then do:
find first tqDebtorByDebtor where
tqDebtorByDebtor.tcDebtorCode = tqDebtorInvoicePrint.tcDebtorSoldTo AND
tqDebtorByDebtor.tcAddressTypeCode = {&ADDRESSTYPECODESYSTEM-HEADOFFICE} no-error.
if available tqDebtorByDebtor
then assign tqDebtorInvoicePrint.tcSoldToAddress = tqDebtorByDebtor.tcAddressStreet1
tqDebtorInvoicePrint.tcSoldToAddress2 = tqDebtorByDebtor.tcAddressStreet2
tqDebtorInvoicePrint.tcSoldToAddress3 = tqDebtorByDebtor.tcAddressStreet3
tqDebtorInvoicePrint.tcSoldToCity = tqDebtorByDebtor.tcAddressCity
tqDebtorInvoicePrint.tcSoldToDescription = tqDebtorByDebtor.tcBusinessRelationName1
tqDebtorInvoicePrint.tcSoldToName = tqDebtorByDebtor.tcAddressName
tqDebtorInvoicePrint.tcSoldToState = tqDebtorByDebtor.tcStateCode
tqDebtorInvoicePrint.tcSoldToTelephone = tqDebtorByDebtor.tcAddressTelephone
tqDebtorInvoicePrint.tcSoldToZip = tqDebtorByDebtor.tcAddressZip
tqDebtorInvoicePrint.tcSoldToCountry = tqDebtorByDebtor.tcCountryDescription.
end. /* if tqDebtorInvoicePrint.tcDebtorSoldTo <> "":U then */
if tqDebtorInvoicePrint.tcDebtorShipTo <> "":U
then do:
if tqDebtorInvoicePrint.tcCustomer = tqDebtorInvoicePrint.tcDebtorShipTo
then do:
find first tqDebtorByDebtor where
tqDebtorByDebtor.tcDebtorCode = tqDebtorInvoicePrint.tcDebtorShipTo AND
tqDebtorByDebtor.tcAddressTypeCode = {&ADDRESSTYPECODESYSTEM-HEADOFFICE} no-error.
if available tqDebtorByDebtor
then assign tqDebtorInvoicePrint.tcShipToName = tqDebtorByDebtor.tcAddressName
tqDebtorInvoicePrint.tcShipToStateTaxID = tqDebtorByDebtor.tcAddressTaxIDState.
end. /* if tqDebtorInvoicePrint.tcCustomer = tqDebtorInvoicePrint.tcDebtorShipTo */
else do:
<Q-84 run DebtorShiptoByDebtorForInvRep (all) (Read) (NoCache)
(input tqCompanyPrim.tiCompany_ID, (CompanyId)
input tqDebtorInvoicePrint.tcDebtorShipTo, (DebtorShipToCode)
output dataset tqDebtorShiptoByDebtorForInvRep) in BDebtorShipTo>
find first tqDebtorShiptoByDebtorForInvRep where
tqDebtorShiptoByDebtorForInvRep.tcDebtorShipToCode = tqDebtorInvoicePrint.tcDebtorShipTo AND
tqDebtorShiptoByDebtorForInvRep.tcDebtorCode = tqDebtorInvoicePrint.tcDebtorSoldTo no-error.
if available tqDebtorShiptoByDebtorForInvRep
then assign tqDebtorInvoicePrint.tcShipToName = tqDebtorShiptoByDebtorForInvRep .tcAddressName
tqDebtorInvoicePrint.tcShipToStateTaxID = tqDebtorShiptoByDebtorForInvRep .tcAddressTaxIDState.
else do:
/* Handling Customer Invoice Create using Financials with any type Address type */
<Q-19 run AddressById (all) (Read) (NoCache)
(input tqGetDebtorInvoicePrint.tiShipToAddress_ID, (AddressID)
output dataset tqAddressById) in BBusinessRelation >
find first tqAddressById where tqAddressById.tiAddress_ID = tqGetDebtorInvoicePrint.tiShipToAddress_ID no-error.
if available tqAddressById
then assign tqDebtorInvoicePrint.tcShipToName = tqAddressById.tcAddressName
tqDebtorInvoicePrint.tcShipToStateTaxID = tqAddressById.tcAddressTaxIDState.
end. /* else do */
end. /* else if tqDebtorInvoicePrint.tcCustomer <> tqDebtorInvoicePrint.tcDebtorShipTo */
end. /* if tqDebtorInvoicePrint.tcDebtorShipTo <> "":U then */
end. /* for each tqGetDebtorInvoicePrint: */
end. /* if available tqCompanyPrim then */