cdc:nos2.source:opl.opl871:deck:dfsort
Deck DFSORT
0 Modifications
Source
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
cdc/nos2.source/opl.opl871/deck/dfsort.txt ยท Last modified: by 127.0.0.1