report procedure
Parameters
icLanguageCode | input | character | |
tFilter | input | temp-table | |
dcrCashPaid | output | dataset | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
unused
program code (program1/bcashboxreport.p)
empty temp-table tqCashPaid.
<M-1 run GetReportLabels
(input 'CashPaid':U (icReportName),
input icLanguageCode (icLanguageCode),
input tFilter (tFilter),
output tqHeader (tqHeader),
output tqFilter (tqFilter),
output tqText (tqText),
output oiReturnStatus (oiReturnStatus)) in BCashBoxReport>
if oiReturnStatus <> 0
then return.
find first tqHeader no-error.
if available tqHeader
then assign tqHeader.tcReportTitle = #T-15'Cash Paid':40(999890341)T-15#
tqHeader.tcExtraInfo = #T-16'Petty Cash Report':30(53047)T-16# + " - ":U.
<M-2 run SetDataItemsBasedOnFilterTT (output oiReturnStatus (oiReturnStatus)) in BCashBoxReport>
/*bank state line's id must be filled*/
if vcCandoBankStateLineIDFilter = ?
then do:
<M-3 run SetMessage
(input #T-17'No bank statement lines have been specified.':100(999890337)T-17# (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QadFin-9113':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output oiReturnStatus (oiReturnStatus)) in BCashBoxReport>
assign oiReturnStatus = -1.
return.
end.
/*cache queries*/
<Q-4 run JournalPrim (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input ?, (JournalCode)
input ?, (JournalID)
output dataset tqJournalPrim) in BJournal >
<Q-5 run PeriodByYearPeriod (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input ?, (PeriodYear)
input ?, (PeriodPeriod)
input ?, (PeriodId)
output dataset tqPeriodByYearPeriod) in BPeriod >
/*business relation informations for company*/
<Q-6 run BusinessRelationByCompanyID (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input {&ADDRESSTYPECODESYSTEM-HEADOFFICE}, (AddressType)
output dataset tqBusinessRelationByCompanyID) in BCashBoxReport >
/*core query*/
<Q-7 run BaseCashOperation (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input {&BANKSTATETRANSTYPE-CASH}, (BankStateTransactionType)
input vcCandoBankStateLineIDFilter, (CanDoBankStateLines)
output dataset tqBaseCashOperation) in BCashBoxReport >
<Q-8 run BusinessRelationByBRID (Start) in BCashBoxReport >
<Q-9 run GetCurrDescriptions (Start) in BCashBoxReport >
for each tqBaseCashOperation:
/*only input lines could displayed*/
if tqBaseCashOperation.tcBankStateLineInOut = "+":U
then next.
create tqCashPaid.
buffer-copy tqBaseCashOperation to tqCashPaid.
assign tqCashPaid.tcCurrencyCode = tqBaseCashOperation.tcCurrencyCode
tqCashPaid.tcCurrencyCodeBankLine = tqBaseCashOperation.tcCurrencyCode
tqCashPaid.tcCurrencyCodeLC = tqBaseCashOperation.tcCurrencyCode
tqCashPaid.tcCurrencyCodePosting = tqBaseCashOperation.tcPostingLineCurrency.
/*business relation informations for company*/
find first tqBusinessRelationByCompanyID no-lock no-error.
if available tqBusinessRelationByCompanyID then
assign tqCashPaid.tcBusinessRelationName1Comp = tqBusinessRelationByCompanyID.tcBusinessRelationName1
tqCashPaid.tcAddressCityComp = tqBusinessRelationByCompanyID.tcAddressCity
tqCashPaid.tcAddressStreet1Comp = tqBusinessRelationByCompanyID.tcAddressStreet1
tqCashPaid.tcAddressStreet2Comp = tqBusinessRelationByCompanyID.tcAddressStreet2
tqCashPaid.tcAddressZipComp = tqBusinessRelationByCompanyID.tcAddressZip.
vdAmount = ABS(tqBaseCashOperation.tdBankStateLineAmountTC).
tqCashPaid.tiDollarAmount = INT(TRUNCATE(vdAmount, 0)).
tqCashPaid.tiCentAmount = INT((vdAmount - tqCashPaid.tiDollarAmount) * 100).
<Q-10 run GetCurrDescriptions (all) (Read) (NoCache)
(input tqCashPaid.tcCurrencyCode, (CurrencyCode)
output dataset tqGetCurrDescriptions) in BCashBoxReport >
find first tqGetCurrDescriptions no-lock no-error.
if available tqGetCurrDescriptions then do:
tqCashPaid.tcDollarCurrency = tqGetCurrDescriptions.tcCurrencyDescription.
tqCashPaid.tcCentCurrency = tqGetCurrDescriptions.tcCurrencyDecimalDescription.
end.
find first tqJournalPrim where tqJournalPrim.tiJournal_ID = tqBaseCashOperation.tiJournal_ID no-error.
if available tqJournalPrim
then
assign tqCashPaid.tcJournalCode = tqJournalPrim.tcJournalCode.
find first tqPeriodByYearPeriod where tqPeriodByYearPeriod.tiPeriod_ID = tqBaseCashOperation.tiPeriod_ID no-error.
if available tqPeriodByYearPeriod
then
assign tqCashPaid.tiPeriodYear = tqPeriodByYearPeriod.tiPeriodYear.
if(tqBaseCashOperation.tiCInvoice_ID <> 0)
then do:
assign tqCashPaid.tiVoucherReference = tqBaseCashOperation.tiCInvoiceVoucher.
find first tqJournalPrim where tqJournalPrim.tiJournal_ID = tqBaseCashOperation.tiCInvJournal_ID no-error.
if available tqJournalPrim
then assign tqCashPaid.tcJournalCodeReference = tqJournalPrim.tcJournalCode.
find first tqPeriodByYearPeriod where tqPeriodByYearPeriod.tiPeriod_ID = tqBaseCashOperation.tiCInvPeriod_ID no-error.
if available tqPeriodByYearPeriod
then assign tqCashPaid.tiPeriodYearReference = tqPeriodByYearPeriod.tiPeriodYear.
<Q-11 run BusinessRelationByBRID (all) (Read) (NoCache)
(input {&ADDRESSTYPECODESYSTEM-HEADOFFICE}, (AddressType)
input tqBaseCashOperation.tiCrBusRel_ID, (BusinessRelationID)
output dataset tqBusinessRelationByBRID) in BCashBoxReport >
find first tqBusinessRelationByBRID no-error.
if available tqBusinessRelationByBRID
then do:
assign tqCashPaid.tcBusinessRelationName1 = tqBusinessRelationByBRID.tcBusinessRelationName1
tqCashPaid.tcAddressCity = tqBusinessRelationByBRID.tcAddressCity
tqCashPaid.tcAddressStreet1 = tqBusinessRelationByBRID.tcAddressStreet1
tqCashPaid.tcAddressStreet2 = tqBusinessRelationByBRID.tcAddressStreet2
tqCashPaid.tcAddressZip = tqBusinessRelationByBRID.tcAddressZip.
end.
end.
if(tqBaseCashOperation.tiDInvoice_ID <> 0)
then do:
assign tqCashPaid.tiVoucherReference = tqBaseCashOperation.tiDInvoiceVoucher.
find first tqJournalPrim where tqJournalPrim.tiJournal_ID = tqBaseCashOperation.tiDInvJournal_ID no-error.
if available tqJournalPrim
then assign tqCashPaid.tcJournalCodeReference = tqJournalPrim.tcJournalCode.
find first tqPeriodByYearPeriod where tqPeriodByYearPeriod.tiPeriod_ID = tqBaseCashOperation.tiDInvPeriod_ID no-error.
if available tqPeriodByYearPeriod
then assign tqCashPaid.tiPeriodYearReference = tqPeriodByYearPeriod.tiPeriodYear.
<Q-12 run BusinessRelationByBRID (all) (Read) (NoCache)
(input {&ADDRESSTYPECODESYSTEM-HEADOFFICE}, (AddressType)
input tqBaseCashOperation.tiDebBusRel_ID, (BusinessRelationID)
output dataset tqBusinessRelationByBRID) in BCashBoxReport >
find first tqBusinessRelationByBRID no-error.
if available tqBusinessRelationByBRID
then do:
assign tqCashPaid.tcBusinessRelationName1 = tqBusinessRelationByBRID.tcBusinessRelationName1
tqCashPaid.tcAddressCity = tqBusinessRelationByBRID.tcAddressCity
tqCashPaid.tcAddressStreet1 = tqBusinessRelationByBRID.tcAddressStreet1
tqCashPaid.tcAddressStreet2 = tqBusinessRelationByBRID.tcAddressStreet2
tqCashPaid.tcAddressZip = tqBusinessRelationByBRID.tcAddressZip.
end.
end.
if(tqBaseCashOperation.tiAloccPosting_ID <> 0 and tqBaseCashOperation.tiCInvoice_ID = 0 and tqBaseCashOperation.tiDInvoice_ID = 0)
then do:
assign tqCashPaid.tiVoucherReference = tqBaseCashOperation.tiAlocPostingVoucher.
find first tqJournalPrim where tqJournalPrim.tiJournal_ID = tqBaseCashOperation.tiAlocJournal_ID no-error.
if available tqJournalPrim
then assign tqCashPaid.tcJournalCodeReference = tqJournalPrim.tcJournalCode.
find first tqPeriodByYearPeriod where tqPeriodByYearPeriod.tiPeriod_ID = tqBaseCashOperation.tiAlocPeriod_ID no-error.
if available tqPeriodByYearPeriod
then assign tqCashPaid.tiPeriodYearReference = tqPeriodByYearPeriod.tiPeriodYear.
end.
if tqCashPaid.tiVoucherReference = 0
then assign tqCashPaid.tiVoucherReference = tqCashPaid.tiPostingVoucher
tqCashPaid.tcJournalCodeReference = tqCashPaid.tcJournalCode
tqCashPaid.tiPeriodYearReference = tqCashPaid.tiPeriodYear.
end.
<Q-13 run BusinessRelationByBRID (Stop) in BCashBoxReport >
<Q-14 run GetCurrDescriptions (Stop) in BCashBoxReport >