project QadFinancials > class TConCheck > method TechnicalValidation

Description

Consistency check of technical checks


Parameters


icFileinputcharacter
iiCompanyIDinputinteger
iiPeriodIDinputinteger
iiSessionIDinputinteger
ocConCheckLineDetResultoutputcharacter
oiConCheckLineDetDurationoutputinteger
oiConCheckLineDetStartTimeoutputinteger
otConCheckLineDetStartDateoutputdate
oiErrorNumbersoutputinteger
ocConCheckLineDetVersionoutputcharacter
icAppVersioninputcharacter
oiReturnStatusoutputintegerReturn status of the method.


Internal usage


QadFinancials
method TConCheck.MainEntry


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.