User Tools

Site Tools


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