project QadFinancials > class BYearClosing > method AdditionalUpdatesPostingTrans
Description
Additional Updates Posting Trans
Parameters
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program5/byearclosing.p)
/* ====================================================================== */
/* Create the postings to transfer the balance from P&L to Balance Sheets */
/* ====================================================================== */
assign oiReturnStatus = -98.
TRANSFERBLOCK:
for each tYearClosing where
tYearClosing.tc_Status = 'N':U and
tYearClosing.YearClosingIsTransPLToBal = true:
<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-61'Cannot find a GL period for GL calendar year &1.':200(20431)T-61#, trim(string(tYearClosing.YearClosingAccountingYear)) ))
viLocalReturnStatus = -1.
<M-11 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-770024':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BYearClosing>
leave TRANSFERBLOCK.
end.
/* ================================================================= */
/* Get the Result of this Year for the Official Layer */
/* ================================================================= */
<M-72 run CalculateBalanceByDivDIRECT
(input tYearClosing.Company_ID (iiCompanyID),
input tYearClosing.tcLayerTypeCode (icLayerTypeCode),
input False (ilGLIsBalanceAccount),
input (tqPeriodByYearPeriod.tiPeriodYear * 100) (iiYearPeriodFrom),
input (tqPeriodByYearPeriod.tiPeriodYear * 100) + tqPeriodByYearPeriod.tiPeriodPeriod (iiYearPeriodTill),
input tYearClosing.YearClosingIsInclDivision (ilIsInclDivision),
output viPostingHistRecordsRead (oiPostingHistRecordsRead),
input tYearClosing.tcLayerCode (icLayerCode),
output viFcReturnSuper (oiReturnStatus)) in BYearClosing>
if not can-find(first tPLAmounts)
then next.
assign vcPostingText = trim(#T-70'Year-End Closing: PL transfer to BS.':200(56442)T-70#)
vcPostingText = SUBSTRING (vcPostingText,1,40,"CHARACTER").
/* Add Posting Header */
<M-14 run AddPostingHeader
(input tYearClosing.Company_ID (iiCompanyId),
input tYearClosing.YearClosingAccountingYear (iiPeriodYear),
input tqPeriodByYearPeriod.tiPeriodPeriod (iiPeriodPeriod),
input tYearClosing.tcClosingTransferJournalCode (icJournalCode),
input '' (icReportingJournalCode),
input 0 (iiVoucher),
input tqPeriodByYearPeriod.ttPeriodEndDate (itPostingDate),
input ? (itValueDate),
input vcPostingText (icPostingText),
input '':U (icPostingBusinessRelationText),
input '':U (icPostingInvoiceReferenceText),
input '':U (icPostingParentText),
input viBPeriodYearClosingID (iiBPeriodId),
input ? (icPostingOriginAddressCode),
input ? (icPostingOriginDocument),
input ? (icPostingOriginDocumentType),
input '':U (icBatchNumber),
input ? (icBankImpLineRef),
output viPostingID (oiPostingId),
output vcPostingRowid (ocRowid),
output viPostingVoucher (oiPostingVoucher),
output viFcReturnSuper (oiReturnStatus)) in BJournalEntry>
if viFcReturnSuper <> 0 and viLocalReturnStatus >= 0
then assign viLocalReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then leave TRANSFERBLOCK.
/* Update Additional GL Numbering date */
if vlIsAddGLNbr
then do:
<M-22 run SetNumberingDate
(input viPostingID (iiPostingID),
input tYearClosing.YearClosingTrnAddGLNbrDate (itNbrDate),
output viFcReturnSuper (oiReturnStatus)) in BJournalEntry>
if viFcReturnSuper <> 0 and viLocalReturnStatus >= 0
then assign viLocalReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then leave TRANSFERBLOCK.
end.
/* Create Postinglines */
assign vcPostingText = trim(#T-57'Year-End Closing: PL transfer to BS.':200(56442)T-57#)
vcPostingText = SUBSTRING (vcPostingText,1,40,"CHARACTER").
for each tPLAmounts:
<M-79 run AddStandardPosting
(input vcPostingRowid (icPostingtcRowid),
input if tplamounts.tcplamountsdivisionCode = '':U then tYearClosing.tcClosingPLGLCode else tYearClosing.tcClosingPLDivGLCode (icGLCode),
input tPLAmounts.tcPLAmountsDivisionCode (icDivisionCode),
input '':U (icCostCentreCode),
input '':U (icCostCentreText),
input '':U (icProjectCode),
input '':U (icProjectText),
input '':U (icIntercoBusinessRelationCode),
input vcCompanyLC (icCurrencyCode),
input if tPLAmounts.tdPLAmountsLC <= 0 then - tPLAmounts.tdPLAmountsLC else 0 (idDebitTC),
input if tPLAmounts.tdPLAmountsLC <= 0 then - tPLAmounts.tdPLAmountsLC else 0 (idDebitLC),
input if tPLAmounts.tdPLAmountsCC <= 0 then - tPLAmounts.tdPLAmountsCC else 0 (idDebitCC),
input 0 (idDebitPC),
input if tPLAmounts.tdPLAmountsLC <= 0 then 0 else tPLAmounts.tdPLAmountsLC (idCreditTC),
input if tPLAmounts.tdPLAmountsLC <= 0 then 0 else tPLAmounts.tdPLAmountsLC (idCreditLC),
input if tPLAmounts.tdPLAmountsCC <= 0 then 0 else tPLAmounts.tdPLAmountsCC (idCreditCC),
input 0 (idCreditPC),
input 0 (idQty),
input vcPostingText (icLineText),
input '':U (icSafText),
input tDefaultSaf (tDefaultSafs),
input {&EXCHANGERATETYPE-ACCOUNTING} (icExchangeRateType),
input 1 (idExchangeRate),
input 1 (idExchangeRateScale),
input ? (idPostingLineCCRate),
input ? (idPostingLineCCScale),
output viPostingLineID (oiPostingLineId),
input 0 (iiSafStructureId),
input '':U (icSafStructureCode),
input '':U (icAllocationKey),
input false (ilLinkedCrCyDaemonReqExists),
output viFcReturnSuper (oiReturnStatus)) in BJournalEntry>
if viFcReturnSuper <> 0 and viLocalReturnStatus >= 0
then assign viLocalReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then leave TRANSFERBLOCK.
<M-7 run AddStandardPosting
(input vcPostingRowid (icPostingtcRowid),
input if tplamounts.tcPLAmountsDivisionCode = '':U then tYearClosing.tcClosingBalanceGLCode else tYearClosing.tcClosingBalanceDivGLCode (icGLCode),
input tPLAmounts.tcPLAmountsDivisionCode (icDivisionCode),
input '':U (icCostCentreCode),
input '':U (icCostCentreText),
input '':U (icProjectCode),
input '':U (icProjectText),
input '':U (icIntercoBusinessRelationCode),
input vcCompanyLC (icCurrencyCode),
input if tplamounts.tdPLAmountsLC <= 0 then 0 else tplamounts.tdPLAmountsLC (idDebitTC),
input if tplamounts.tdPLAmountsLC <= 0 then 0 else tplamounts.tdPLAmountsLC (idDebitLC),
input if tplamounts.tdPLAmountsCC <= 0 then 0 else tplamounts.tdPLAmountsCC (idDebitCC),
input 0 (idDebitPC),
input if tplamounts.tdPLAmountsLC <= 0 then - tplamounts.tdPLAmountsLC else 0 (idCreditTC),
input if tplamounts.tdPLAmountsLC <= 0 then - tplamounts.tdPLAmountsLC else 0 (idCreditLC),
input if tplamounts.tdPLAmountsCC <= 0 then - tplamounts.tdPLAmountsCC else 0 (idCreditCC),
input 0 (idCreditPC),
input 0 (idQty),
input vcPostingText (icLineText),
input '':U (icSafText),
input tDefaultSaf (tDefaultSafs),
input {&EXCHANGERATETYPE-ACCOUNTING} (icExchangeRateType),
input 1 (idExchangeRate),
input 1 (idExchangeRateScale),
input ? (idPostingLineCCRate),
input ? (idPostingLineCCScale),
output viPostingLineID (oiPostingLineId),
input 0 (iiSafStructureId),
input '':U (icSafStructureCode),
input '':U (icAllocationKey),
input false (ilLinkedCrCyDaemonReqExists),
output viFcReturnSuper (oiReturnStatus)) in BJournalEntry>
if viFcReturnSuper <> 0 and viLocalReturnStatus >= 0
then assign viLocalReturnStatus = viFcReturnSuper.
if viFcReturnSuper < 0
then leave TRANSFERBLOCK.
end. /* for each tPLAmounts */
end. /* for each tYearClosing where tc_status = 'N' */
assign oiReturnStatus = viLocalReturnStatus.
if oiReturnStatus < 0
then return.