Previous Topic: 4.15.3.1 Utility Job Processing Routine Worksheet

Next Topic: 4.15.3.3 Accounting Table Maintenance Utility

4.15.3.2 Utility Job Processing Routine Example


The example shown in Figure 4-99 verifies the prorate
percentage, checks to ensure that all of the PROOLD
percentages total 100, and writes records to the MAF$PRu,
where u is unit identifier.  If the unit identifier is not
provided, the MAF$PR table is updated for complex level
prorating.  This routine includes the ACTJPROI member that
contains the input routine SAS coding.

         +----------------------------------------------------------------------------------------------------------+          |                                                                                                          |          |Date: ____/____/____                        Administrator:  ____________________________________________  |          +----------------------------------------------------------------------------------------------------------+                                        UTILITY JOB PROCESSING ROUTINE EXAMPLE               SAS Statements:                      %INCLUDE SOURCE(#BASMSTR);                     /*------------------------------------------------------------------*/                     /** ENTER THE NECESSARY SAS CODING TO PROCESS YOUR INPUT FILE. THE **/                     /** FUNCTION OF THIS UTILITY PROGRAM IS USER DEFINED.  THE PROCESS **/                     /** IN THIS PROGRAM, IF THE SAME CONCEPT IS USED AS SHOWN IN THE   **/                     /** OTHER UTILITIES, IS TO READ AN INPUT FILE AND CREATE OR UPDATE **/                     /** AN ISPF/DM TABLE. REVIEW THE CODING IN THE UTILITY MEMBERS THAT**/                     /** ARE SHIPPED WITH THE PRODUCT FOR FURTHER INFORMATION.          **/                     /********************************************************************/                          /*  ISPF/DM TABLE UPDATE FOR PRORATING */                     DATA INFILE;                     RETAIN BACK80 -80 BLANKS '      ';                     %PROROOT;                       /* USER CODED INPUT ROUTINE FOLLOWS */                     %INCLUDE SOURCE(ACTJPROI);                     PROOLD = UPCASE(PROOLD);                     PRONEW = UPCASE(PRONEW);                     IF PROOLD =: 'NOPRO' THEN DO;                       PROPER = 100.0;                       PRONEW = 'NOPRORATE';                     END;                     IF ((PROPER>=0) AND (PROPER<=100.0)) THEN;                     ELSE DO;                       CALL MICSLOG ('ACT2238');                       ABORT ABEND 998;                     END;              /* Code continues in SOURCE(ACTJPROO) member  */          ____________________________________________________________________________________________________________


 Figure 4-99.  Utility Job Processing Routine Example