project QadFinancials > class TConCheck > method TechnicalValidation
Description
Consistency check of technical checks
Parameters
| icFile | input | character | |
| iiCompanyID | input | integer | |
| iiPeriodID | input | integer | |
| iiSessionID | input | integer | |
| ocConCheckLineDetResult | output | character | |
| oiConCheckLineDetDuration | output | integer | |
| oiConCheckLineDetStartTime | output | integer | |
| otConCheckLineDetStartDate | output | date | |
| oiErrorNumbers | output | integer | |
| ocConCheckLineDetVersion | output | character | |
| icAppVersion | input | character | |
| oiReturnStatus | output | integer | Return status of the method. |
Internal usage
QadFinancials
program code (program1/tconcheck.p)
/* ================================================================================= */
/* This is the method for Technical Validation */
/* ================================================================================= */
assign oiReturnStatus = -98.
assign vdStartEtime = etime(no)
otConCheckLineDetStartDate = now
oiConCheckLineDetStartTime = time
oiErrorNumbers = 0
ocConCheckLineDetVersion = icAppVersion + '.1'.
/* open logfile stream */
output stream sTechOut TO value(icFile) append.
put stream sTechOut unformatted ' 'skip.
put stream sTechOut unformatted '##### Technical Validation #####' skip.
PUT STREAM sTechOut unformatted 'Version: ' ocConCheckLineDetVersion skip.
put stream sTechOut unformatted 'Validation Start At: ' string(now, '99/99/9999 HH:MM:SS') skip.
MAIN_BLOCK:
do:
/* checking iput parameters */
if iiCompanyID = ? or
iiCompanyID = 0
then do:
assign ocConCheckLineDetResult = {&CONCHECKRESULT-FAILED}.
PUT STREAM sTechOut unformatted "**Error** Input parameter CompanyID is null." skip.
LEAVE MAIN_BLOCK.
end.
if iiPeriodID = ? or iiPeriodID = 0
then do:
assign ocConCheckLineDetResult = {&CONCHECKRESULT-FAILED}.
PUT STREAM sTechOut unformatted "**Error** Input parameter PeriodID is null." skip.
LEAVE MAIN_BLOCK.
end.
/* Get StartDate and EndDate by PeriodID */
find first Period where
Period_id = iiPeriodID
no-lock no-error.
if not available Period
then do:
assign ocConCheckLineDetResult = {&CONCHECKRESULT-FAILED}.
PUT STREAM sTechOut unformatted "**Error** Input parameter PeriodID is not available." skip.
LEAVE MAIN_BLOCK.
end.
assign vtFromDate = Period.PeriodStartDate
vtToDate = Period.PeriodEndDate
viSelectedYearPeriod = Period.PeriodYearPeriod.
assign ocConCheckLineDetResult = {&CONCHECKRESULT-PASSED}.
assign vcPrefix = ">>> ".
assign vcPrefix2 = "*** ".
PUT STREAM sTechOut unformatted "Validation Start From Posting Date= " + string (vtFromDate) skip.
/**********************************************************************************/
/* GL1- Check the GL Transactions (Posting/PostingLine/PostingSAF) */
/**********************************************************************************/
<M-4 run TechnicalValidation01Posting
(input iiCompanyID (iiCompanyID),
input iiPeriodID (iiPeriodID),
input viSelectedYearPeriod (iiSelectedYearPeriod),
input vtFromDate (itFromDate),
input vtToDate (itToDate),
output viErrorNumbers (oiErrorNumbers),
output viFcReturnSuper (oiReturnStatus)) in TConCheck>
assign oiErrorNumbers = oiErrorNumbers + viErrorNumbers.
/**********************************************************************************/
/* GL2- Check the GL Summary (PostingHist) */
/**********************************************************************************/
<M-97 run TechnicalValidation02PostingHist
(input iiCompanyID (iiCompanyID),
input viSelectedYearPeriod (iiYearPeriod),
input iiPeriodID (iiPeriodID),
input vtFromDate (itFromDate),
input vtToDate (itToDate),
output viErrorNumbers (oiErrorNumbers),
output viFcReturnSuper (oiReturnStatus)) in TConCheck>
assign oiErrorNumbers = oiErrorNumbers + viErrorNumbers.
/**********************************************************************************/
/* AP1- Check the AP Transactions (CInvoice/CInvoiceMovement) */
/**********************************************************************************/
<M-15 run TechnicalValidation03CInvoice
(input iiCompanyID (iiCompanyID),
input vtFromDate (itFromDate),
input vtToDate (itToDate),
output viErrorNumbers (oiErrorNumbers),
input viSelectedYearPeriod (iiYearPeriod),
output viFcReturnSuper (oiReturnStatus)) in TConCheck>
assign oiErrorNumbers = oiErrorNumbers + viErrorNumbers.
/**********************************************************************************/
/* AP2- Check the AP Summary(CHist) */
/**********************************************************************************/
<M-84 run TechnicalValidation04CHist
(input iiCompanyID (iiCompanyID),
input vtFromDate (itFromDate),
input vtToDate (itToDate),
output viErrorNumbers (oiErrorNumbers),
output viFcReturnSuper (oiReturnStatus)) in TConCheck>
assign oiErrorNumbers = oiErrorNumbers + viErrorNumbers.
/**********************************************************************************/
/* AP2- Check CHist reconciliation with CInvoice */
/**********************************************************************************/
<M-61 run TechnicalValidation04CHistInvoice
(input iiCompanyID (iiCompanyID),
input iiPeriodID (iiPeriodID),
input viSelectedYearPeriod (iiSelectedYearPeriod),
input vtFromDate (itFromDate),
input vtToDate (itToDate),
output viErrorNumbers (oiErrorNumbers),
output viFcReturnSuper (oiReturnStatus)) in TConCheck>
assign oiErrorNumbers = oiErrorNumbers + viErrorNumbers.
/**********************************************************************************/
/* AP4- Check PO Receipt Data */
/**********************************************************************************/
<M-95 run TechnicalValidation10APMatchingPO
(input iiCompanyID (iiCompanyID),
input iiPeriodID (iiPeriodID),
input viSelectedYearPeriod (iiSelectedYearPeriod),
input vtFromDate (itFromDate),
input vtToDate (itToDate),
output viErrorNumbers (oiErrorNumbers),
output viFcReturnSuper (oiReturnStatus)) in TConCheck>
assign oiErrorNumbers = oiErrorNumbers + viErrorNumbers.
/**********************************************************************************/
/* AP3- Check the AP Payment (CDocument) */
/**********************************************************************************/
<M-19 run TechnicalValidation05CDocument
(input iiCompanyID (iiCompanyID),
input vtFromDate (itFromDate),
input vtToDate (itToDate),
output viErrorNumbers (oiErrorNumbers),
output viFcReturnSuper (oiReturnStatus)) in TConCheck>
assign oiErrorNumbers = oiErrorNumbers + viErrorNumbers.
/**********************************************************************************/
/* AR1- Check the AR Transactions (DInvoice/DInvoiceMovement) */
/**********************************************************************************/
<M-9 run TechnicalValidation07DInvoice
(input iiCompanyID (iiCompanyID),
input vtFromDate (itFromDate),
input vtToDate (itToDate),
output viErrorNumbers (oiErrorNumbers),
input viSelectedYearPeriod (iiYearPeriod),
output viFcReturnSuper (oiReturnStatus)) in TConCheck>
assign oiErrorNumbers = oiErrorNumbers + viErrorNumbers.
/**********************************************************************************/
/* AR2- Check the AR Summary(DHist) */
/**********************************************************************************/
<M-72 run TechnicalValidation08DHist
(input iiCompanyID (iiCompanyID),
input vtFromDate (itFromDate),
input vtToDate (itToDate),
output viErrorNumbers (oiErrorNumbers),
input viSelectedYearPeriod (iiYearPeriod),
output viFcReturnSuper (oiReturnStatus)) in TConCheck>
assign oiErrorNumbers = oiErrorNumbers + viErrorNumbers.
/**********************************************************************************/
/* AR2- Check dHist reconciliation with DInvoice */
/**********************************************************************************/
<M-3 run TechnicalValidation08DHistInvoice
(input iiCompanyID (iiCompanyID),
input iiPeriodID (iiPeriodID),
input viSelectedYearPeriod (iiSelectedYearPeriod),
input vtFromDate (itFromDate),
input vtToDate (itToDate),
output viErrorNumbers (oiErrorNumbers),
output viFcReturnSuper (oiReturnStatus)) in TConCheck>
assign oiErrorNumbers = oiErrorNumbers + viErrorNumbers.
/**********************************************************************************/
/* AR4- Check AR Invice Data */
/**********************************************************************************/
<M-38 run TechnicalValidation11ARInvoiceData
(input iiCompanyID (iiCompanyID),
input iiPeriodID (iiPeriodID),
input viSelectedYearPeriod (iiSelectedYearPeriod),
input vtFromDate (itFromDate),
input vtToDate (itToDate),
output viErrorNumbers (oiErrorNumbers),
output viFcReturnSuper (oiReturnStatus)) in TConCheck>
assign oiErrorNumbers = oiErrorNumbers + viErrorNumbers.
/**********************************************************************************/
/* AR3- Check the AR Payment (DDocument) */
/**********************************************************************************/
<M-83 run TechnicalValidation09DDocument
(input iiCompanyID (iiCompanyID),
input vtFromDate (itFromDate),
input vtToDate (itToDate),
output viErrorNumbers (oiErrorNumbers),
output viFcReturnSuper (oiReturnStatus)) in TConCheck>
assign oiErrorNumbers = oiErrorNumbers + viErrorNumbers.
end. /* MAIN_BLOCK */
/* check if pass status */
if oiErrorNumbers > 0
then assign ocConCheckLineDetResult = {&CONCHECKRESULT-FAILED}.
PUT STREAM sTechOut unformatted " " skip.
/* calculate the total time */
assign oiConCheckLineDetDuration = etime - vdStartEtime.
/* to format the total duration time */
assign viMilliSecs = oiConCheckLineDetDuration.
assign viSecs = TRUNCATE (oiConCheckLineDetDuration / 1000, 0).
assign viMilliSecs = viMilliSecs mod 1000.
assign vcTotalTime = string(viSecs, 'HH:MM:SS') + '.' + string(viMilliSecs).
put stream sTechOut unformatted 'Execution Duration: ' vcTotalTime skip.
put stream sTechOut unformatted 'Execution Result: ' ocConCheckLineDetResult skip.
put stream sTechOut unformatted '<Error Count:> ' oiErrorNumbers skip.
put stream sTechOut unformatted '**********************************************************************' skip.
output stream sTechOut close.
if oiReturnStatus = -98
then assign oiReturnStatus = 0.