Description
This method is to process Voucher Completeness
Parameters
iiPeriodPeriod | input | integer | |
icFile | input | character | |
iiPeriodYear | input | integer | |
ocConCheckLineDetResult | output | character | |
oiConCheckLineDetStartTime | output | integer | |
oiConCheckLineDetDuration | output | integer | |
otConCheckLineDetStartDate | output | date | |
oiErrorNumbers | output | integer | |
iiCompanyID | input | integer | |
ocConCheckLineDetVersion | output | character | |
icAppVersion | input | character | |
icSumFile | input | character | |
oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program7/bclosingpostingsreport.p)
assign vdStartEtime2 = etime(no).
assign otConCheckLineDetStartDate = now
oiConCheckLineDetStartTime = time
oiErrorNumbers = 0
ocConCheckLineDetVersion = icAppVersion + '.1'.
empty temp-table tqVoucherCompleteness.
create tFilter.
assign tFilter.tcBusinessFieldName = 'PeriodYear':U
tFilter.tcOperator = '='
tFilter.tcParameterValue = string(iiPeriodYear).
create tFilter.
assign tFilter.tcBusinessFieldName = 'PeriodPeriod_RANGE':U
tFilter.tcOperator = '>='
tFilter.tcParameterValue = string(iiPeriodPeriod).
create tFilter.
assign tFilter.tcBusinessFieldName = 'PeriodPeriod_RANGE':U
tFilter.tcOperator = '<='
tFilter.tcParameterValue = string(iiPeriodPeriod).
<Q-90 run CompanyPrim (all) (Read) (NoCache)
(input iiCompanyID, (LookupCompanyId)
input ?, (CompanyCode)
output dataset tqCompanyPrim) in BCompany >
find first tqCompanyPrim no-error.
if available tqCompanyPrim
then do:
create tFilter.
assign tFilter.tcBusinessFieldName = 'Company_CANDO':U
tFilter.tcOperator = '='
tFilter.tcParameterValue = tqCompanyPrim.tcCompanyCode.
end.
<M-50 run VoucherCompletenessDet
(output dcrVoucherCompleteness (dcrVoucherCompleteness),
output oiReturnStatus (oiReturnStatus)) in BClosingPostingsReport>
if can-find(first tqVoucherCompleteness where tqVoucherCompleteness.tcErrorType <> "":U)
then assign ocConCheckLineDetResult = {&CONCHECKRESULT-FAILED}.
else assign ocConCheckLineDetResult = {&CONCHECKRESULT-PASSED}.
assign oiConcheckLineDetDuration = etime - vdStartEtime2.
output stream sCloseOut to value(icFile) append.
/* to format the total duration time */
assign viMilliSecs2 = oiConCheckLineDetDuration.
assign viSecs2 = TRUNCATE (oiConCheckLineDetDuration / 1000, 0).
assign viMilliSecs2 = viMilliSecs2 mod 1000.
assign vcTotalTime2 = string(viSecs2, 'HH:MM:SS') + '.' + string(viMilliSecs2).
put stream sCloseOut unformatted ' 'skip.
put stream sCloseOut unformatted '##### Numbering Completeness #####' skip.
PUT STREAM sCloseOut unformatted 'Version: ' ocConCheckLineDetVersion skip.
put stream sCloseOut unformatted 'Validation Start At: ' string(now, '99/99/9999 HH:MM:SS') skip.
put stream sCloseOut unformatted 'Execution Duration: ' vcTotalTime2 skip.
put stream sCloseOut unformatted 'Execution Result: ' ocConCheckLineDetResult skip.
if ocCOnCheckLineDetResult = {&CONCHECKRESULT-FAILED}
then do:
/* Header */
put stream sCloseOut unformatted
'Daybook Code':U at 1
'Daybook Description':U at 20
'Lowest Number':U to 70
'Highest Number':U to 90 skip.
for each tqVoucherCompleteness
break by tqVoucherCompleteness.tcJournalCode
by tqVoucherCompleteness.tiFirstVoucherNumber desc
by tqVoucherCompleteness.tcErrorType:
/* Group Header */
if first-of(tqVoucherCompleteness.tcJournalCode)
then do:
assign oiErrorNumbers = oiErrorNumbers + 1.
put stream sCloseOut unformatted tqVoucherCompleteness.tcJournalCode at 1
tqVoucherCompleteness.tcJournalDescription at 20
tqVoucherCompleteness.tiFirstVoucherNumber to 70
tqVoucherCompleteness.tiLastVoucherNumber to 90 skip.
end.
else put stream sCloseOut unformatted tqVoucherCompleteness.tcErrorType at 25 skip.
/* output a blank line when group changed */
if last-of(tqVoucherCompleteness.tcJournalCode)
then do:
put stream sCloseOut unformatted ' ' skip.
end.
end.
end.
put stream sCloseOut unformatted '<Error Count:> ' oiErrorNumbers skip.
put stream sCloseOut unformatted '**********************************************************************' skip.
output stream sCloseOut close.