Description
Recalculate the cash report GL amounts for LC, TC and CC until the end of the Cut-Off Period.
Parameters
| ilGLIsBalanceAccount | input | logical | |
| iiGLByCodeGL_ID | input | integer | |
| ilGLByCodeGLIsBalanceAccount | input | logical | |
| iiCashReportGLCurrency_ID | input | integer | |
| iiCashReportPeriodYear | input | integer | |
| iiGLDivisionID | input | integer | |
| iiPeriod | input | integer | |
| bdBalanceLC | input-output | decimal | |
| bdBalanceTC | input-output | decimal | |
| bdBalanceCC | input-output | decimal | |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program4/bcashreport.p)
oiReturnStatus = -98.
<Q-13 run PostingHistForMovements
(Start) in BPostingHist >
<Q-14 run PostingHistByBalance
(Start) in BPostingHist >
if ilGLIsBalanceAccount
then do:
<Q-15 run PostingHistByBalance (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input iiGLByCodeGL_ID, (GLID)
input iiGLDivisionID, (DivisionID)
input iiPeriod, (YearPeriod)
input ?, (JournalID)
input ?, (GLIsBalanceAccount)
input ?, (LayerCando)
input ?, (JournalCando)
input ?, (DivisionCando)
input ?, (CostCentreCando)
input ?, (ProjectCando)
input ?, (Currency)
input ?, (FromICBusinessRelation)
input ?, (ToICBusinessRelation)
input ?, (ExcludeJournalTypeCode)
output dataset tqPostingHistByBalance) in BPostingHist >
for each tqPostingHistByBalance where
tqPostingHistByBalance.tiGL_ID = iiGLByCodeGL_ID :
/* Profit&Loss accounts have a cleared balance at the beginning of the year, */
/* so don't take into account postings that occurred in the previous year */
/* to determine the balance. */
if (ilGLByCodeGLIsBalanceAccount = false and
tqPostingHistByBalance.tiPostingHistYearPeriodFrom < iiCashReportPeriodYear * 100)
then next.
if iiGLDivisionID <> 0 and
iiGLDivisionID <> ? and
tqPostingHistByBalance.tiDivision_ID <> iiGLDivisionID
then next.
if tCashReportGL.CashReportGLCurrencyView = {&CURRENCYTYPE-TC} and
tqPostingHistByBalance.tiCurrency_ID <> iiCashReportGLCurrency_ID
then next.
assign bdBalanceLC = bdBalanceLC + tqPostingHistByBalance.tdPostingHistBalanceDebitLC
- tqPostingHistByBalance.tdPostingHistBalanceCreditLC
bdBalanceTC = bdBalanceTC + tqPostingHistByBalance.tdPostingHistBalanceDebitTC
- tqPostingHistByBalance.tdPostingHistBalanceCreditTC
bdBalanceCC = bdBalanceCC + tqPostingHistByBalance.tdPostingHistBalanceDebitCC
- tqPostingHistByBalance.tdPostingHistBalanceCreditCC.
end. /* for each tqPostingHistByBalance: */
end. /* if ilGLIsBalanceAccount */
else do:
<Q-16 run PostingHistForMovements (all) (Read) (NoCache)
(input viCompanyId, (CompanyId)
input iiGLByCodeGL_ID, (GLID)
input iiGLDivisionID, (DivisionID)
input iiPeriod, (Period)
output dataset tqPostingHistForMovements) in BPostingHist >
for each tqPostingHistForMovements where
tqPostingHistForMovements.tiGL_ID = iiGLByCodeGL_ID and
tqPostingHistForMovements.tiPostingHistYearPeriodFrom = iiPeriod :
if iiGLDivisionID <> 0 and
iiGLDivisionID <> ? and
tqPostingHistForMovements.tiDivision_ID <> iiGLDivisionID
then next.
if tCashReportGL.CashReportGLCurrencyView = {&CURRENCYTYPE-TC} and
tqPostingHistForMovements.tiCurrency_ID <> iiCashReportGLCurrency_ID
then next.
assign bdBalanceLC = bdBalanceLC + tqPostingHistForMovements.tdPostingHistMovemntDebitLC
- tqPostingHistForMovements.tdPostingHistMovemntCreditLC
bdBalanceTC = bdBalanceTC + tqPostingHistForMovements.tdPostingHistMovemntDebitTC
- tqPostingHistForMovements.tdPostingHistMovemntCreditTC
bdBalanceCC = bdBalanceCC + tqPostingHistForMovements.tdPostingHistMovemntDebitCC
- tqPostingHistForMovements.tdPostingHistMovemntCreditCC.
end. /* for each tqPostingHistByForMovements: */
end. /* NOT if vlGLIsBalanceAccount */
<Q-11 run PostingHistForMovements
(Stop) in BPostingHist >
<Q-12 run PostingHistByBalance
(Stop) in BPostingHist >
if oiReturnStatus = -98
then oiReturnStatus = 0.