project QadFinancials > class BYearClosing > method AdditionalUpdatesPostingCloseOpen
Description
Additional Updates Posting Closing & Reopening
Parameters
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program5/byearclosing.p)
/* Create the postings for the Closing */
assign oiReturnStatus = -98.
CLOSINGBLOCK:
for each tYearClosing where
tYearClosing.tc_Status = 'N':U:
/* Retrieve last accounting period */
<Q-1 run PeriodByYearPeriod (all) (Read) (NoCache)
(input tYearClosing.Company_ID, (CompanyId)
input tYearClosing.YearClosingAccountingYear, (PeriodYear)
input 0, (PeriodPeriod)
input 0, (PeriodId)
output dataset tqPeriodByYearPeriod) in BPeriod>
find last tqPeriodByYearPeriod where
tqPeriodByYearPeriod.tiCompany_ID = tYearClosing.Company_ID and
tqPeriodByYearPeriod.tiPeriodYear = tYearClosing.YearClosingAccountingYear and
tqPeriodByYearPeriod.tcPeriodTypeCode <> {&PERIODTYPECODE-YEARCLOSING}
no-error.
if not available tqPeriodByYearPeriod
then do:
assign vcMessage = trim(substitute(#T-3'Cannot find a GL period for GL calendar year &1.':200(999890616)T-3#, trim(string(tYearClosing.YearClosingAccountingYear)) ))
viLocalReturnStatus = -1.
<M-2 run SetMessage
(input vcMessage (icMessage),
input '':U (icArguments),
input 'tYearClosing.YearClosingAccountingYear':U (icFieldName),
input tYearClosing.YearClosingAccountingYear (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input tYearClosing.tc_Rowid (icRowid),
input 'QadFin-4664':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BYearClosing>
leave CLOSINGBLOCK.
end.
/* ================================================================== */
/* Get the balances per GL/Div for the official layer for this entity */
/* ================================================================== */
<M-76 run CalculateBalanceByGLByDivDIRECT
(input tYearClosing.Company_ID (iiCompanyID),
input tYearClosing.tcLayerTypeCode (icLayerTypeCode),
input (tqPeriodByYearPeriod.tiPeriodYear * 100) + tqPeriodByYearPeriod.tiPeriodPeriod (iiYearPeriod),
input tYearClosing.YearClosingIsInclDivision (ilIsInclDivision),
output viPostingHistRecordsRead (oiPostingHistRecordsRead),
input tYearClosing.tcLayerCode (icLayerCode),
output viFcReturnSuper (oiReturnStatus)) in BYearClosing>
/* ================================ */
/* Closing Postings for PL accounts */
/* ================================ */
<M-39 run AdditionalUpdatesPostingCloseOpenPL (output viFcReturnSuper (oiReturnStatus)) in BYearClosing>
if viFcReturnSuper <> 0 and viLocalReturnStatus >= 0
then assign viLocalReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then leave CLOSINGBLOCK.
/* =========================================== */
/* Closing Postings for Balance Sheet accounts */
/* =========================================== */
<M-40 run AdditionalUpdatesPostingCloseOpenBS (output viFcReturnSuper (oiReturnStatus)) in BYearClosing>
if viFcReturnSuper <> 0 and viLocalReturnStatus >= 0
then assign viLocalReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then leave CLOSINGBLOCK.
end. /* for each tYearClosing where tc_status = 'N' */
assign oiReturnStatus = viLocalReturnStatus.