Previous Topic

Next Topic

Book Contents

Book Index

Conclusion

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.

  1. You may use the RUNRULE6 job in the JCL library to run this rule, which produces the following output:

    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 *****

  2. If rule ARWARN06 is not already, open it now.
  3. Place the cursor on the line in rule ARWARN06 that begins with the string EXECUTE FINISH UPON, and press PF08/PF20, or enter the DOWN command, to display that line at the top of the screen.

    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  ****

  4. Place the cursor on the line in rule ARWARN06 that begins with the string DO SET      = COMMCALC=YTDSLS%%NUMBER%%I*0.04 and press PF08/PF20, or enter the DOWN command, to display that line at the top of the screen.

    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

  5. Place the cursor on the line in rule ARWARN06 that begins with the string 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 *****

  6. After analyzing and printing the balancing report for one salesperson, the counter, I, is incremented by 1. This variable is used to signify the salesperson number. Processing then goes back to the label TEST, where the rule checks if it has processed all of the data for all salespeople. If yes, processing continues with ENDJOB.
  7. Place the cursor on the line in rule ARWARN06 that begins with the string LABEL: ENDJOB and press PF08/PF20, or enter the DOWN command, to display that line at the top of the screen.

    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

Problem 6: Balance Monthly Commissions