project QadFinancials > class BDInvoice > method CalculateDInvoiceBank
Parameters
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/bdinvoice.p)
if vcPayFormatPayInstruments = "":U or
vcPayFormatPayInstruments = ?
then assign vcPayFormatPayInstruments = {&PAYFORMATPAYINSTRUMENTS}.
for each tDInvoiceBank where
tDInvoiceBank.tcCompanyCode = "":U or
tDInvoiceBank.tcCompanyCode = ?:
/* ============================================================== */
/* BankNumber should be displayed in a formatted way */
/* The 'format'-characters are removed again in ValidateComponent */
/* ============================================================== */
if tDInvoiceBank.tcBankNumberFormatted <> "":U and
tDInvoiceBank.tcBankNumberFormatted <> ?
then assign tDInvoiceBank.tcBankNumber = tDInvoiceBank.tcBankNumberFormatted.
<Q-4 run BankPayFormatByID (all) (Read) (NoCache)
(input tDInvoiceBank.tiBankPayFormat_ID, (BankPayFormatId)
input ?, (CompanyId)
output dataset tqBankPayFormatByID) in BBankPayFormat>
for first tqBankPayFormatByID where
tqBankPayFormatByID.tiBankPayFormat_ID = tDInvoiceBank.tiBankPayFormat_ID :
assign tDInvoiceBank.tcOwnBankNumber = tqBankPayFormatByID.tcBankNumber
tDInvoiceBank.tcOwnGLCode = tqBankPayFormatByID.tcGLCode
tDInvoiceBank.tcPayFormatTypeCode = tqBankPayFormatByID.tcPayFormatTypeCode
tDInvoiceBank.tcCompanyCode = tqBankPayFormatByID.tcCompanyCode
tDInvoiceBank.tcPayFormatTypePayInstrument = "?":U.
do viCounter = num-entries(vcPayFormatPayInstruments,chr(2)) to 1 by -2 :
if entry(viCounter,vcPayFormatPayInstruments,chr(2)) = tqBankPayFormatByID.tcPayFormatTypePayInstrument
then do :
assign tDInvoiceBank.tcPayFormatTypePayInstrument = entry(viCounter - 1,vcPayFormatPayInstruments,chr(2)) no-error.
leave.
end. /* if entry */
end. /* do */
end. /* for first tqBankPayFormatByID */
end. /* for each tDInvoiceBank */
if can-find (first tDInvoiceBankPayCode where
((tDInvoiceBankPayCode.tcPayFormatCode = "":U or tDInvoiceBankPayCode.tcPayFormatCode = ?) and
(tDInvoiceBankPayCode.tcPayFormatGroupCode = "":U or tDInvoiceBankPayCode.tcPayFormatGroupCode = ?)))
then do :
for each tDInvoiceBankPayCode:
if tDInvoiceBankPayCode.PayFormatCode_ID <> ? and tDInvoiceBankPayCode.PayFormatCode_ID <> 0
then do:
<Q-7 run PayFormatCodePrim (all) (Read) (NoCache)
(input tDInvoiceBankPayCode.PayFormatCode_ID, (PayFormatCodeID)
input ?, (PayFormatCode)
output dataset tqPayFormatCodePrim) in BPaymentFormat>
for first tqPayFormatCodePrim:
assign tDInvoiceBankPayCode.tcPayFormatCode = tqPayFormatCodePrim.tcPayFormatCode
tDInvoiceBankPayCode.tcPayFormatCodeDescription = tqPayFormatCodePrim.tcPayFormatCodeDescription.
end.
end.
else assign tDInvoiceBankPayCode.tcPayFormatCode = tDInvoiceBankPayCode.DInvoiceBankPayCodeValue
tDInvoiceBankPayCode.tcPayFormatCodeDescription = "":U.
<Q-8 run PayFormatGroupPrim (all) (Read) (NoCache)
(input tDInvoiceBankPayCode.PayFormatGroup_ID, (PayFormatGroupID)
input ?, (PayFormatTypeCode)
input ?, (PayFormatGroupSequence)
output dataset tqPayFormatGroupPrim) in BPaymentFormat>
for first tqPayFormatGroupPrim:
assign tDInvoiceBankPayCode.tcPayFormatGroupCode = tqPayFormatGroupPrim.tcPayFormatGroupCode
tDInvoiceBankPayCode.tcPayFormatGroupDescription = tqPayFormatGroupPrim.tcPayFormatGroupDescription
tDInvoiceBankPayCode.tcPayFormatGroupDataType = tqPayFormatGroupPrim.tcPayFormatGroupDataType
tDInvoiceBankPayCode.tlPayFormatGroupIsMandatory = tqPayFormatGroupPrim.tlPayFormatGroupIsMandatory
tDInvoiceBankPayCode.tcPayFormatGroupInputOption = tqPayFormatGroupPrim.tcPayFormatGroupInputOption.
end.
end.
end. /* if can-find first (tDInvoiceBankPayCode where */