project QadFinancials > class BBankEntry > method AdditionalUpdatesInvDiscountAccount
Description
check which discount account must be used, and return that by output parameter
Parameters
blQStartedGetGLIDBasedOnGLCode | input-output | logical | is query GetGLIDBasedInGLCode already started or not |
ocDiscountGLCode | output | character | Discount GL Code |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program4/bbankentry.p)
if blQStartedGetGLIDBasedOnGLCode <> true
then do :
<Q-8 run GetGLIDBasedOnGLCode (Start) in BGL >
assign blQStartedGetGLIDBasedOnGLCode = true.
end. /* if */
<Q-1 run GetGLIDBasedOnGLCode (all) (Read) (NoCache)
(input viCompanyId, (CompanyID)
input tBankState.tcGLCode, (GLCode)
output dataset tqGLIDBasedOnGLCode) in BGL >
find first tqGLIDBasedOnGLCode no-error.
if not available tqGLIDBasedOnGLCode
then do:
assign vcMessage = trim(substitute(#T-5'The bank account &1 on bank statement line &2 cannot be found.':150(359)t-5#, tBankState.tcGLCode, string(tBankStateLine.BankStateLineNumber))).
oiReturnStatus = -1.
<M-2 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QadFin-6930':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BBankEntry>
return.
end. /* if not available tqGLIDBasedOnGLCode */
/* First to check AP discount account */
if (tBankStateAlloc.CInvoice_ID <> 0 and tBankStateAlloc.CInvoice_ID <> ?) or
(tBankStateAlloc.BankStateAllocType = {&BANKSTATEALLOCTYPE-NCINV}) or
(tBankStateAlloc.CCollection_ID <> 0 and tBankStateAlloc.CCollection_ID <> ?)
then do:
assign ocDiscountGLCode = tqGLIDBasedOnGLCode.tcBankAPDiscountGLCode.
if tqGLIDBasedOnGLCode.tcBankAPDiscountGLCode = ? or
tqGLIDBasedOnGLCode.tcBankAPDiscountGLCode = "":U
then do:
assign vcMessage = trim(substitute(#T-6'You first must define the AP discount account for the GL bank account for the bank statement line &1.':150(63807)t-6#,string(tBankStateLine.BankStateLineNumber)))
oiReturnStatus = -1.
<M-3 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QadFin-6931':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BBankEntry>
return.
end. /* if tqGLIDBasedOnGLCode.tcBankDiscountGLCode = ? or */
end. /* end of if (tbankstatealloc.cinvoice_id */
/* check AR discount account */
if (tBankStateAlloc.DInvoice_ID <> 0 and tBankStateAlloc.DInvoice_ID <> ?) or
(tBankStateAlloc.BankStateAllocType = {&BANKSTATEALLOCTYPE-NDINV}) or
(tBankStateAlloc.DCollection_ID <> 0 and tBankStateAlloc.DCollection_ID <> ?)
then do:
assign ocDiscountGLCode = tqGLIDBasedOnGLCode.tcBankARDiscountGLCode.
if tqGLIDBasedOnGLCode.tcBankARDiscountGLCode = ? or
tqGLIDBasedOnGLCode.tcBankARDiscountGLCode = "":U
then do:
assign vcMessage = trim(substitute(#T-7'You first must define the AR discount account for the GL bank account for the bank statement line &1.':150(63818)t-7#,string(tBankStateLine.BankStateLineNumber)))
oiReturnStatus = -1.
<M-4 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QadFin-6932':U (icFcMsgNumber),
input '' (icFcExplanation),
input '' (icFcIdentification),
input '' (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BBankEntry>
return.
end.
end. /* end of if (tbankstatealloc.cinvoice_id */