project QadFinancials > class BDInvoice > method CreateDIBankPayCode
Parameters
iiDInvoiceBankId | input | integer | |
icDInvoiceBankRowid | input | character | |
iiBankNumberId | input | integer | |
tApiDInvoiceBankPayCode | output | temp-table | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/bdinvoice.p)
if iiDInvoiceBankId = ? or iiDInvoiceBankId = 0 or iiBankNumberId = ? or iiBankNumberId = 0
then return.
empty temp-table tApiDInvoiceBankPayCode.
/* Delete all t_CInvoiceBankPayCode associated with the specified CInvoiceBank so when the user
* changes the bank on the CInvoiceBank, the old CInvoiceBankPayCode gets deleted */
for each tDInvoiceBankPayCode where
tDInvoiceBankPayCode.DInvoiceBank_ID = iiDInvoiceBankId:
if tDInvoiceBankPayCode.tc_Status = "N":U
then delete tDInvoiceBankPayCode.
else assign tDInvoiceBankPayCode.tc_Status = "D":U.
end.
<Q-3 run BankNumberPayCodeForCIDef (all) (Read) (NoCache)
(input iiBankNumberId, (BankNumberId)
output dataset tqBankNumberPayCodeForCIDef) in BBankNumber>
for each tqBankNumberPayCodeForCIDef:
<M-2 run AddDetailLine
(input 'DInvoiceBankPayCode':U (icTable),
input icDInvoiceBankRowid (icParentRowid),
output viFcReturnSuper (oiReturnStatus)) in BDInvoice>
if viFcReturnSuper <> 0
then do:
assign oiReturnStatus = viFcReturnSuper.
return.
end.
assign tDInvoiceBankPayCode.DInvoiceBank_ID = iiDInvoiceBankId
tDInvoiceBankPayCode.PayFormatCode_ID = tqBankNumberPayCodeForCIDef.tiPayFormatCode_ID
tDInvoiceBankPayCode.PayFormatGroup_ID = tqBankNumberPayCodeForCIDef.tiPayFormatGroup_ID
tDInvoiceBankPayCode.DInvoiceBankPayCodeValue = (if tqBankNumberPayCodeForCIDef.tcBankNumberPayCodeValue <> ? and
tqBankNumberPayCodeForCIDef.tcBankNumberPayCodeValue <> "":U
then tqBankNumberPayCodeForCIDef.tcBankNumberPayCodeValue
else tqBankNumberPayCodeForCIDef.tcPayFormatCode)
tDInvoiceBankPayCode.tcPayFormatGroupCode = tqBankNumberPayCodeForCIDef.tcPayFormatGroupCode
tDInvoiceBankPayCode.tcPayFormatGroupDescription = tqBankNumberPayCodeForCIDef.tcPayFormatGroupDescription
tDInvoiceBankPayCode.tlPayFormatGroupIsMandatory = tqBankNumberPayCodeForCIDef.tlPayFormatGroupIsMandatory
tDInvoiceBankPayCode.tcPayFormatGroupDataType = tqBankNumberPayCodeForCIDef.tcPayFormatGroupDataType
tDInvoiceBankPayCode.tcPayFormatGroupInputOption = tqBankNumberPayCodeForCIDef.tcPayFormatGroupInputOption.
if tDInvoiceBankPayCode.tcPayFormatGroupDataType = {&PAYFORMATGROUPDATATYPE-LOGICAL} and
(tDInvoiceBankPayCode.DInvoiceBankPayCodeValue = ? or
tDInvoiceBankPayCode.DInvoiceBankPayCodeValue = "":U)
then assign tDInvoiceBankPayCode.DInvoiceBankPayCodeValue = "false":U.
if tDInvoiceBankPayCode.PayFormatCode_ID <> 0 and tDInvoiceBankPayCode.PayFormatCode_ID <> ?
then assign tDInvoiceBankPayCode.tcPayFormatCode = tqBankNumberPayCodeForCIDef.tcPayFormatCode
tDInvoiceBankPayCode.tcPayFormatCodeDescription = tqBankNumberPayCodeForCIDef.tcPayFormatCodeDescription.
else assign tDInvoiceBankPayCode.tcPayFormatCode = tDInvoiceBankPayCode.DInvoiceBankPayCodeValue
tDInvoiceBankPayCode.tcPayFormatCodeDescription = "":U.
create tApiDInvoiceBankPayCode.
buffer-copy tDInvoiceBankPayCode to tApiDInvoiceBankPayCode.
end.