With the next series of screens and report outputs (SYSUSER), you can compare the instructions in rule ARWARN06 to the output report produced.
Further explanation of rule definition parameters is available in the Control-M/Analyzer for z/OS User Guide.
Figure 99 Sample Output Produced by the RUNRULE6 Job
TOTAL # OF SALESPEOPLE=3
  
**** COMMISSION CONTROL -  HARVEY J. JONES  ****
REPORTED SALES                  72245.70
CALCULATED SALES                72245.700
-------------------------------------------
DIFFERENCE                          0.000
-------------------------------------------
REPORTED COMMISSIONS OWED       -5115.00
CALCULATED COMMISSIONS OWED     -5115.160
-------------------------------------------
DIFFERENCE                          0.160
-------------------------------------------
REPORTED PAYROLL AMOUNT          5115.00
CALCULATED PAYROLL AMOUNT       -5115.160
-------------------------------------------
DIFFERENCE ***** PROBLEM *****  10230.160
-------------------------------------------
  
***** SERIOUS COMMISSION ERRORS - SEE ABOVE *****
Figure 100 Rule ARWARN06 EXECUTE FINISH Block (Display 1)
         LIBRARY : CTBP.PROD.RULES                               RULE : ARWARN06
 COMMAND ===>                                                    SCROLL===> CRSR
 +---------------------------------- BROWSE -----------------------------------+
 | EXECUTE FINISH   UPON                                                   C   |
 | ON DATA                                                                     |
 | ALWAYS                                                                      |
 |   DO SET      = I=1                                                     C   |
 |   DO PRINT    = TOTAL # OF SALESPEOPLE=%%TOTPEOPLE                  F   C   |
 |   DO PRINT    = %%BLANK                                             F   C   |
 | LABEL: TEST                                                                 |
 | IF       I GT TOTPEOPLE                                                 C   |
 |   DO GOTO     LABEL ENDJOB                                                  |
 | ELSE                                                                        |
 |   DO PRINT    = **** COMMISSION CONTROL - %%NAME%%NUMBER%%I ****    F   C   |
 |   DO PRINT    = REPORTED SALES               %%MTHSLS%%NUMBER%%I    F   C   |
 |   DO PRINT    = CALCULATED SALES                %%SUM1%%NUMBER%%I   F   C   |
 |   DO PRINT    = --------------------------------------------        F   C   |
 |   DO SET      = DIFF1=ABS(SUM1%%NUMBER%%I-MTHSLS%%NUMBER%%I)            C   |
 |   DO PRINT    = DIFFERENCE                          %%DIFF1         F   C   |
 |   DO PRINT    = --------------------------------------------        F   C   |
 |   DO SET      = COMMCALC=YTDSLS%%NUMBER%%I*0.04                         C   |
 |   DO PRINT    = REPORTED COMMISSIONS OWED    %%YTDOWE%%NUMBER%%I    F   C   |
 |   DO PRINT    = CALCULATED COMMISSIONS OWED     %%COMMCALC          F   C   |
 PLEASE FILL IN RULE DEFINITION.                                        10.38.50
The code shown in this screen produced the following lines of the report:
TOTAL # OF SALESPEOPLE=3
  
**** COMMISSION CONTROL -  HARVEY J. JONES  ****
Figure 101 Rule ARWARN06 EXECUTE FINISH Block (Display 2)
        LIBRARY : CTB.PROD.RULES                                RULE : ARWARN06
COMMAND ===>                                                    SCROLL===> CRSR
+---------------------------------- BROWSE -----------------------------------+
|   DO SET      = COMMCALC=YTDSLS%%NUMBER%%I*0.04                         C   |
|   DO PRINT    = REPORTED COMMISSIONS OWED    %%YTDOWE%%NUMBER%%I    F   C   |
|   DO PRINT    = CALCULATED COMMISSIONS OWED     %%COMMCALC          F   C   |
|   DO SET      = DIFF2=ABS(COMMCALC-YTDOWE%%NUMBER%%I)                   C   |
|   DO PRINT    = --------------------------------------------        F   C   |
|   DO PRINT    = DIFFERENCE                          %%DIFF2         F   C   |
|   DO PRINT    = --------------------------------------------        F   C   |
|   DO SET      = PAYCALC=COMMCALC-YTDCOM%%NUMBER%%I                      C   |
|   DO PRINT    = REPORTED PAYROLL AMOUNT      %%PAYAMT%%NUMBER%%I    F   C   |
|   DO PRINT    = CALCULATED PAYROLL AMOUNT       %%PAYCALC           F   C   |
|   DO SET      = DIFF3=ABS(PAYCALC-PAYAMT%%NUMBER%%I)                    C   |
|   DO PRINT    = --------------------------------------------        F   C   |
| IF       DIFF3 = 0                                                      C   |
|   DO PRINT    = DIFFERENCE                          %%DIFF3         F   C   |
| ELSE                                                                        |
|   DO PRINT    = DIFFERENCE ***** PROBLEM *****  %%DIFF3             F   C   |
|   DO PRINT    = --------------------------------------------        F   C   |
|   DO PRINT    = %%BLANK                                             F   C   |
| IF       DIFF1 > 100 OR DIFF2 > 100 OR DIFF3 > 100                      C   |
|   DO SET      = ERRORCOUNT=ERRORCOUNT+1                                 C   |
PLEASE FILL IN RULE DEFINITION.                                        17.36.48
The code shown in this screen produced the following lines of the report:
REPORTED COMMISSIONS OWED       -5115.00
CALCULATED COMMISSIONS OWED     -5115.160
-------------------------------------------
DIFFERENCE                          0.160
-------------------------------------------
REPORTED PAYROLL AMOUNT          5115.00
CALCULATED PAYROLL AMOUNT       -5115.160
-------------------------------------------
DIFFERENCE ***** PROBLEM *****  10230.160
IF       DIFF1 > 100 OR DIFF2 > 100 OR DIFF3 > 100 and press PF08/PF20, or enter the DOWN command, to display that line at the top of the screen.Figure 102 Rule ARWARN06 EXECUTE FINISH Block (Display 3)
        LIBRARY : CTB.PROD.RULES                                RULE : ARWARN06
COMMAND ===>                                                    SCROLL===> CRSR
+---------------------------------- BROWSE -----------------------------------+
| IF       DIFF1 > 100 OR DIFF2 > 100 OR DIFF3 > 100                      C   |
|   DO SET      = ERRORCOUNT=ERRORCOUNT+1                                 C   |
|   DO PRINT    = ***** SERIOUS COMMISSION ERRORS - SEE ABOVE *****   F   C   |
|   DO PRINT    = %%BLANK                                             F   C   |
|   DO PRINT    = %%BLANK                                             F   C   |
| ELSE                                                                        |
|   DO PRINT    = %%BLANK                                             F   C   |
| ALWAYS                                                                      |
|   DO SET      = I=INT(I+1)                                              C   |
|   DO GOTO     LABEL TEST                                                    |
| LABEL: ENDJOB                                                               |
| IF       ERRORCOUNT>0                                                   C   |
|   DO PRINT    = %%BLANK                                             F   C   |
|   DO PRINT    = %%BLANK                                             F   C   |
|   DO PRINT    = ***** SERIOUS COMMISSION ERRORS *****               F   C   |
|   DO PRINT    = ***** TOTAL NUMBER OF ERRORS %%ERRORCOUNT *****     F   C   |
|   DO TERMINAT = NOTOK    COD 0999                                           |
| ELSE                                                                        |
|   DO PRINT    = %%BLANK                                             F   C   |
|   DO PRINT    = %%BLANK                                             F   C   |
PLEASE FILL IN RULE DEFINITION.                                        17.41.15
The code shown in this screen produced the following line of the report:
***** SERIOUS COMMISSION ERRORS - SEE ABOVE *****
Figure 103 Rule ARWARN06 LABEL: ENDJOB
        LIBRARY : CTB.PROD.RULES                                RULE : ARWARN06
COMMAND ===>                                                    SCROLL===> CRSR
+---------------------------------- BROWSE -----------------------------------+
| LABEL: ENDJOB                                                               |
| IF       ERRORCOUNT>0                                                   C   |
|   DO PRINT    = %%BLANK                                             F   C   |
|   DO PRINT    = %%BLANK                                             F   C   |
|   DO PRINT    = ***** SERIOUS COMMISSION ERRORS *****               F   C   |
|   DO PRINT    = ***** TOTAL NUMBER OF ERRORS %%ERRORCOUNT *****     F   C   |
|   DO TERMINAT = NOTOK    COD 0999                                           |
| ELSE                                                                        |
|   DO PRINT    = %%BLANK                                             F   C   |
|   DO PRINT    = %%BLANK                                             F   C   |
|   DO TERMINAT = OK       COD 0000                                           |
| =========================================================================== |
| EXECUTE CHKNAME  UPON                                                   C   |
| ON DATA                                                                     |
| IF       SALESNO NE LASTSALES                                           C   |
|   DO SET      = TOTPEOPLE=INT(TOTPEOPLE+1)                              C   |
|   DO SET      = NUMBER%%TOTPEOPLE=SALESNO                               C   |
|   DO SET      = LASTSALES=SALESNO                                       C   |
| =========================================================================== |
| EXECUTE          UPON                                                   C   |
PLEASE FILL IN RULE DEFINITION.                                        17.43.56
The code shown in this screen produced the following lines of the report and terminates the job, depending on the results.
Figure 104 Sample Output Produced by LABEL: ENDJOB
**** COMMISSION CONTROL -  ALI MCGRATH      ****
REPORTED SALES                  15000.00
CALCULATED SALES                15000.000
--------------------------------------------
DIFFERENCE                          0,000
--------------------------------------------
REPORTED COMMISSIONS OWED       13515.16
CALCULATED COMMISSIONS OWED     13515.160
--------------------------------------------
DIFFERENCE                          0,000
--------------------------------------------
REPORTED PAYROLL AMOUNT         11632.03
CALCULATED PAYROLL AMOUNT       11632.030
--------------------------------------------
DIFFERENCE                          0,000
--------------------------------------------
  
**** COMMISSION CONTROL -  MARYJANE INKSTER ****
REPORTED SALES                  16500.00
CALCULATED SALES                16500.000
--------------------------------------------
DIFFERENCE                          0,000
--------------------------------------------
REPORTED COMMISSIONS OWED       39995.16
CALCULATED COMMISSIONS OWED     39995.160
--------------------------------------------
DIFFERENCE                          0,000
--------------------------------------------
REPORTED PAYROLL AMOUNT         39995.16
CALCULATED PAYROLL AMOUNT       39995.160
--------------------------------------------
DIFFERENCE                          0,000
--------------------------------------------
  
***** SERIOUS COMMISSION ERRORS *****
***** TOTAL NUMBER OF ERRORS 1.000 *****
Parent Topic |