report procedure
Parameters
icLanguageCode | input | character | Language Code. |
tFilter | input | temp-table | Temp table to store input parameters. |
dcrCreditorControlGLBalance | output | dataset | Dataset of CreditorControlGLBalance. |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
unused
program code (program7/bclosingpostingsreport.p)
empty temp-table tqCreditorControlGLBalance.
assign viCountTemp = 0.
<M-23 run GetReportLabels
(input 'CreditorControlGLBalance':U (icReportName),
input icLanguageCode (icLanguageCode),
input tFilter (tFilter),
output tqHeader (tqHeader),
output tqFilter (tqFilter),
output tqText (tqText),
output oiReturnStatus (oiReturnStatus)) in BClosingPostingsReport>
if oiReturnStatus <> 0
then return.
<M-24 run SetDataItemsBasedOnFilterTT (output oiReturnStatus (oiReturnStatus)) in BClosingPostingsReport>
<M-64 run CRDRControlGLBalValidation (output oiReturnStatus (oiReturnStatus)) in BClosingPostingsReport>
assign viYearPeriod = viPeriodYearFilter * 100 + viPeriodPeriodFilter
vcGLType = {&GLTYPECODE-CRED}.
/* Company iteration */
do viCPCompanyIterator = 1 to viCompanyEntries:
<M-9 run CompanyValues
(input viCPCompanyIterator (iiEntryNumber),
output oiReturnStatus (oiReturnStatus)) in BClosingPostingsReport>
/* Get the Period */
<Q-30 run PeriodByYearPeriod (all) (Read) (NoCache)
(input viCPCurrentCompany_ID, (CompanyId)
input viPeriodYearFilter, (PeriodYear)
input viPeriodPeriodFilter, (PeriodPeriod)
input ?, (PeriodId)
output dataset tqPeriodByYearPeriod) in BPeriod >
find first tqPeriodByYearPeriod no-error.
if not available tqPeriodByYearPeriod
then do:
<M-31 run SetMessage
(input #T-26'The entered GL period does not exist.':50(413993638)T-26# (icMessage),
input '':U (icArguments),
input '':U (icFieldName),
input '':U (icFieldValue),
input 'E':U (icType),
input 3 (iiSeverity),
input '':U (icRowid),
input 'QadFin-9507':U (icFcMsgNumber),
input '':U (icFcExplanation),
input '':U (icFcIdentification),
input '':U (icFcContext),
output viFcReturnSuper (oiReturnStatus)) in BClosingPostingsReport>
assign oiReturnStatus = -1.
return.
end.
assign vtFromDateFilter = tqPeriodByYearPeriod.ttPeriodStartDate
vtTillDateFilter = tqPeriodByYearPeriod.ttPeriodEndDate.
/* This program will calculate 3 different numbers and compare then between AP and GL: */
/* 1. Balance as of today */
/* 2. Balance as of end of selected Period */
/* 3. Movements in Selected Period */
/* 1. Get the AP Balance at the end of the selected period */
assign vdTotalPostingCreditCC = 0
vdTotalPostingCreditLC = 0
vdTotalPostingDebitCC = 0
vdTotalPostingDebitLC = 0
vdTotalPostingHistCreditCC = 0
vdTotalPostingHistCreditLC = 0
vdTotalPostingHistDebitCC = 0
vdTotalPostingHistDebitLC = 0.
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = #T-56'Current Balance':255(73426065)T-56#
tqCreditorControlGLBalance.tdPostingBalanceCreditCC = ?
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = ?
tqCreditorControlGLBalance.tdPostingBalanceDebitCC = ?
tqCreditorControlGLBalance.tdPostingBalanceDebitLC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC = ?
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'BC'
tqCreditorControlGLBalance.tcBoldType = 'B'.
/* Get the AP balance as-of today starting from cinvoice */
<Q-51 run APBalanceCurrent (all) (Read) (NoCache)
(input viCPCurrentCompany_ID, (CompanyId)
output dataset tqAPBalanceCurrent) in BClosingPostingsReport >
for each tqAPBalanceCurrent break by tqAPBalanceCurrent.tcGLCode:
if first-of (tqAPBalanceCurrent.tcGLCode)
then do:
assign vdPostingCreditCC = 0
vdPostingCreditLC = 0
vdPostingDebitCC = 0
vdPostingDebitLC = 0.
end.
assign vdPostingDebitCC = vdPostingDebitCC + tqAPBalanceCurrent.tdCInvoiceBalanceCC
vdPostingDebitLC = vdPostingDebitLC + tqAPBalanceCurrent.tdCInvoiceBalanceLC.
if last-of (tqAPBalanceCurrent.tcGLCode)
then do:
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = tqAPBalanceCurrent.tcGLCode
tqCreditorControlGLBalance.tdPostingBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingBalanceDebitCC = vdPostingDebitCC
tqCreditorControlGLBalance.tdPostingBalanceDebitLC = vdPostingDebitLC
vdTotalPostingDebitCC = vdTotalPostingDebitCC + vdPostingDebitCC
vdTotalPostingDebitLC = vdTotalPostingDebitLC + vdPostingDebitLC
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'BC'.
end. /* if last-of (tqAPBalanceCurrent.tcGLCode) */
end. /* for each tqAPBalanceCurrent */
/* Get the GL balance as-of today starting from PostingHist */
<Q-52 run GLBalanceCurrent (all) (Read) (NoCache)
(input viCPCurrentCompany_ID, (CompanyId)
input vcGLType, (GLType)
output dataset tqGLBalanceCurrent) in BClosingPostingsReport >
for each tqGLBalanceCurrent break by tqGLBalanceCurrent.tcGLCode:
if first-of (tqGLBalanceCurrent.tcGLCode)
then do:
assign vdPostingHistCreditCC = 0
vdPostingHistCreditLC = 0
vdPostingHistDebitCC = 0
vdPostingHistDebitLC = 0.
end.
assign vdPostingHistCreditCC = vdPostingHistCreditCC + tqGLBalanceCurrent.tdPostingHistBalanceCreditCC
vdPostingHistCreditLC = vdPostingHistCreditLC + tqGLBalanceCurrent.tdPostingHistBalanceCreditLC
vdPostingHistDebitCC = vdPostingHistDebitCC + tqGLBalanceCurrent.tdPostingHistBalanceDebitCC
vdPostingHistDebitLC = vdPostingHistDebitLC + tqGLBalanceCurrent.tdPostingHistBalanceDebitLC.
if last-of (tqGLBalanceCurrent.tcGLCode)
then do:
find first tqCreditorControlGLBalance where
tqCreditorControlGLBalance.tcGLCode = tqGLBalanceCurrent.tcGLCode and
tqCreditorControlGLBalance.tcRecordType = 'BC'
no-error.
if not available tqCreditorControlGLBalance
then do:
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = tqGLBalanceCurrent.tcGLCode
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'BC'.
end.
assign tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC = vdPostingHistDebitCC - vdPostingHistCreditCC
tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC = vdPostingHistDebitLC - vdPostingHistCreditLC
vdTotalPostingHistDebitCC = vdTotalPostingHistDebitCC + vdPostingHistDebitCC - vdPostingHistCreditCC
vdTotalPostingHistDebitLC = vdTotalPostingHistDebitLC + vdPostingHistDebitLC - vdPostingHistCreditLC.
end. /* if last-of (tqGLBalanceCurrent.tcGLCode) */
end. /* for each tqGLBalanceAsOfDate */
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = #T-57'Current Balance Total':255(591241541)T-57#
tqCreditorControlGLBalance.tdPostingBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingBalanceDebitCC = vdTotalPostingDebitCC
tqCreditorControlGLBalance.tdPostingBalanceDebitLC = vdTotalPostingDebitLC
tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC = vdTotalPostingHistDebitCC
tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC = vdTotalPostingHistDebitLC
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'BC'
tqCreditorControlGLBalance.tcBoldType = 'B'.
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tdPostingBalanceCreditCC = ?
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = ?
tqCreditorControlGLBalance.tdPostingBalanceDebitCC = ?
tqCreditorControlGLBalance.tdPostingBalanceDebitLC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC = ?
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'BC'.
/* 2. Get the AP Balance at the end of the selected period */
assign vdTotalPostingCreditCC = 0
vdTotalPostingCreditLC = 0
vdTotalPostingDebitCC = 0
vdTotalPostingDebitLC = 0
vdTotalPostingHistCreditCC = 0
vdTotalPostingHistCreditLC = 0
vdTotalPostingHistDebitCC = 0
vdTotalPostingHistDebitLC = 0.
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = #T-58'Balance end of selected period':255(332022009)T-58#
tqCreditorControlGLBalance.tdPostingBalanceCreditCC = ?
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = ?
tqCreditorControlGLBalance.tdPostingBalanceDebitCC = ?
tqCreditorControlGLBalance.tdPostingBalanceDebitLC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC = ?
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'BS'
tqCreditorControlGLBalance.tcBoldType = 'B'.
/* Get the AP balance as-of the selected date starting from cinvoice */
<Q-53 run APBalanceAsOfDate (all) (Read) (NoCache)
(input viCPCurrentCompany_ID, (CompanyId)
input vtTillDateFilter, (EndOfDate)
output dataset tqAPBalanceAsOfDate) in BClosingPostingsReport >
/* Get the balance amounts for each GL individually */
for each tqAPBalanceAsOfDate break by tqAPBalanceAsOfDate.tcGLCode:
if first-of (tqAPBalanceAsOfDate.tcGLCode)
then do:
assign vdPostingCreditCC = 0
vdPostingCreditLC = 0
vdPostingDebitCC = 0
vdPostingDebitLC = 0.
end.
assign vdPostingCreditCC = vdPostingCreditCC + tqAPBalanceAsOfDate.tdPostingLineCreditCC
vdPostingCreditLC = vdPostingCreditLC + tqAPBalanceAsOfDate.tdPostingLineCreditLC
vdPostingDebitCC = vdPostingDebitCC + tqAPBalanceAsOfDate.tdPostingLineDebitCC
vdPostingDebitLC = vdPostingDebitLC + tqAPBalanceAsOfDate.tdPostingLineDebitLC.
if last-of (tqAPBalanceAsOfDate.tcGLCode)
then do:
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = tqAPBalanceAsOfDate.tcGLCode
tqCreditorControlGLBalance.tdPostingBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingBalanceDebitCC = vdPostingDebitCC - vdPostingCreditCC
tqCreditorControlGLBalance.tdPostingBalanceDebitLC = vdPostingDebitLC - vdPostingCreditLC
vdTotalPostingDebitCC = vdTotalPostingDebitCC + vdPostingDebitCC - vdPostingCreditCC
vdTotalPostingDebitLC = vdTotalPostingDebitLC + vdPostingDebitLC - vdPostingCreditLC
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'BS'.
end. /* if last-of (tqAPBalanceAsOfDate.tcGLCode) */
end. /* for each tqAPBalanceAsOfDate */
/* Get the GL balance as-of end of selected period using PostingHist */
<Q-54 run GLBalanceAsOfDate (all) (Read) (NoCache)
(input viCPCurrentCompany_ID, (CompanyId)
input viYearPeriod, (EndOfYearPeriod)
input vcGLType, (GLType)
output dataset tqGLBalanceAsOfDate) in BClosingPostingsReport >
for each tqGLBalanceAsOfDate break by tqGLBalanceAsOfDate.tcGLCode:
if first-of (tqGLBalanceAsOfDate.tcGLCode)
then do :
assign vdPostingHistCreditCC = 0
vdPostingHistCreditLC = 0
vdPostingHistDebitCC = 0
vdPostingHistDebitLC = 0.
end.
assign vdPostingHistCreditCC = vdPostingHistCreditCC + tqGLBalanceAsOfDate.tdPostingHistBalanceCreditCC
vdPostingHistCreditLC = vdPostingHistCreditLC + tqGLBalanceAsOfDate.tdPostingHistBalanceCreditLC
vdPostingHistDebitCC = vdPostingHistDebitCC + tqGLBalanceAsOfDate.tdPostingHistBalanceDebitCC
vdPostingHistDebitLC = vdPostingHistDebitLC + tqGLBalanceAsOfDate.tdPostingHistBalanceDebitLC.
if last-of (tqGLBalanceAsOfDate.tcGLCode)
then do:
find first tqCreditorControlGLBalance where
tqCreditorControlGLBalance.tcGLCode = tqGLBalanceAsOfDate.tcGLCode and
tqCreditorControlGLBalance.tcRecordType = 'BS'
no-error.
if not available tqCreditorControlGLBalance
then do:
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = tqGLBalanceAsOfDate.tcGLCode
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'BS'.
end.
assign tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC = vdPostingHistDebitCC - vdPostingHistCreditCC
tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC = vdPostingHistDebitLC - vdPostingHistCreditLC
vdTotalPostingHistDebitCC = vdTotalPostingHistDebitCC + vdPostingHistDebitCC - vdPostingHistCreditCC
vdTotalPostingHistDebitLC = vdTotalPostingHistDebitLC + vdPostingHistDebitLC - vdPostingHistCreditLC.
end. /* if last-of (tqGLBalanceAsOfDate.tcGLCode) */
end. /* for each tqGLBalanceAsOfDate */
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = #T-59'Balance end of selected period Total':255(227665182)T-59#
tqCreditorControlGLBalance.tdPostingBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingBalanceDebitCC = vdTotalPostingDebitCC
tqCreditorControlGLBalance.tdPostingBalanceDebitLC = vdTotalPostingDebitLC
tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC = vdTotalPostingHistDebitCC
tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC = vdTotalPostingHistDebitLC
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'BS'
tqCreditorControlGLBalance.tcBoldType = 'B'.
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tdPostingBalanceCreditCC = ?
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = ?
tqCreditorControlGLBalance.tdPostingBalanceDebitCC = ?
tqCreditorControlGLBalance.tdPostingBalanceDebitLC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC = ?
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'BS'.
/* 3. Get the AP Movements in the selected period */
assign vdTotalPostingCreditCC = 0
vdTotalPostingCreditLC = 0
vdTotalPostingDebitCC = 0
vdTotalPostingDebitLC = 0
vdTotalPostingHistCreditCC = 0
vdTotalPostingHistCreditLC = 0
vdTotalPostingHistDebitCC = 0
vdTotalPostingHistDebitLC = 0.
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = #T-60'Debit Movements selected period':255(825538143)T-60#
tqCreditorControlGLBalance.tdPostingBalanceCreditCC = ?
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = ?
tqCreditorControlGLBalance.tdPostingBalanceDebitCC = ?
tqCreditorControlGLBalance.tdPostingBalanceDebitLC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC = ?
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'MSADR'
tqCreditorControlGLBalance.tcBoldType = 'B'.
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = #T-61'Credit Movements selected period':255(584009654)T-61#
tqCreditorControlGLBalance.tdPostingBalanceCreditCC = ?
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = ?
tqCreditorControlGLBalance.tdPostingBalanceDebitCC = ?
tqCreditorControlGLBalance.tdPostingBalanceDebitLC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC = ?
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'MSBCR'
tqCreditorControlGLBalance.tcBoldType = 'B'.
/* Get the GL movements using PostingHist */
<Q-34 run GLMovementsInPeriod (all) (Read) (NoCache)
(input viCPCurrentCompany_ID, (CompanyId)
input vcGLType, (GLType)
input viYearPeriod, (YearPeriod)
output dataset tqGLMovementsInPeriod) in BClosingPostingsReport >
for each tqGLMovementsInPeriod break by tqGLMovementsInPeriod.tcGLCode:
if first-of (tqGLMovementsInPeriod.tcGLCode)
then do :
assign vdPostingHistCreditCC = 0
vdPostingHistCreditLC = 0
vdPostingHistDebitCC = 0
vdPostingHistDebitLC = 0.
end.
assign vdPostingHistCreditCC = vdPostingHistCreditCC + tqGLMovementsInPeriod.tdPostingHistMovemntCreditCC
vdPostingHistCreditLC = vdPostingHistCreditLC + tqGLMovementsInPeriod.tdPostingHistMovemntCreditLC
vdPostingHistDebitCC = vdPostingHistDebitCC + tqGLMovementsInPeriod.tdPostingHistMovemntDebitCC
vdPostingHistDebitLC = vdPostingHistDebitLC + tqGLMovementsInPeriod.tdPostingHistMovemntDebitLC.
if last-of (tqGLMovementsInPeriod.tcGLCode)
then do:
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = tqGLMovementsInPeriod.tcGLCode
tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC = vdPostingHistDebitCC
tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC = vdPostingHistDebitLC
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'MSADR'.
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = tqGLMovementsInPeriod.tcGLCode
tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = vdPostingHistCreditCC
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = vdPostingHistCreditLC
tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC = 0
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'MSBCR'.
assign vdTotalPostingHistCreditCC = vdTotalPostingHistCreditCC + vdPostingHistCreditCC
vdTotalPostingHistCreditLC = vdTotalPostingHistCreditLC + vdPostingHistCreditLC
vdTotalPostingHistDebitCC = vdTotalPostingHistDebitCC + vdPostingHistDebitCC
vdTotalPostingHistDebitLC = vdTotalPostingHistDebitLC + vdPostingHistDebitLC.
end. /* if last-of (tqGLMovementsInPeriod.tcGLCode) */
end. /* for each tqGLMovementsInPeriod */
/* Get the AP movements using CinvoiceMovement */
<Q-36 run APMovementsInPeriod (all) (Read) (NoCache)
(input viCPCurrentCompany_ID, (CompanyId)
input viYearPeriod, (YearPeriod)
output dataset tqAPMovementsInPeriod) in BClosingPostingsReport >
for each tqAPMovementsInPeriod break by tqAPMovementsInPeriod.tcGLCode:
if first-of (tqAPMovementsInPeriod.tcGLCode)
then do :
assign vdPostingCreditCC = 0
vdPostingCreditLC = 0
vdPostingDebitCC = 0
vdPostingDebitLC = 0.
end.
assign vdPostingCreditCC = vdPostingCreditCC + tqAPMovementsInPeriod.tdPostingLineCreditCC
vdPostingCreditLC = vdPostingCreditLC + tqAPMovementsInPeriod.tdPostingLineCreditLC
vdPostingDebitCC = vdPostingDebitCC + tqAPMovementsInPeriod.tdPostingLineDebitCC
vdPostingDebitLC = vdPostingDebitLC + tqAPMovementsInPeriod.tdPostingLineDebitLC.
if last-of (tqAPMovementsInPeriod.tcGLCode)
then do:
find first tqCreditorControlGLBalance where
tqCreditorControlGLBalance.tcGLCode = tqAPMovementsInPeriod.tcGLCode and
tqCreditorControlGLBalance.tcRecordType = 'MSADR'
no-error.
if not available tqCreditorControlGLBalance
then do:
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = tqAPMovementsInPeriod.tcGLCode
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'MSADR'.
end.
assign tqCreditorControlGLBalance.tdPostingBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingBalanceDebitCC = vdPostingDebitCC
tqCreditorControlGLBalance.tdPostingBalanceDebitLC = vdPostingDebitLC.
find first tqCreditorControlGLBalance where
tqCreditorControlGLBalance.tcGLCode = tqAPMovementsInPeriod.tcGLCode and
tqCreditorControlGLBalance.tcRecordType = 'MSBCR'
no-error.
if not available tqCreditorControlGLBalance
then do:
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = tqAPMovementsInPeriod.tcGLCode
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'MSBCR'.
end.
assign tqCreditorControlGLBalance.tdPostingBalanceCreditCC = vdPostingCreditCC
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = vdPostingCreditLC
tqCreditorControlGLBalance.tdPostingBalanceDebitCC = 0
tqCreditorControlGLBalance.tdPostingBalanceDebitLC = 0.
assign vdTotalPostingCreditCC = vdTotalPostingCreditCC + vdPostingCreditCC
vdTotalPostingCreditLC = vdTotalPostingCreditLC + vdPostingCreditLC
vdTotalPostingDebitCC = vdTotalPostingDebitCC + vdPostingDebitCC
vdTotalPostingDebitLC = vdTotalPostingDebitLC + vdPostingDebitLC.
end. /* if last-of (tqAPMovementsInPeriod.tcGLCode) */
end. /* for each tqAPMovementsInPeriod */
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = #T-62'Debit Movements selected period Total':255(606077688)T-62#
tqCreditorControlGLBalance.tdPostingBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingBalanceDebitCC = vdTotalPostingDebitCC
tqCreditorControlGLBalance.tdPostingBalanceDebitLC = vdTotalPostingDebitLC
tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC = vdTotalPostingHistDebitCC
tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC = vdTotalPostingHistDebitLC
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'MSADR'
tqCreditorControlGLBalance.tcBoldType = 'B'.
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tcGLCode = #T-63'Credit Movements selected period Total':255(52847364)T-63#
tqCreditorControlGLBalance.tdPostingBalanceCreditCC = vdTotalPostingCreditCC
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = vdTotalPostingCreditLC
tqCreditorControlGLBalance.tdPostingBalanceDebitCC = 0
tqCreditorControlGLBalance.tdPostingBalanceDebitLC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = vdTotalPostingHistCreditCC
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = vdTotalPostingHistCreditLC
tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC = 0
tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC = 0
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'MSBCR'
tqCreditorControlGLBalance.tcBoldType = 'B'.
assign viCountTemp = viCountTemp + 1.
create tqCreditorControlGLBalance.
assign tqCreditorControlGLBalance.tdPostingBalanceCreditCC = ?
tqCreditorControlGLBalance.tdPostingBalanceCreditLC = ?
tqCreditorControlGLBalance.tdPostingBalanceDebitCC = ?
tqCreditorControlGLBalance.tdPostingBalanceDebitLC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC = ?
tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC = ?
tqCreditorControlGLBalance.tiRecordCount = viCountTemp
tqCreditorControlGLBalance.tcRecordType = 'MSADR'.
for each tqCreditorControlGLBalance:
if (tqCreditorControlGLBalance.tdPostingHistBalanceDebitLC - tqCreditorControlGLBalance.tdPostingHistBalanceCreditLC = 0) and
(tqCreditorControlGLBalance.tdPostingHistBalanceDebitCC - tqCreditorControlGLBalance.tdPostingHistBalanceCreditCC = 0) and
(tqCreditorControlGLBalance.tdPostingBalanceDebitLC - tqCreditorControlGLBalance.tdPostingBalanceCreditLC = 0) and
(tqCreditorControlGLBalance.tdPostingBalanceDebitCC - tqCreditorControlGLBalance.tdPostingBalanceCreditCC = 0)
then delete tqCreditorControlGLBalance.
end.
end.