/* REXX */ /************************************************************/ /* TURN USER PROFILE PREFIXS OFF */ /************************************************************/ whois = USERID(); X = MSG("OFF") ADDRESS TSO "PROFILE NOWTPMSG" "PROFILE NOPREFIX" /************************************************************/ /* POPULATE WORKING VARIABLES */ /************************************************************/ Runtime = TIME() Rundate = JUSTIFY(DATE(),11,'-') Today = DATE(S) total. = 0 /************************************************************/ /* MAIN ROUTINE */ /************************************************************/ Say " " Say " " Do CALL Get_Data CALL Display_GT End /************************************************************/ /* RESETTING USER PROFILE PREFIX BEFORE EXITING REXX */ /************************************************************/ X = MSG("ON") ADDRESS TSO "PROFILE PREFIX("whois")" Exit /*-------------------------------*/ /* C A L L S */ /*-------------------------------*/ /************************************************************/ /* THIS CALL WILL PULL DATA FROM DASD FILE */ /************************************************************/ Get_Data: Say 'Retrieving Totals - Please Wait' Say " " CNT410='PMGT.X.GTP410.CONTROL.TOTALS' 'ALLOC FI(INFILE) DA('CNT410') SHR REUSE' 'EXECIO * DISKR INFILE (FINIS' IF rc = 0 Then Do Say " " Say " " Say 'ERROR-ERROR-ERROR' Say 'ERROR READING INFILE...RETRY LATER' Say 'ANOTHER USER IS UPDATING THE INPUT FILE' Exit rc End CALL Display_Heading Do Queued() PULL Date 9 Source 13 Tot_Toll 22 Tot_Cabs 31 GT_Msgs 40 CALL Display_Data End "FREE FI(INFILE)" Return /************************************************************/ /* THIS CALL WILL DISPLAY REPORT HEADINGS */ /************************************************************/ Display_Heading: Say 'Run Date: ' Rundate ' ' 'Run Time: ', Runtime Say ' 410 CONTROL TOTALS QUERY ' Say " " Say ' TAPE TOTAL TOLL TOTAL CABS GRAND TOTAL GENERATION' Say ' SOURCE MESSAGES MESSAGES MESSAGES' Say " " Return /************************************************************/ /* THIS CALL WILL DISPLAY CONTROL TOTALS BY SOURCE ON SCREEN */ /************************************************************/ Display_Data: If Datatype(Date) = "NUM" Then Do total.runs = total.runs + 1 Say RIGHT(Source,10) RIGHT(STRIP(Tot_Toll,+L+,+0"),12), RIGHT(STRIP(Tot_Cabs,+L+,+0"),12), RIGHT(STRIP(GT_Msgs,+L+,+0"),15), RIGHT(total.runs,15) total.toll = total.toll + Tot_Toll total.cabs = total.cabs + Tot_Cabs total.gt = total.gt + GT_Msgs End Return /************************************************************/ /* THIS CALL WILL DISPLAY GRAND TOTALS */ /************************************************************/ Display_Gt: Say " " Say 'Grand Tots' RIGHT(total.toll,12) RIGHT(total.cabs,12), RIGHT(total.gt,15) Say " " Say "Total Number of 410's Ran on: " Today " is " total.runs Return