project QadFinancials > class BDInvoice > method ValidateComponentAllBank
Description
This method is a submethod of ValidateComponentAll.
This method validates the Debtor Invoice Bank fields.
Parameters
| blStartPayFormatCodeByGroupID | input-output | logical | Is query tqPayFormatCodeByGroupId already started or not ? |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program5/bdinvoice.p)
/* ======================================================================== */
/* IMPORTANT: This method is run from ValidateComponentAll */
/* The code in this method is nested within the for each t_sDInvoice */
/* This can only work when both methods are defined in the same segment (5) */
/* ======================================================================== */
if can-find (first t_sDInvoiceBankPayCode where
t_sDInvoiceBankPayCode.tc_Status = "N":U or t_sDInvoiceBankPayCode.tc_Status = "C")
then do:
if viBPaymentFormatDIID = 0 or viBPaymentFormatDIID = ?
then do:
<I-15 {bFcStartAndOpenInstance
&ADD-TO-TRANSACTION = "false"
&CLASS = "BPaymentFormat"}>
end.
else do:
<I-16 {bFcOpenInstance
&CLASS = "BPaymentFormat"}>
end.
for each t_sDInvoiceBankPayCode where
t_sDInvoiceBankPayCode.tc_Status = "N":U or t_sDInvoiceBankPayCode.tc_Status = "C":
if t_sDInvoiceBankPayCode.tcPayFormatCode <> ? and t_sDInvoiceBankPayCode.tcPayFormatCode <> "":U
then do:
if not blStartPayFormatCodeByGroupID
then do:
<Q-28 run PayFormatCodebyGroupID (Start) in BPaymentFormat >
assign blStartPayFormatCodeByGroupID = true.
end.
<Q-19 run PayFormatCodebyGroupID (all) (Read) (NoCache)
(input ?, (PayFormatCodeID)
input t_sDInvoiceBankPayCode.tcPayFormatCode, (PayFormatCode)
input t_sDInvoiceBankPayCode.PayFormatGroup_ID, (PayFormatGroupID)
output dataset tqPayFormatCodebyGroupID) in BPaymentFormat >
find first tqPayFormatCodebyGroupID no-error.
if available tqPayFormatCodebyGroupID
then assign t_sDInvoiceBankPayCode.PayFormatCode_ID = tqPayFormatCodebyGroupID.tiPayFormatCode_ID
t_sDInvoiceBankPayCode.DInvoiceBankPayCodeValue = "":U.
else assign t_sDInvoiceBankPayCode.PayFormatCode_ID = 0
t_sDInvoiceBankPayCode.DInvoiceBankPayCodeValue = t_sDInvoiceBankPayCode.tcPayFormatCode.
end.
else assign t_sDInvoiceBankPayCode.PayFormatCode_ID = 0
t_sDInvoiceBankPayCode.DInvoiceBankPayCodeValue = "":U.
<M-14 run ValidatePayCode
(input t_sDInvoiceBankPayCode.PayFormatGroup_ID (iiPayFormatGroupId),
input t_sDInvoiceBankPayCode.PayFormatCode_ID (iiPayFormatCodeId),
input t_sDInvoiceBankPayCode.DInvoiceBankPayCodeValue (icPayCodeValue),
input true (ilCheckMandatory),
input t_sDInvoice.DInvoicePostingYear (iiYear),
input t_sDInvoice.tcJournalCode (icDaybook),
input t_sDInvoice.DInvoiceVoucher (iiVoucherNumber),
output viFcReturnSuper (oiReturnStatus)) in BPaymentFormat>
if viFcReturnSuper < 0 or oiReturnStatus = 0
then assign oiReturnStatus = viFcReturnSuper.
end. /* for each t_sDInvoiceBankPayCode */
<I-27 {bFcCloseInstance
&CLASS = "BPaymentFormat"}>
if oiReturnStatus < 0
then do:
<M-26 run StopExternalInstances
(output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
end.
end. /* if can-find ... */