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
| Copyright © 2012 CA. All rights reserved. | Tell Technical Publications how we can improve this information |