report procedure
Parameters
| icLanguageCode | input | character | |
| tFilter | input | temp-table | |
| dcrRemittance | output | dataset | |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
unused
program code (program7/bpaymentselectionreport.p)
empty temp-table tqRemittance.
<M-1 run GetReportLabels (input 'Remittance':U (icReportName),
input icLanguageCode (icLanguageCode),
input tFilter (tFilter),
output tqHeader (tqHeader),
output tqFilter (tqFilter),
output tqText (tqText),
output oiReturnStatus (oiReturnStatus)) in BPaymentSelectionReport>
if oiReturnStatus <> 0
then return.
/*assign tFilter*/
<M-2 run SetDataItemsBasedOnFilterTT (output viFcReturnSuper (oiReturnStatus)) in BPaymentSelectionReport>
/* ============= */
/* Precache data */
/* ============= */
<Q-10 run AddressTypePrim (all) (Read) (NoCache)
(input ?, (AddressTypeId)
input {&ADDRESSTYPECODESYSTEM-HEADOFFICE}, (AddressTypeCode)
output dataset tqAddressTypePrim) in BAddressType >
find first tqAddressTypePrim no-error.
if available tqAddressTypePrim
then assign viAddressType_ID = tqAddressTypePrim.tiAddressType_ID.
else assign viAddressType_ID = -1.
/* ============== */
/* Run Main Query */
/* ============== */
/* We run 2 querries mostly, at leas one */
if (vcPSFromCollectionRefFilter <> ? and
vcPSTillCollectionRefFilter <> ?) or
(viPSFromCollectionYearFilter <> ? and
viPSTillCollectionYearFilter <> ? and
viPSFromCollectionNumberFilter <> ? and
viPSTillCollectionNumberFilter <> ?) or
(viEqualityCollectionNumber <> ? and
viEqualityCollectionYear <> ?) or
vcEqualityCollectionReference <> ?
then do:
<Q-11 run BaseRemittanceByCollCreditor (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input viAddressType_ID, (AddressType_ID)
input vcPSCreditorCodesFilter, (CreditorCodes)
input vcPSFromPayselCodeFilter, (FromPaySel)
input vcPSToPayselCodeFilter, (ToPaySel)
input vcEqualityPaySelCode, (PaySel)
input vlPSRefInBankFilesFilter, (IsRefInFile)
input viPSFromCollectionYearFilter, (FromColYear)
input viPSTillCollectionYearFilter, (TillColYear)
input viEqualityCollectionYear, (ColYear)
input viPSFromCollectionNumberFilter, (FromColNumber)
input viPSTillCollectionNumberFilter, (ToColNumber)
input viEqualityCollectionNumber, (ColNumber)
input vcPSFromCollectionRefFilter, (FromColReference)
input vcPSTillCollectionRefFilter, (ToColReference)
input vcEqualityCollectionReference, (ColReference)
input vtPSFromExecutionDateFilter, (FromPaySelDate)
input vtPSTillExecutionDateFilter, (ToPaySelDate)
input vlSendRemittanceFilter, (SendRemittance)
output dataset tqBaseRemittanceByCollCreditor) in BPaymentSelectionReport >
for each tqBaseRemittanceByCollCreditor
break by tqBaseRemittanceByCollCreditor.tcCreditorCode:
create tqRemittance.
buffer-copy tqBaseRemittanceByCollCreditor to tqRemittance.
if first-of(tqBaseRemittanceByCollCreditor.tcCreditorCode)
then do:
<Q-16 run CreditorByCreditor (all) (Read) (NoCache)
(input ?, (CreditorId)
input viCompanyId, (CompanyId)
input tqBaseRemittanceByCollCreditor.tcCreditorCode, (CreditorCode)
input {&ADDRESSTYPECODESYSTEM-REMITTANCE}, (AddressType)
output dataset tqCreditorByCreditor) in BCreditor >
find first tqCreditorByCreditor no-error.
end.
if available tqCreditorByCreditor
then do:
assign tqRemittance.tcAddressCity = tqCreditorByCreditor.tcAddressCity
tqRemittance.tcAddressStreet1 = tqCreditorByCreditor.tcAddressStreet1
tqRemittance.tcAddressStreet2 = tqCreditorByCreditor.tcAddressStreet2
tqRemittance.tcStateCode = tqCreditorByCreditor.tcStateCode
tqRemittance.tcAddressZip = tqCreditorByCreditor.tcAddressZip
tqRemittance.tiAddressFormat = tqCreditorByCreditor.tiAddressFormat
tqRemittance.tcCountryCode = tqCreditorByCreditor.tcCountryCode
tqRemittance.tcCountryDescription = tqCreditorByCreditor.tcCountryDescription
tqRemittance.tcBusinessRelationCode = tqCreditorByCreditor.tcBusinessRelationCode
tqRemittance.tcBusinessRelationName1 = tqCreditorByCreditor.tcAddressName.
end.
end.
end.
else do:
<Q-12 run BaseRemittanceByPaySelCreditor (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input viAddressType_ID, (AddressType_ID)
input vcPSCreditorCodesFilter, (CreditorCodes)
input vcPSFromPayselCodeFilter, (FromPaySel)
input vcPSToPayselCodeFilter, (ToPaySel)
input vcEqualityPaySelCode, (PaySel)
input vlPSRefInBankFilesFilter, (IsRefInFile)
input vtPSFromExecutionDateFilter, (FromPaySelDate)
input vtPSTillExecutionDateFilter, (ToPaySelDate)
input vlSendRemittanceFilter, (SendRemittance)
output dataset tqBaseRemittanceByPaySelCreditor) in BPaymentSelectionReport >
for each tqBaseRemittanceByPaySelCreditor
break by tqBaseRemittanceByPaySelCreditor.tcCreditorCode:
create tqRemittance.
buffer-copy tqBaseRemittanceByPaySelCreditor to tqRemittance.
if first-of(tqBaseRemittanceByPaySelCreditor.tcCreditorCode)
then do:
<Q-17 run CreditorByCreditor (all) (Read) (NoCache)
(input ?, (CreditorId)
input viCompanyId, (CompanyId)
input tqBaseRemittanceByPaySelCreditor.tcCreditorCode, (CreditorCode)
input {&ADDRESSTYPECODESYSTEM-REMITTANCE}, (AddressType)
output dataset tqCreditorByCreditor) in BCreditor >
find first tqCreditorByCreditor no-error.
end.
if available tqCreditorByCreditor
then do:
assign tqRemittance.tcAddressCity = tqCreditorByCreditor.tcAddressCity
tqRemittance.tcAddressStreet1 = tqCreditorByCreditor.tcAddressStreet1
tqRemittance.tcAddressStreet2 = tqCreditorByCreditor.tcAddressStreet2
tqRemittance.tcStateCode = tqCreditorByCreditor.tcStateCode
tqRemittance.tcAddressZip = tqCreditorByCreditor.tcAddressZip
tqRemittance.tiAddressFormat = tqCreditorByCreditor.tiAddressFormat
tqRemittance.tcCountryCode = tqCreditorByCreditor.tcCountryCode
tqRemittance.tcCountryDescription = tqCreditorByCreditor.tcCountryDescription
tqRemittance.tcBusinessRelationCode = tqCreditorByCreditor.tcBusinessRelationCode
tqRemittance.tcBusinessRelationName1 = tqCreditorByCreditor.tcAddressName.
end.
end.
end.
/* Assign Company info */
<Q-15 run AddressByCompanyID (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input viAddressType_ID, (AddressType_ID)
output dataset tqAddressByCompanyID) in BPaymentSelectionReport >
find first tqAddressByCompanyID no-error.
if available tqAddressByCompanyID
then do:
for each tqRemittance:
assign tqRemittance.tcCompanyAddressCity = tqAddressByCompanyID.tcAddressCity
tqRemittance.tcCompanyAddressStreet1 = tqAddressByCompanyID.tcAddressStreet1
tqRemittance.tcCompanyAddressStreet2 = tqAddressByCompanyID.tcAddressStreet2
tqRemittance.tcCompanyAddressState = tqAddressByCompanyID.tcStateCode
tqRemittance.tiCompanyAddressFormat = tqAddressByCompanyID.tiAddressFormat
tqRemittance.tcCompanyAddressZip = tqAddressByCompanyID.tcAddressZip
tqRemittance.tcCompanyCountryCode = tqAddressByCompanyID.tcCountryCode
tqRemittance.tcCompanyCountryDescription = tqAddressByCompanyID.tcCountryDescription
tqRemittance.tcCompanyBusinessRelationName1 = tqAddressByCompanyID.tcBusinessRelationName1
tqRemittance.tcCompanyBusRelationCode = tqAddressByCompanyID.tcBusinessRelationCode.
end.
end.