project QadFinancials > class BBankEntry > method AdditionalUpdatesBankImpLine
Parameters
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/bbankentry.p)
if vlCreateBEFromBankImpLineBatch = no
then return.
assign vdGLUnallocStatBalance = 0
viCount = 1
vdPrevClosingBalance = 0.
/*Update Opening Balance of BankState in Batch Mode*/
for each tBankState break by tBankState.GL_ID by tBankState.Company_ID by tBankState.BankStateNumber:
/* ===================================================================== */
/* Resolve the Balance after getting the current accounting year/period */
/* ===================================================================== */
if first-of(tBankState.GL_ID) or first-of(tBankState.Company_ID)
then do:
assign viCount = 1
vhFcComponent = ?.
<M-81 run ApiGetAccountBalance
(input 9999 (iiAccYear),
input 99 (iiAccPeriod),
input tBankState.GL_ID (iiGL_ID),
input '':U (icGLCode),
input viCompanyId (iiCompanyID),
input '':U (icCompanyCode),
output vdDummy (odBalanceLC),
output vdDummy (odBalanceCC),
output vdGLBalanceTC (odBalanceTC),
output viFcReturnSuper (oiReturnStatus)) in BGL>
if viFcReturnSuper <> 0
then return.
/* read PARTALLOCATED */
assign vdGLUnallocStatBalance = 0.
empty temp-table tqBankStateByGLBankStateNbr.
<Q-14 run BankStateByGLBankStateNbr (all) (Read) (NoCache)
(input tBankState.Company_ID, (CompanyId)
input ?, (MinBankStateNumber)
input tBankState.GL_ID, (GLID)
input {&BANKSTATELINESTATUS-UNALLOC}, (BankStateLineStatus)
input ?, (GLCode)
input {&BANKSTATESTATUS-PARTALLOC}, (BankStateStatus)
output dataset tqBankStateByGLBankStateNbr) in BBankEntry>
for each tqBankStateByGLBankStateNbr :
assign vdGLUnallocStatBalance = vdGLUnallocStatBalance + tqBankStateByGLBankStateNbr.tdBankStateLineAmountTC.
end.
/* read UNALLOCATED ALLOCATED */
empty temp-table tqBankStateByGLBankStateNbr.
<Q-64 run BankStateByGLBankStateNbr (all) (Read) (NoCache)
(input tBankState.Company_ID, (CompanyId)
input ?, (MinBankStateNumber)
input tBankState.GL_ID, (GLID)
input {&BANKSTATELINESTATUS-UNALLOC}, (BankStateLineStatus)
input ?, (GLCode)
input {&BANKSTATESTATUS-UNALLOC}, (BankStateStatus)
output dataset tqBankStateByGLBankStateNbr) in BBankEntry>
for each tqBankStateByGLBankStateNbr :
assign vdGLUnallocStatBalance = vdGLUnallocStatBalance + tqBankStateByGLBankStateNbr.tdBankStateLineAmountTC.
end.
end.
/* ========================= */
/* calculate opening balance */
/* ========================= */
if viCount = 1 then
do:
assign tBankState.BankStateOpeningBalance = vdGLBalanceTC + vdGLUnallocStatBalance.
end.
else
do:
assign tBankState.BankStateOpeningBalance = vdPrevClosingBalance.
end.
assign tBankState.BankStateClosingBalance = tBankState.BankStateOpeningBalance + tBankState.BankStateMovement
vdPrevClosingBalance = tBankState.BankStateClosingBalance
viCount = viCount + 1.
end.
assign vlCreateBEFromBankImpLineBatch = no.