Seq # *Modification Id* Act
----------------------------+
00001 M01S00001.dfsort +++|*** THE *DFSORT* CONTROL STATEMENT SORTS THE *OUTPUT* FROM
00002 M01S00002.dfsort +++|* THE DAYFILE DUMPING UTILITIES TO THE FILE SPECIFIED.
00003 M01S00003.dfsort +++|*
00004 M01S00004.dfsort +++|* THE CONTROL STATEMENT FORMAT IS -
00005 M01S00005.dfsort +++|*
00006 M01S00006.dfsort +++|* DFSORT(D=LFN1,L=LFN2,S=AAA,F=999,TN=NAME)
00007 M01S00007.dfsort +++|*
00008 M01S00008.dfsort +++|* LFN1 - NAME OF THE FILE TO SORT FROM. IF THIS
00009 M01S00009.dfsort +++|* PARAMETER IS OMITTED, FILE *DAYFILE* IS
00010 M01S00010.dfsort +++|* ASSUMED.
00011 M01S00011.dfsort +++|*
00012 M01S00012.dfsort +++|* LFN2 - NAME OF THE FILE TO WRITE TO. IF THIS
00013 M01S00013.dfsort +++|* PARAMETER IS OMITTED, FILE *OUTPUT* IS
00014 M01S00014.dfsort +++|* ASSUMED.
00015 M01S00015.dfsort +++|*
00016 M01S00016.dfsort +++|* AAA - LAST THREE CHARACTERS OF THE JOB SEQUENCE
00017 M01S00017.dfsort +++|* NUMBER TO START THE SORT. IF THIS PARAMETER
00018 M01S00018.dfsort +++|* IS OMITTED, THE SORT BEGINS WITH THE
00019 M01S00019.dfsort +++|* CHARACTER STRING *AAA*.
00020 M01S00020.dfsort +++|*
00021 M01S00021.dfsort +++|* 999 - LAST THREE CHARACTERS OF THE JOB SEQUENCE
00022 M01S00022.dfsort +++|* NUMBER TO STOP THE SORT. IF THIS PARAMETER
00023 M01S00023.dfsort +++|* IS OMITTED, THE SORT ENDS WITH THE
00024 M01S00024.dfsort +++|* CHARACTER STRING *999*.
00025 M01S00025.dfsort +++|*
00026 M01S00026.dfsort +++|* NAME - TEST NAME IS ONE OF THE FOLLOWING -
00027 M01S00027.dfsort +++|* P - THE TEST JOB PASSED.
00028 M01S00028.dfsort +++|* F - THE TEST JOB FAILED.
00029 M01S00029.dfsort +++|* QAQ - TEST JOB NAME.
00030 M01S00030.dfsort +++|
00031 M01S00031.dfsort +++|
00032 M01S00032.dfsort +++| OVERLAY(DFSORT,0,0)
00033 M01S00033.dfsort +++| PROGRAM DFSORT(TAPE1,OUTPUT,TAPE2=OUTPUT,
00034 M01S00034.dfsort +++| 1 TAPE3,TAPE4)
00035 M01S00035.dfsort +++| COMMON /DATA/JOBS,JOBF,ITN
00036 M01S00036.dfsort +++| DIMENSION JJOB(1000),III(1000),KK(1000)
00037 M01S00037.dfsort +++| DIMENSION LINE(8)
00038 M01S00038.dfsort +++| DIMENSION ICHAR(50)
00039 M01S00039.dfsort +++| DIMENSION JOB(1000)
00040 M01S00040.dfsort +++| DIMENSION TIMES(1000,4)
00041 M01S00041.dfsort +++| DIMENSION IRUN(1000)
00042 M01S00042.dfsort +++| DIMENSION MSG(1000,3)
00043 M01S00043.dfsort +++| DIMENSION NTIME(3)
00044 M01S00044.dfsort +++| DIMENSION MRUN(50,3)
00045 M01S00045.dfsort +++| INTEGER SJOB
00046 M01S00046.dfsort +++| INTEGER STIME
00047 M01S00047.dfsort +++| INTEGER FJOB
00048 M01S00048.dfsort +++| INTEGER FTIME
00049 M01S00049.dfsort +++| REAL MSTIME
00050 M01S00050.dfsort +++| REAL MTTIME
00051 M01S00051.dfsort +++|1000 FORMAT (BZ,8A10)
00052 M01S00052.dfsort +++|1001 FORMAT (50R1)
00053 M01S00053.dfsort +++|2000 FORMAT(1H1,19X,'DAYFILE SUMMARY - ',A10,2X,
00054 M01S00054.dfsort +++| 1 ' (FROM ....',R3,'. TO ....',R3,'.)',11X,'PAGE',I4,/,
00055 M01S00055.dfsort +++| 2 3X,' JOB',3X,' NAME ',3X,' CP TIME',3X,'SYS RSRCE',
00056 M01S00056.dfsort +++| 3 3X,' MS USAGE',3X,' MT USAGE',
00057 M01S00057.dfsort +++| 4 3X,' RUN ',5X,'LAST DAYFILE MESSAGE.'/
00058 M01S00058.dfsort +++| 5 26X,'(SECS)',6X,'(UNTS)',6X,'(KUNS)',6X,'(KUNS)'//)
00059 M01S00059.dfsort +++|2001 FORMAT (2X,I4,1H.,3X,A10,4(3X,F9.3),3X,A10,5X,3A10)
00060 M01S00060.dfsort +++|2002 FORMAT (/,14X,'TOTALS',4(1X,F11.3))
00061 M01S00061.dfsort +++|2003 FORMAT (/,13X,'FINISH TIME - ',A10,2X,' AT END OF - ',A10,
00062 M01S00062.dfsort +++| 1 /14X,'START TIME - ',A10,' AT START OF - ',A10)
00063 M01S00063.dfsort +++|2004 FORMAT (12X,'ELAPSED TIME - ',I2,' HR. ',I2,' MIN. ',I2,
00064 M01S00064.dfsort +++| 1 ' SEC.',' (',I6,' SEC.)')
00065 M01S00065.dfsort +++|2005 FORMAT (1H1,19X,'DAYFILE SUMMARY - ',A10,40X,'PAGE',I4,/,
00066 M01S00066.dfsort +++| 1 10X,'RUN',7X,' USED'//)
00067 M01S00067.dfsort +++|2006 FORMAT (10X,A10,I5)
00068 M01S00068.dfsort +++|2007 FORMAT(1H1,19X,' A C R SUMMARY - ',A10,2X,
00069 M01S00069.dfsort +++| 1 '(FROM ....',R3,'. TO ....',R3,'.)',11X,'PAGE',I4)
00070 M01S00070.dfsort +++|2008 FORMAT (10X,4A10)
00071 M01S00071.dfsort +++|2009 FORMAT (BZ,I4,3A10,3A10)
00072 M01S00072.dfsort +++|2010 FORMAT(//36X,'NUMBER OF PASSES =',I4/)
00073 M01S00073.dfsort +++|2011 FORMAT(//36X,'NUMBER OF FAILS =',I4/)
00074 M01S00074.dfsort +++|2012 FORMAT(//36X,'TOTAL NUMBER =',I4/)
00075 M01S00075.dfsort +++|2013 FORMAT (2X,I4,1H.,3X,A10,3X,A10,3X,3A10,6X,A10)
00076 M01S00076.dfsort +++|2014 FORMAT (3X,' JOB',2X,' NAME ',3X,' TEST NAME ',
00077 M01S00077.dfsort +++| 1 3X,'ACR MESSAGE ',22X,' TYPE ',/)
00078 M01S00078.dfsort +++|2015 FORMAT(3X,' JOB',2X,' NAME ',3X,' TEST NAME ',
00079 M01S00079.dfsort +++| 1 3X,'ACR MESSAGE ',22X,' TYPE ',/,19X,'(TN=',A3,')')
00080 M01S00080.dfsort +++|3000 FORMAT (26X,F10.3,4X)
00081 M01S00081.dfsort +++|3001 FORMAT (1X,I2,1X,I2,1X,I2,1X)
00082 M01S00082.dfsort +++|3002 FORMAT (5X,I3,2X)
00083 M01S00083.dfsort +++|
00084 M01S00084.dfsort +++|** ACCOUNTING CONSTANTS.
00085 M01S00085.dfsort +++|
00086 M01S00086.dfsort +++| DATA BFILL /10H /
00087 M01S00087.dfsort +++| DATA IRUN /1000 * O"5555 5555 5555 5555 5555"/
00088 M01S00088.dfsort +++| DATA NUECP /L"UECP"/
00089 M01S00089.dfsort +++| DATA NSECS /R"SECS"/
00090 M01S00090.dfsort +++| DATA NAESR /L"AESR"/
00091 M01S00091.dfsort +++| DATA NUNTS /R"UNTS"/
00092 M01S00092.dfsort +++| DATA NUEMS /L"UEMS"/
00093 M01S00093.dfsort +++| DATA NKUNS /R"KUNS"/
00094 M01S00094.dfsort +++| DATA NUEMT /L"UEMT"/
00095 M01S00095.dfsort +++| DATA MASK1 /O"7700 0000 0000 0000 0000"/
00096 M01S00096.dfsort +++| DATA MASK2 /O"7777 0000 0000 0000 0000"/
00097 M01S00097.dfsort +++| DATA MASK3 /O"7777 7700 0000 0000 0000"/
00098 M01S00098.dfsort +++| DATA MASK4R/O"0000 0000 0000 7777 7777"/
00099 M01S00099.dfsort +++| DATA MASK4L/O"7777 7777 0000 0000 0000"/
00100 M01S00100.dfsort +++| DATA MASK8 /O"7777 7777 7777 7777 0000"/
00101 M01S00101.dfsort +++| DATA MASK9 /O"0077 7777 7700 0000 0000"/
00102 M01S00102.dfsort +++| DATA MASK10 /O"0000 0000 0000 0000 0077"/
00103 M01S00103.dfsort +++| DATA IQM1 /O"0021 0121 0100 0000 0000"/
00104 M01S00104.dfsort +++| DATA IQM2 /O"0000 0000 0000 0000 0020"/
00105 M01S00105.dfsort +++|*
00106 M01S00106.dfsort +++|** INITIALIZE CPU, MS, MT, SRU ACCUMULATORS.
00107 M01S00107.dfsort +++|*
00108 M01S00108.dfsort +++| DATA CPTIME /0.0/
00109 M01S00109.dfsort +++| DATA MSTIME /0.0/
00110 M01S00110.dfsort +++| DATA MTTIME /0.0/
00111 M01S00111.dfsort +++| DATA SRTIME /0.0/
00112 M01S00112.dfsort +++| DATA TIMES /4000 * 0.0/
00113 M01S00113.dfsort +++|*
00114 M01S00114.dfsort +++|** INITIALIZE LAST DAYFILE MESSAGE TO *(NONE)*.
00115 M01S00115.dfsort +++|*
00116 M01S00116.dfsort +++| DATA MSG /1000 * 8H (NONE), 2000 * 1H /
00117 M01S00117.dfsort +++|
00118 M01S00118.dfsort +++|** COMPILER TABLE.
00119 M01S00119.dfsort +++|
00120 M01S00120.dfsort +++| DATA MRUN(1,1) /L"COMPASS"/
00121 M01S00121.dfsort +++| DATA MRUN(1,2) /O"7777 7777 7777 7700 0000"/
00122 M01S00122.dfsort +++| DATA MRUN(1,3) /O"0000 0000 0000 0055 5555"/
00123 M01S00123.dfsort +++| DATA MRUN(2,1) /L"SORTMRG"/
00124 M01S00124.dfsort +++| DATA MRUN(2,2) /O"7777 7777 7777 7700 0000"/
00125 M01S00125.dfsort +++| DATA MRUN(2,3) /O"0000 0000 0000 0055 5555"/
00126 M01S00126.dfsort +++| DATA MRUN(3,1) /L"ALGOL"/
00127 M01S00127.dfsort +++| DATA MRUN(3,2) /O"7777 7777 7700 0000 0000"/
00128 M01S00128.dfsort +++| DATA MRUN(3,3) /O"0000 0000 0055 5555 5555"/
00129 M01S00129.dfsort +++| DATA MRUN(4,1) /L"COBOL"/
00130 M01S00130.dfsort +++| DATA MRUN(4,2) /O"7777 7777 7700 0000 0000"/
00131 M01S00131.dfsort +++| DATA MRUN(4,3) /O"0000 0000 0055 5555 5555"/
00132 M01S00132.dfsort +++| DATA MRUN(5,1) /L"RUN23"/
00133 M01S00133.dfsort +++| DATA MRUN(5,2) /O"7777 7777 7700 0000 0000"/
00134 M01S00134.dfsort +++| DATA MRUN(5,3) /O"0000 0000 0055 5555 5555"/
00135 M01S00135.dfsort +++| DATA MRUN(6,1) /L"BASIC"/
00136 M01S00136.dfsort +++| DATA MRUN(6,2) /O"7777 7777 7700 0000 0000"/
00137 M01S00137.dfsort +++| DATA MRUN(6,3) /O"0000 0000 0055 5555 5555"/
00138 M01S00138.dfsort +++| DATA MRUN(7,1) /L"FTN"/
00139 M01S00139.dfsort +++| DATA MRUN(7,2) /O"7777 7700 0000 0000 0000"/
00140 M01S00140.dfsort +++| DATA MRUN(7,3) /O"0000 0055 5555 5555 5555"/
00141 M01S00141.dfsort +++| DATA MRUN(8,1) /L"RUN"/
00142 M01S00142.dfsort +++| DATA MRUN(8,2) /O"7777 7700 0000 0000 0000"/
00143 M01S00143.dfsort +++| DATA MRUN(8,3) /O"0000 0055 5555 5555 5555"/
00144 M01S00144.dfsort +++| DATA MRUN(9,1) /L"FTN5"/
00145 M01S00145.dfsort +++| DATA MRUN(9,2) /O"7777 7777 0000 0000 0000"/
00146 M01S00146.dfsort +++| DATA MRUN(9,3) /O"0000 0000 5555 5555 5555"/
00147 M01S00147.dfsort +++| DATA MRUN(10,1) /L"SYMPL"/
00148 M01S00148.dfsort +++| DATA MRUN(10,2) /O"7777 7777 7700 0000 0000"/
00149 M01S00149.dfsort +++| DATA MRUN(10,3) /O"0000 0000 0055 5555 5555"/
00150 M01S00150.dfsort +++|
00151 M01S00151.dfsort +++| CALL REMARK(' VERSION 3')
00152 M01S00152.dfsort +++| REWIND 1
00153 M01S00153.dfsort +++| REWIND 3
00154 M01S00154.dfsort +++| REWIND 4
00155 M01S00155.dfsort +++| CALL DATER(DATE)
00156 M01S00156.dfsort +++| IJOB = 1
00157 M01S00157.dfsort +++| ITNM = 0
00158 M01S00158.dfsort +++| IF(ITN.EQ.0) GO TO 7
00159 M01S00159.dfsort +++| IF((ITN.AND. .NOT.MASK3).EQ.0)ITNM = MASK3
00160 M01S00160.dfsort +++| IF((ITN.AND. .NOT.MASK2).EQ.0)ITNM = MASK2
00161 M01S00161.dfsort +++| IF((ITN.AND. .NOT.MASK1).EQ.0)ITNM = MASK1
00162 M01S00162.dfsort +++|7 CONTINUE
00163 M01S00163.dfsort +++| STIME = 0
00164 M01S00164.dfsort +++| JOBS = SHIFT(JOBS,-42).AND.O"777777"
00165 M01S00165.dfsort +++| JOBF = SHIFT(JOBF,-42).AND.O"777777"
00166 M01S00166.dfsort +++| ITIME = 1
00167 M01S00167.dfsort +++|1 READ(1,1000,END=10000) LINE
00168 M01S00168.dfsort +++|10000 IF(EOF(1)) 100,2,100
00169 M01S00169.dfsort +++|
00170 M01S00170.dfsort +++|** CHANGE 00B TO BLANK(55B)
00171 M01S00171.dfsort +++|
00172 M01S00172.dfsort +++| 2 CONTINUE
00173 M01S00173.dfsort +++| DECODE(50,1001,LINE(1)) (ICHAR(I),I=1,50)
00174 M01S00174.dfsort +++| DO 201 L=1,50
00175 M01S00175.dfsort +++| IF(ICHAR(L) .EQ. O"00") ICHAR(L) = O"55"
00176 M01S00176.dfsort +++| 201 CONTINUE
00177 M01S00177.dfsort +++| ENCODE(50,1001,LINE(1)) (ICHAR(I),I=1,50)
00178 M01S00178.dfsort +++|
00179 M01S00179.dfsort +++|** DETERMINE JOB LIMITS.
00180 M01S00180.dfsort +++|
00181 M01S00181.dfsort +++| JOBN = SHIFT(LINE(2),-18).AND.O"777777"
00182 M01S00182.dfsort +++| IF (ITIME.EQ.0) GO TO 21
00183 M01S00183.dfsort +++| IF ((LINE(2).AND.MASK8).EQ.L"SYSTEM ") GO TO 1
00184 M01S00184.dfsort +++| IF ((LINE(2).AND.MASK8).EQ.L"TELEX S") GO TO 1
00185 M01S00185.dfsort +++| IF ((LINE(2).AND.MASK8).EQ.L"BATCHIOS") GO TO 1
00186 M01S00186.dfsort +++| IF ((LINE(2).AND.MASK8).EQ.L"EXPORTLS") GO TO 1
00187 M01S00187.dfsort +++| IF ((LINE(2).AND.MASK8).EQ.L"IAFEX S") GO TO 1
00188 M01S00188.dfsort +++| IF ((LINE(2).AND.MASK8).EQ.L"MSSEXECS") GO TO 1
00189 M01S00189.dfsort +++| IF ((LINE(2).AND.MASK8).EQ.L"NAM S") GO TO 1
00190 M01S00190.dfsort +++| IF ((LINE(2).AND.MASK8).EQ.L"RBF S") GO TO 1
00191 M01S00191.dfsort +++| IF ((LINE(2).AND.MASK8).EQ.L"MAGNET S") GO TO 1
00192 M01S00192.dfsort +++| IF (LINE(3).EQ.6HINPUT.) GO TO 1
00193 M01S00193.dfsort +++| ITIME = 0
00194 M01S00194.dfsort +++| STIME = LINE(1)
00195 M01S00195.dfsort +++| SJOB = LINE(2)
00196 M01S00196.dfsort +++|21 IF(JOBN.LT.JOBS) GO TO 1
00197 M01S00197.dfsort +++| IF(JOBN.GT.JOBF) GO TO 1
00198 M01S00198.dfsort +++| IF(STIME.NE.0) GO TO 23
00199 M01S00199.dfsort +++| STIME = LINE(1)
00200 M01S00200.dfsort +++|23 FTIME = LINE(1)
00201 M01S00201.dfsort +++| FJOB = LINE(2)
00202 M01S00202.dfsort +++|
00203 M01S00203.dfsort +++|** ADD JOB NAME TO JOB LIST IF NOT IN.
00204 M01S00204.dfsort +++|
00205 M01S00205.dfsort +++| INJ=0
00206 M01S00206.dfsort +++| DO 31 II=1,IJOB
00207 M01S00207.dfsort +++| I = II
00208 M01S00208.dfsort +++| IF(JOB(I).EQ.LINE(2)) GO TO 4
00209 M01S00209.dfsort +++|31 CONTINUE
00210 M01S00210.dfsort +++| JOB(I) = LINE(2)
00211 M01S00211.dfsort +++| ICNT = 60
00212 M01S00212.dfsort +++| JB = LINE(3)
00213 M01S00213.dfsort +++|
00214 M01S00214.dfsort +++|** DETERMINE JOB NAME LENGTH
00215 M01S00215.dfsort +++|
00216 M01S00216.dfsort +++| 32 JB = SHIFT(JB,6)
00217 M01S00217.dfsort +++| ICNT = ICNT - 6
00218 M01S00218.dfsort +++| IF((JB.AND.O"77").LT.R"A") GO TO 33
00219 M01S00219.dfsort +++| IF((JB.AND.O"77").GT.R"9") GO TO 33
00220 M01S00220.dfsort +++| IF(ICNT.NE.0) GO TO 32
00221 M01S00221.dfsort +++| JJOB(I) = LINE(3)
00222 M01S00222.dfsort +++| GO TO 34
00223 M01S00223.dfsort +++|
00224 M01S00224.dfsort +++|** ADD BLANKS TO JOB NAME FIELD
00225 M01S00225.dfsort +++|
00226 M01S00226.dfsort +++|33 N = ICNT + 6
00227 M01S00227.dfsort +++| JB = SHIFT(JB,ICNT)
00228 M01S00228.dfsort +++| JJOB(I) = (JB.AND.MASK(60-N)).OR.(SHIFT(MASK(N),N).AND.BFILL)
00229 M01S00229.dfsort +++|34 CONTINUE
00230 M01S00230.dfsort +++| IJOB = IJOB+1
00231 M01S00231.dfsort +++| INJ=1
00232 M01S00232.dfsort +++|
00233 M01S00233.dfsort +++|** ENTER JOB TIMES.
00234 M01S00234.dfsort +++|
00235 M01S00235.dfsort +++|4 IF((LINE(4).AND.MASK4R).NE.NSECS) GO TO 41
00236 M01S00236.dfsort +++| IF((LINE(3).AND.MASK4L).NE.NUECP) GO TO 41
00237 M01S00237.dfsort +++| DECODE(40,3000,LINE) TIME
00238 M01S00238.dfsort +++| CPTIME = CPTIME+TIME
00239 M01S00239.dfsort +++| TIMES(I,1) = TIMES(I,1)+TIME
00240 M01S00240.dfsort +++| GO TO 44
00241 M01S00241.dfsort +++|41 IF((LINE(4).AND.MASK4R).NE.NUNTS) GO TO 42
00242 M01S00242.dfsort +++| IF((LINE(3).AND.MASK4L).NE.NAESR) GO TO 42
00243 M01S00243.dfsort +++| DECODE(40,3000,LINE) TIME
00244 M01S00244.dfsort +++| SRTIME = SRTIME+TIME
00245 M01S00245.dfsort +++| TIMES(I,2) = TIMES(I,2)+TIME
00246 M01S00246.dfsort +++| GO TO 44
00247 M01S00247.dfsort +++|42 IF((LINE(4).AND.MASK4R).NE.NKUNS) GO TO 5
00248 M01S00248.dfsort +++| IF((LINE(3).AND.MASK4L).NE.NUEMS) GO TO 43
00249 M01S00249.dfsort +++| DECODE(40,3000,LINE) TIME
00250 M01S00250.dfsort +++| MSTIME = MSTIME+TIME
00251 M01S00251.dfsort +++| TIMES(I,3) = TIMES(I,3)+TIME
00252 M01S00252.dfsort +++| GO TO 44
00253 M01S00253.dfsort +++|43 IF((LINE(3).AND.MASK4L).NE.NUEMT) GO TO 1
00254 M01S00254.dfsort +++| DECODE(40,3000,LINE) TIME
00255 M01S00255.dfsort +++| MTTIME = MTTIME+TIME
00256 M01S00256.dfsort +++| TIMES(I,4) = TIMES(I,4)+TIME
00257 M01S00257.dfsort +++|44 GO TO 1
00258 M01S00258.dfsort +++|
00259 M01S00259.dfsort +++|** DETERMINE RUN TYPE.
00260 M01S00260.dfsort +++|
00261 M01S00261.dfsort +++|5 IF(INJ.EQ.0) GO TO 50
00262 M01S00262.dfsort +++| IF(JOBN.GE.JOBS) GO TO 1
00263 M01S00263.dfsort +++|50 DO 51 J=1,50
00264 M01S00264.dfsort +++| IF (MRUN(J,1).EQ.0) GO TO 6
00265 M01S00265.dfsort +++| IF ((LINE(3).AND.MRUN(J,2)).NE.(MRUN(J,1).AND.MRUN(J,2)))
00266 M01S00266.dfsort +++| 1 GO TO 51
00267 M01S00267.dfsort +++| IRUN(I) = SHIFT(((MRUN(J,1).AND.MRUN(J,2)).OR.MRUN(J,3)),42)
00268 M01S00268.dfsort +++| MRUN(J,1) = MRUN(J,1)+1
00269 M01S00269.dfsort +++| GO TO 6
00270 M01S00270.dfsort +++|51 CONTINUE
00271 M01S00271.dfsort +++|
00272 M01S00272.dfsort +++|** ENTER DAYFILE MESSAGE.
00273 M01S00273.dfsort +++|
00274 M01S00274.dfsort +++|6 DO 61 J=1,3
00275 M01S00275.dfsort +++|61 MSG(I,J) = LINE(J+2)
00276 M01S00276.dfsort +++| IF((LINE(3).AND.MASK9).NE.IQM1) GO TO 62
00277 M01S00277.dfsort +++| ITAPE =4
00278 M01S00278.dfsort +++| IF((LINE(4).AND.MASK10).EQ.IQM2) ITAPE = 3
00279 M01S00279.dfsort +++| IF((JJOB(I).AND.ITNM).NE.(ITN)) GO TO 62
00280 M01S00280.dfsort +++| WRITE(ITAPE,2009)I,JOB(I),JJOB(I),IRUN(I),(LINE(L),L=3,5)
00281 M01S00281.dfsort +++|62 CONTINUE
00282 M01S00282.dfsort +++| GO TO 1
00283 M01S00283.dfsort +++|
00284 M01S00284.dfsort +++|
00285 M01S00285.dfsort +++|** PRINT JOB TABLES
00286 M01S00286.dfsort +++|
00287 M01S00287.dfsort +++|100 LINES = 64
00288 M01S00288.dfsort +++| J = IJOB-1
00289 M01S00289.dfsort +++| IPAGE = 1
00290 M01S00290.dfsort +++| DO 105 I=1,J
00291 M01S00291.dfsort +++| IF (LINES.LT.60) GO TO 101
00292 M01S00292.dfsort +++| WRITE(2,2000)DATE,JOBS,JOBF,IPAGE
00293 M01S00293.dfsort +++| LINES = 4
00294 M01S00294.dfsort +++| IPAGE = IPAGE+1
00295 M01S00295.dfsort +++|101 M = R"999"
00296 M01S00296.dfsort +++| DO 102 K=1,J
00297 M01S00297.dfsort +++| IF (JOB(K).EQ.0) GO TO 102
00298 M01S00298.dfsort +++| IF ((SHIFT(JOB(K),-18).AND.O"777777").GE.M) GO TO 102
00299 M01S00299.dfsort +++| L = K
00300 M01S00300.dfsort +++| M = SHIFT(JOB(K),-18).AND.O"777777"
00301 M01S00301.dfsort +++|102 CONTINUE
00302 M01S00302.dfsort +++| K = L
00303 M01S00303.dfsort +++| WRITE(2,2001) I,JOB(K),(TIMES(K,L),L=1,4),IRUN(K),(MSG(K,L),
00304 M01S00304.dfsort +++| 1 L=1,3)
00305 M01S00305.dfsort +++| JOB(K) = 0
00306 M01S00306.dfsort +++| III(K) = I
00307 M01S00307.dfsort +++|105 LINES = LINES+1
00308 M01S00308.dfsort +++|
00309 M01S00309.dfsort +++|** LIST TOTALS.
00310 M01S00310.dfsort +++|
00311 M01S00311.dfsort +++| WRITE(2,2002) CPTIME,SRTIME,MSTIME,MTTIME
00312 M01S00312.dfsort +++| WRITE(2,2003) FTIME,FJOB,STIME,SJOB
00313 M01S00313.dfsort +++| DECODE(10,3001,STIME) NTIME
00314 M01S00314.dfsort +++| ITIME = 3600*NTIME(1)+60*NTIME(2)+NTIME(3)
00315 M01S00315.dfsort +++| DECODE(10,3001,FTIME) NTIME
00316 M01S00316.dfsort +++| JTIME = 3600*NTIME(1)+60*NTIME(2)+NTIME(3)
00317 M01S00317.dfsort +++| KTIME = JTIME-ITIME
00318 M01S00318.dfsort +++| NTIME(1) = KTIME/3600
00319 M01S00319.dfsort +++| ITIME = KTIME/60
00320 M01S00320.dfsort +++| NTIME(2) = ITIME-(NTIME(1)*60)
00321 M01S00321.dfsort +++| NTIME(3) = KTIME-(NTIME(2)*60)-(NTIME(1)*3600)
00322 M01S00322.dfsort +++| WRITE(2,2004) NTIME,KTIME
00323 M01S00323.dfsort +++|
00324 M01S00324.dfsort +++|** LIST RUN USAGE.
00325 M01S00325.dfsort +++|
00326 M01S00326.dfsort +++| WRITE(2,2005) DATE,IPAGE
00327 M01S00327.dfsort +++| LINES = 4
00328 M01S00328.dfsort +++| IPAGE = IPAGE+1
00329 M01S00329.dfsort +++| DO 110 I=1,50
00330 M01S00330.dfsort +++| IF (MRUN(I,1).EQ.0) GO TO 111
00331 M01S00331.dfsort +++| J = (MRUN(I,1).AND.MRUN(I,2)) .OR. MRUN(I,3)
00332 M01S00332.dfsort +++| K = MRUN(I,1).AND.O"777777"
00333 M01S00333.dfsort +++|110 WRITE(2,2006) J, K
00334 M01S00334.dfsort +++|*
00335 M01S00335.dfsort +++|** AUTOMATIC CHECKOUT ROUTINES SUMMARY PROCESSOR.
00336 M01S00336.dfsort +++|*
00337 M01S00337.dfsort +++|111 ENDFILE 3
00338 M01S00338.dfsort +++| ENDFILE 4
00339 M01S00339.dfsort +++| REWIND 3
00340 M01S00340.dfsort +++| REWIND 4
00341 M01S00341.dfsort +++| ITOT = 0
00342 M01S00342.dfsort +++| IPASS = 0
00343 M01S00343.dfsort +++| IFAIL = 0
00344 M01S00344.dfsort +++| DO 112 I=1,1000
00345 M01S00345.dfsort +++| KK(I)=0
00346 M01S00346.dfsort +++|112 CONTINUE
00347 M01S00347.dfsort +++| ITAPE = 3
00348 M01S00348.dfsort +++| DO 114 J=1,1000
00349 M01S00349.dfsort +++| READ(ITAPE,2009,END=10001)I,JOB(I),JJOB(I),IRUN(I),(MSG(I,L)
00350 M01S00350.dfsort +++| +,L=1,3)
00351 M01S00351.dfsort +++|10001 IF(EOF(ITAPE)) 115,113,115
00352 M01S00352.dfsort +++|113 IPASS = IPASS + 1
00353 M01S00353.dfsort +++| ITOT = ITOT + 1
00354 M01S00354.dfsort +++| KK(I) = III(I)
00355 M01S00355.dfsort +++|114 CONTINUE
00356 M01S00356.dfsort +++|115 IF(IPASS.EQ.0) GO TO 119
00357 M01S00357.dfsort +++| LINES = 64
00358 M01S00358.dfsort +++| J = J - 1
00359 M01S00359.dfsort +++| DO 118 I = 1,J
00360 M01S00360.dfsort +++| IF(LINES.LT.60) GO TO 116
00361 M01S00361.dfsort +++| WRITE(2,2007)DATE,JOBS,JOBF,IPAGE
00362 M01S00362.dfsort +++| IF(ITN.EQ.0)WRITE(2,2014)
00363 M01S00363.dfsort +++| IF(ITN.NE.0)WRITE(2,2015)ITN
00364 M01S00364.dfsort +++| LINES = 4
00365 M01S00365.dfsort +++| IPAGE = IPAGE + 1
00366 M01S00366.dfsort +++|116 M = 1001
00367 M01S00367.dfsort +++| DO 117 K=1,1000
00368 M01S00368.dfsort +++| IF(KK(K).EQ.0) GO TO 117
00369 M01S00369.dfsort +++| IF(KK(K).GE.M) GO TO 117
00370 M01S00370.dfsort +++| L = K
00371 M01S00371.dfsort +++| M = KK(K)
00372 M01S00372.dfsort +++|117 CONTINUE
00373 M01S00373.dfsort +++| K = L
00374 M01S00374.dfsort +++| WRITE(2,2013)KK(K),JOB(K),JJOB(K),(MSG(K,L),L=1,3),IRUN(K)
00375 M01S00375.dfsort +++| KK(K) = 0
00376 M01S00376.dfsort +++| LINES = LINES + 1
00377 M01S00377.dfsort +++|118 CONTINUE
00378 M01S00378.dfsort +++| WRITE(2,2010)IPASS
00379 M01S00379.dfsort +++|*
00380 M01S00380.dfsort +++|119 ITAPE = 4
00381 M01S00381.dfsort +++| DO 121 J = 1,1000
00382 M01S00382.dfsort +++| READ(ITAPE,2009,END=10002)I,JOB(I),JJOB(I),IRUN(I),(MSG(I,L)
00383 M01S00383.dfsort +++| +,L=1,3)
00384 M01S00384.dfsort +++|10002 IF(EOF(ITAPE)) 122,120,122
00385 M01S00385.dfsort +++|120 IFAIL = IFAIL + 1
00386 M01S00386.dfsort +++| ITOT = ITOT + 1
00387 M01S00387.dfsort +++| KK(I) = III(I)
00388 M01S00388.dfsort +++|121 CONTINUE
00389 M01S00389.dfsort +++|122 IF(IFAIL.EQ.0)GO TO 126
00390 M01S00390.dfsort +++| LINES = 64
00391 M01S00391.dfsort +++| J = J - 1
00392 M01S00392.dfsort +++| DO 125 I=1,J
00393 M01S00393.dfsort +++| IF(LINES.LT.60) GO TO 123
00394 M01S00394.dfsort +++| WRITE(2,2007)DATE,JOBS,JOBF,IPAGE
00395 M01S00395.dfsort +++| IF(ITN.EQ.0)WRITE(2,2014)
00396 M01S00396.dfsort +++| IF(ITN.NE.0)WRITE(2,2015)ITN
00397 M01S00397.dfsort +++| LINES = 4
00398 M01S00398.dfsort +++| IPAGE = IPAGE + 1
00399 M01S00399.dfsort +++|123 M = 1001
00400 M01S00400.dfsort +++| DO 124 K = 1,1000
00401 M01S00401.dfsort +++| IF(KK(K).EQ.0)GO TO 124
00402 M01S00402.dfsort +++| IF(KK(K).GE.M)GO TO 124
00403 M01S00403.dfsort +++| L = K
00404 M01S00404.dfsort +++| M = KK(K)
00405 M01S00405.dfsort +++|124 CONTINUE
00406 M01S00406.dfsort +++| K = L
00407 M01S00407.dfsort +++| WRITE(2,2013)KK(K),JOB(K),JJOB(K),(MSG(K,L),L=1,3),IRUN(K)
00408 M01S00408.dfsort +++| KK(K) = 0
00409 M01S00409.dfsort +++| LINES = LINES + 1
00410 M01S00410.dfsort +++|125 CONTINUE
00411 M01S00411.dfsort +++| WRITE(2,2011)IFAIL
00412 M01S00412.dfsort +++|126 IF(ITOT.EQ.0) GO TO 127
00413 M01S00413.dfsort +++| WRITE(2,2007)DATE,JOBS,JOBF,IPAGE
00414 M01S00414.dfsort +++| WRITE(2,2010)IPASS
00415 M01S00415.dfsort +++| WRITE(2,2011)IFAIL
00416 M01S00416.dfsort +++| WRITE(2,2012)ITOT
00417 M01S00417.dfsort +++|127 ENDFILE 2
00418 M01S00418.dfsort +++| END
00419 M01S00419.dfsort +++| SUBROUTINE DATER(I)
00420 M01S00420.dfsort +++| CALL DATE(I)
00421 M01S00421.dfsort +++| RETURN
00422 M01S00422.dfsort +++| END
00423 M01S00423.dfsort +++| IDENT PRESET
00424 M01S00424.dfsort +++| ENTRY PRESET
00425 M01S00425.dfsort +++| SYSCOM
00426 M01S00426.dfsort +++| SPACE 4,10
00427 M01S00427.dfsort +++|*CALL COMCMAC
00428 M01S00428.dfsort +++| SPACE 4,10
00429 M01S00429.dfsort +++| PRESET SB1 1
00430 M01S00430.dfsort +++| SA1 ACTR
00431 M01S00431.dfsort +++| SB4 X1
00432 M01S00432.dfsort +++| SA4 ARGR
00433 M01S00433.dfsort +++| SB5 PRSA
00434 M01S00434.dfsort +++| RJ ARG PROCESS ARGUMENTS
00435 M01S00435.dfsort +++| ZR X1,PRS1 IF NO ARGUMENT ERRORS
00436 M01S00436.dfsort +++| MESSAGE (=C*DFSORT ARGUMENT ERROR.*)
00437 M01S00437.dfsort +++| ABORT
00438 M01S00438.dfsort +++| PRS1 SA1 D SET DAYFILE NAME
00439 M01S00439.dfsort +++| SA2 L SET LIST FILE NAME
00440 M01S00440.dfsort +++| BX6 X1
00441 M01S00441.dfsort +++| LX7 X2
00442 M01S00442.dfsort +++| SA6 ARGR
00443 M01S00443.dfsort +++| SA7 A6+B1
00444 M01S00444.dfsort +++| SX6 B1+B1 ARGUMENT COUNT = 2
00445 M01S00445.dfsort +++| SA6 ACTR
00446 M01S00446.dfsort +++| EQ =XDFSORT ENTER FORTRAN PROGRAM
00447 M01S00447.dfsort +++|
00448 M01S00448.dfsort +++| PRSA BSS 0
00449 M01S00449.dfsort +++| VFD 12/0LD,18/D,30/D
00450 M01S00450.dfsort +++| VFD 12/0LL,18/L,30/L
00451 M01S00451.dfsort +++| VFD 12/0LS,18/JOBS,30/JOBS
00452 M01S00452.dfsort +++| VFD 12/0LF,18/JOBF,30/JOBF
00453 M01S00453.dfsort +++| VFD 12/0LTN,18/ITN,30/ITN
00454 M01S00454.dfsort +++| CON 0
00455 M01S00455.dfsort +++|
00456 M01S00456.dfsort +++| D CON 0LDAYFILE
00457 M01S00457.dfsort +++| L CON 0LOUTPUT
00458 M01S00458.dfsort +++| SPACE 4
00459 M01S00459.dfsort +++|** COMMON DECKS.
00460 M01S00460.dfsort +++|
00461 M01S00461.dfsort +++|
00462 M01S00462.dfsort +++|*CALL COMCARG
00463 M01S00463.dfsort +++|*CALL COMCSYS
00464 M01S00464.dfsort +++| SPACE 4
00465 M01S00465.dfsort +++| USE /DATA/
00466 M01S00466.dfsort +++| JOBS CON 0LAAA
00467 M01S00467.dfsort +++| JOBF CON 0L999
00468 M01S00468.dfsort +++| ITN CON 0
00469 M01S00469.dfsort +++| SPACE 4
00470 M01S00470.dfsort +++| END PRESET