Seq # *Modification Id* Act
----------------------------+
00001 M01S00001.sscontl +++|.PROC,SSCONTL.
00002 M01S00002.sscontl +++|* THIS JOB BUILDS TWO PROGRAMS THAT ARE NEEDED TO TIME EVENT
00003 M01S00003.sscontl +++|* A SSMOVE DESTAGE JOB OR A LOW DISK SPACE SSMOVE JOB.
00004 M01S00004.sscontl +++|*
00005 M01S00005.sscontl +++|* *TIMESCR* PROGRAM IS CALLED BY A JOB THAT PLACES A SSMOVE
00006 M01S00006.sscontl +++|* PROGRAM IN THE ROLLOUT QUEUE WAITTING FOR A PRESET TIME
00007 M01S00007.sscontl +++|* TO START THE SSMOVE EXECUTION.
00008 M01S00008.sscontl +++|* THIS DESTAGE RELATED PROCEEDURE IS CALL BY THE PROC *DESTAGE*.
00009 M01S00009.sscontl +++|* ** THE BINNARY DECK IS CALLED *TIMEB*.
00010 M01S00010.sscontl +++|*
00011 M01S00011.sscontl +++|* *PROFULL* PROGRAM IS CALLED BY A JOB THAT PLACES A SSMOVE
00012 M01S00012.sscontl +++|* PROGRAM IN THE ROLLOUT QUEUE WAITTING FOR A LOW DISK SPACE
00013 M01S00013.sscontl +++|* THRESHOLD FLAG TO BE SET.
00014 M01S00014.sscontl +++|* THE *PROFULL* BINNARIES MUST BE SYSEDITED OR BE PLACED ON
00015 M01S00015.sscontl +++|* THE DEAD START TO EXECUTED. (AN SSJ= PROGRAM THAT READS
00016 M01S00016.sscontl +++|* THE EST AND MST WITH SYSTEM MACRO-S FOR THE LOW DISK
00017 M01S00017.sscontl +++|* THRESHOLD FLAGS.)
00018 M01S00018.sscontl +++|* * THE BINNARY DECK IS CALLED *DKFULL*.
00019 M01S00019.sscontl +++|*
00020 M01S00020.sscontl +++|* THIS LOW DISK SPACE PROGRAM IS CALLED BY THE PROC *DKFULL*
00021 M01S00021.sscontl +++|*
00022 M01S00022.sscontl +++|ATTACH,OPL/UN=LIBRARY.
00023 M01S00023.sscontl +++|COPYBR,TIMESRC,X.
00024 M01S00024.sscontl +++|COPYBR,PROFULL,X1.
00025 M01S00025.sscontl +++|REWIND,*.
00026 M01S00026.sscontl +++|COPYBF,X,TIMESRC.
00027 M01S00027.sscontl +++|COPYBR,X1,PROFULL.
00028 M01S00028.sscontl +++|REWIND,*.
00029 M01S00029.sscontl +++|MODIFY,P=0,C=0,N=N,F,Z./*CREATE,TIMESRC
00030 M01S00030.sscontl +++|REWIND,*.
00031 M01S00031.sscontl +++|MODIFY,P,LO=E,Z./*OPLFILE,N/*EDIT,TIMESRC
00032 M01S00032.sscontl +++|FTN,I=COMPILE,L=L,B=TIMEB,S=PSSTEXT,S=NOSTEXT.
00033 M01S00033.sscontl +++|REWIND,*.
00034 M01S00034.sscontl +++|MODIFY,P=0,C=0,N=N,F,Z./*CREATE,PROFULL
00035 M01S00035.sscontl +++|REWIND,*.
00036 M01S00036.sscontl +++|MODIFY,P,LO=E,Z./*OPLFILE,N/*EDIT,DKFULL
00037 M01S00037.sscontl +++|COMPASS,I,B=DKFUL,S=NOSTEXT,S=PSSTEXT,L=M.
00038 M01S00038.sscontl +++|REWIND,*.
00039 M01S00039.sscontl +++|MODIFY,P,LO=E,Z./*EDIT,MAC2
00040 M01S00040.sscontl +++|COMPASS,I,B=MACBIN,S=NOSTEXT,S=PSSTEXT,S=SSYTEXT,L=0.
00041 M01S00041.sscontl +++|REWIND,*.
00042 M01S00042.sscontl +++|LIBGEN(F=MACBIN,P=MACLIB,NX=0)
00043 M01S00043.sscontl +++|LDSET(LIB=MACLIB,PRESET=0,MAP=SBEX/MAP)
00044 M01S00044.sscontl +++|LOAD(DKFUL)
00045 M01S00045.sscontl +++|NOGO(DKFULL,DKFULL,$RFL=$,$SSJ=$)
00046 M01S00046.sscontl +++|PURGE,TIMEB,DKFULL/NA.
00047 M01S00047.sscontl +++|SAVE,TIMEB,DKFULL.
00048 M01S00048.sscontl +++|REVERT. SAVE TIMEB AND DKFULLB.
00049 M01S00049.sscontl +++|DIS.
00050 M01S00050.sscontl +++|EXIT.
00051 M01S00051.sscontl +++|REVERT. ERRORS......
00052 M01S00052.sscontl +++|.DATA,TIMESRC.
00053 M01S00053.sscontl +++|TIMESRC
00054 M01S00054.sscontl +++| PROGRAM TIMESRC ( TAPE1 )
00055 M01S00055.sscontl +++|
00056 M01S00056.sscontl +++|CCC *TIMESRC* CONTROLS THE CALLING OF *SSMOVE*.
00057 M01S00057.sscontl +++|C
00058 M01S00058.sscontl +++|C *TIMESRC* READS LOCAL FILE TAPE1 TO DETERMINE
00059 M01S00059.sscontl +++|C THE NEXT TIME TO CALL *SSMOVE*. WHEN THE
00060 M01S00060.sscontl +++|C TRIGGER TIME IS HIT, THEN *TIMESRC* ENDS AND
00061 M01S00061.sscontl +++|C THE CCL PROCEDURE FILE IS ALLOWED TO CONTINUE.
00062 M01S00062.sscontl +++|C
00063 M01S00063.sscontl +++|C THE CCL PROCEDURE WILL THEN CALL *SSMOVE*.
00064 M01S00064.sscontl +++|C
00065 M01S00065.sscontl +++|C FORMAT OF TAPE1.
00066 M01S00066.sscontl +++|C
00067 M01S00067.sscontl +++|C N RECORDS OF FORMAT I4 - HHMM.
00068 M01S00068.sscontl +++|C HH = HOUR OF NEXT DESTAGE.
00069 M01S00069.sscontl +++|C MM = MINUTES OF NEXT DESTAGE.
00070 M01S00070.sscontl +++|
00071 M01S00071.sscontl +++| INTEGER CURTM
00072 M01S00072.sscontl +++|
00073 M01S00073.sscontl +++|C
00074 M01S00074.sscontl +++|C READ NEXT TIME TO DESTAGE.
00075 M01S00075.sscontl +++|C
00076 M01S00076.sscontl +++|
00077 M01S00077.sscontl +++| READ ( 1 , 9000 ) IHR , ISE
00078 M01S00078.sscontl +++|9000 FORMAT ( 2I2 )
00079 M01S00079.sscontl +++| NTM = SHIFT ( IHR , 6 ) .OR. ISE
00080 M01S00080.sscontl +++|
00081 M01S00081.sscontl +++|C
00082 M01S00082.sscontl +++|C DETERMINE CURRENT TIME
00083 M01S00083.sscontl +++|C
00084 M01S00084.sscontl +++|
00085 M01S00085.sscontl +++|10 CALL GETCTM ( CURTM )
00086 M01S00086.sscontl +++| CURTM = CURTM .AND. 777700B
00087 M01S00087.sscontl +++| CURTM = SHIFT ( CURTM , -6 )
00088 M01S00088.sscontl +++|
00089 M01S00089.sscontl +++|C
00090 M01S00090.sscontl +++|C IF CURRENT TIME .GT. TIME TO DESTAGE, THEN
00091 M01S00091.sscontl +++|C END TO ALLOW PROCEDURE TO CALL *SSMOVE*.
00092 M01S00092.sscontl +++|C
00093 M01S00093.sscontl +++|
00094 M01S00094.sscontl +++| IF ( NTM .GT. CURTM ) GOTO 100
00095 M01S00095.sscontl +++| STOP
00096 M01S00096.sscontl +++|
00097 M01S00097.sscontl +++|C
00098 M01S00098.sscontl +++|C IF *SSMOVE* SHOULD RUN IN LESS THAN 15 MINUTES,
00099 M01S00099.sscontl +++|C INCREASE THE FREQUENCY OF THE ROLLINS.
00100 M01S00100.sscontl +++|C
00101 M01S00101.sscontl +++|
00102 M01S00102.sscontl +++|100 CURTM = CURTM - 15
00103 M01S00103.sscontl +++| IF ( CURTM .GT. NTM ) 110 , 120
00104 M01S00104.sscontl +++|
00105 M01S00105.sscontl +++|110 ITIME = 3
00106 M01S00106.sscontl +++| CALL ROLL ( ITIME )
00107 M01S00107.sscontl +++| GOTO 10
00108 M01S00108.sscontl +++|
00109 M01S00109.sscontl +++|120 ITIME = 15
00110 M01S00110.sscontl +++| CALL ROLL ( ITIME )
00111 M01S00111.sscontl +++| GOTO 10
00112 M01S00112.sscontl +++|
00113 M01S00113.sscontl +++| END
00114 M01S00114.sscontl +++| IDENT GETCTM
00115 M01S00115.sscontl +++| ENTRY GETCTM
00116 M01S00116.sscontl +++| SPACE 4
00117 M01S00117.sscontl +++| GETCTM BSSZ 1
00118 M01S00118.sscontl +++| SA1 A1
00119 M01S00119.sscontl +++| PDATE X1
00120 M01S00120.sscontl +++| EQ GETCTM
00121 M01S00121.sscontl +++| END
00122 M01S00122.sscontl +++| IDENT ROLL
00123 M01S00123.sscontl +++| ENTRY ROLL
00124 M01S00124.sscontl +++| SPACE 4
00125 M01S00125.sscontl +++| ROLL BSSZ 1
00126 M01S00126.sscontl +++| SA1 X1
00127 M01S00127.sscontl +++| SX2 60D CONVERT TIME TO SECONDS
00128 M01S00128.sscontl +++| IX6 X1*X2
00129 M01S00129.sscontl +++| SA6 ADDR
00130 M01S00130.sscontl +++| ROLLOUT ADDR
00131 M01S00131.sscontl +++| EQ ROLL RETURN AFTER ROLLOUT
00132 M01S00132.sscontl +++|
00133 M01S00133.sscontl +++| ADDR BSSZ 1
00134 M01S00134.sscontl +++| END
00135 M01S00135.sscontl +++|.DATA,PROFULL.
00136 M01S00136.sscontl +++|DKFULL
00137 M01S00137.sscontl +++| IDENT DKFULL
00138 M01S00138.sscontl +++|
00139 M01S00139.sscontl +++| SYSCOM B1
00140 M01S00140.sscontl +++| SST
00141 M01S00141.sscontl +++| ENTRY RFL=
00142 M01S00142.sscontl +++| ENTRY SSJ=
00143 M01S00143.sscontl +++| ENTRY DKFULL
00144 M01S00144.sscontl +++| EXT RDESTC
00145 M01S00145.sscontl +++|
00146 M01S00146.sscontl +++|*** *DKFULL* CONTROLS THE CALLING OF *SSMOVE* WHEN THE
00147 M01S00147.sscontl +++|* DISK LOW SPACE THRESHOLD IS REACHED.
00148 M01S00148.sscontl +++|*
00149 M01S00149.sscontl +++|
00150 M01S00150.sscontl +++|
00151 M01S00151.sscontl +++| DKFULL SB2 ESTB BUFFER TO RECEIVE EST ENTRIES
00152 M01S00152.sscontl +++| SB1 1
00153 M01S00153.sscontl +++| SB3 ESTN
00154 M01S00154.sscontl +++| SB4 -B1 READ MASS STORAGE ENTRIES
00155 M01S00155.sscontl +++| RJ =XRDESTC READ EST INTO *ESTB*
00156 M01S00156.sscontl +++| SA5 ESTN
00157 M01S00157.sscontl +++| SB6 X5 SET LAST MASS STORAGE ORDINAL + 1
00158 M01S00158.sscontl +++|
00159 M01S00159.sscontl +++|*SEARCH EST FOR MASS STORAGE DEVICES THAT ARE FULL.
00160 M01S00160.sscontl +++|
00161 M01S00161.sscontl +++|
00162 M01S00162.sscontl +++| DFL1 SB4 B4+B1
00163 M01S00163.sscontl +++| EQ B4,B6,DFL2 IF END OF MASS STORAGE DEVICES
00164 M01S00164.sscontl +++|
00165 M01S00165.sscontl +++| SX1 B4 CALCULATE *ESTB* OFFSET
00166 M01S00166.sscontl +++| R= X6,ESTE
00167 M01S00167.sscontl +++| IX1 X1*X6
00168 M01S00168.sscontl +++| SA1 ESTB+X1+EQDE GET NEXT EST ENTRY
00169 M01S00169.sscontl +++| PL X1,DFL1 IF NOT MASS STORAGE DEVICE
00170 M01S00170.sscontl +++| BX6 X1
00171 M01S00171.sscontl +++| LX6 59-54
00172 M01S00172.sscontl +++| NG X6,DFL1 IF DEVICE UNAVAIBLE FOR ACCESS
00173 M01S00173.sscontl +++| RJ RDM READ MST
00174 M01S00174.sscontl +++| SA2 MSTB+ACGL-TDGL
00175 M01S00175.sscontl +++| LX2 59-4
00176 M01S00176.sscontl +++| NG X2,DFL1 IF ERROR IDLE SET ON DEVICE
00177 M01S00177.sscontl +++| SA2 MSTB+MDGL-TDGL
00178 M01S00178.sscontl +++| LX2 59-58
00179 M01S00179.sscontl +++| NG X2,DFL1 IF AUXILIARY DEVICE
00180 M01S00180.sscontl +++| SA2 MSTB+DULL-TDGL
00181 M01S00181.sscontl +++| LX2 59-11
00182 M01S00182.sscontl +++| NG X2,DFL1 IF FAMILY IDLE DOWN FLAG IS SET
00183 M01S00183.sscontl +++| SA2 MSTB+THLL-TDGL
00184 M01S00184.sscontl +++| LX2 59-35
00185 M01S00185.sscontl +++| NG X2,DFL3 FULL DISK FOUND
00186 M01S00186.sscontl +++| EQ DFL1 CHECK NEXT ENTRY
00187 M01S00187.sscontl +++|
00188 M01S00188.sscontl +++| DFL2 ROLLOUT ADDR
00189 M01S00189.sscontl +++| EQ DKFULL CHECK REASON FOR ROLLIN
00190 M01S00190.sscontl +++|
00191 M01S00191.sscontl +++| DFL3 ENDRUN
00192 M01S00192.sscontl +++|
00193 M01S00193.sscontl +++|
00194 M01S00194.sscontl +++|*** RDM - READ FULL *MST* ENTRY.
00195 M01S00195.sscontl +++|*
00196 M01S00196.sscontl +++|* ENTRY (X1) = EST ENTRY.
00197 M01S00197.sscontl +++|*
00198 M01S00198.sscontl +++|* EXIT (X3) = MST ADDRESS.
00199 M01S00199.sscontl +++|* (MSTA) = MST POINTER PARAMETER.
00200 M01S00200.sscontl +++|* (MSTB) = *MSTN* CONTIGUOUS WORDS STARTING AT *TDGL*
00201 M01S00201.sscontl +++|* OF THE MST ENTRY.
00202 M01S00202.sscontl +++|*
00203 M01S00203.sscontl +++|* USES A - 6, 7.
00204 M01S00204.sscontl +++|* X - 0, 2, 3, 6, 7.
00205 M01S00205.sscontl +++|*
00206 M01S00206.sscontl +++|* MACROS SYSTEM.
00207 M01S00207.sscontl +++|
00208 M01S00208.sscontl +++|
00209 M01S00209.sscontl +++| RDM SUBR ENTRY/EXIT
00210 M01S00210.sscontl +++| MX0 -12
00211 M01S00211.sscontl +++| BX3 -X0*X1 GET ADDRESS OF MST ENTRY
00212 M01S00212.sscontl +++| LX3 3
00213 M01S00213.sscontl +++| SX2 X3+TDGL READ WORD *TDGL* OF MST
00214 M01S00214.sscontl +++| LX2 35-17
00215 M01S00215.sscontl +++| MX7 1
00216 M01S00216.sscontl +++| SA7 MSTB
00217 M01S00217.sscontl +++| SX7 MSTXL NUMBER OF MST ENTRY WORDS TO READ
00218 M01S00218.sscontl +++| LX7 59-23
00219 M01S00219.sscontl +++| BX6 X7+X2
00220 M01S00220.sscontl +++| SX2 MSTB
00221 M01S00221.sscontl +++| BX6 X2+X6
00222 M01S00222.sscontl +++| SA6 MSTA
00223 M01S00223.sscontl +++| SYSTEM RSB,R,A6
00224 M01S00224.sscontl +++| EQ RDMX RETURN
00225 M01S00225.sscontl +++|
00226 M01S00226.sscontl +++|
00227 M01S00227.sscontl +++|
00228 M01S00228.sscontl +++| SSJ= BSS 0 SSJ= PARAMETER BLOCK
00229 M01S00229.sscontl +++| BSSZ 1
00230 M01S00230.sscontl +++| CON 0
00231 M01S00231.sscontl +++| BSSZ SSJL PAD SSJ= PARAMETERS
00232 M01S00232.sscontl +++| BSS 1
00233 M01S00233.sscontl +++|
00234 M01S00234.sscontl +++|
00235 M01S00235.sscontl +++|* BUFFERS
00236 M01S00236.sscontl +++|
00237 M01S00237.sscontl +++| ADDR VFD 24/0,24/LSPE,12/7020B LOW SPACE THRESHOLD/ HOUR TIMER
00238 M01S00238.sscontl +++|
00239 M01S00239.sscontl +++| ESTB BSS ESMX*ESTE EST BUFFER
00240 M01S00240.sscontl +++| ESTN BSS 1 LAST MASS STORAGE ORDINAL + 1
00241 M01S00241.sscontl +++| MSTA BSS 1 MST POINTER PARAMETER WORD
00242 M01S00242.sscontl +++| MSTB BSS MSTXL MST ENTRY BUFFER
00243 M01S00243.sscontl +++|
00244 M01S00244.sscontl +++|
00245 M01S00245.sscontl +++|* COMMON DECKS
00246 M01S00246.sscontl +++|
00247 M01S00247.sscontl +++|*CALL COMSEVT
00248 M01S00248.sscontl +++|*CALL COMCMAC
00249 M01S00249.sscontl +++| USE //
00250 M01S00250.sscontl +++| RFL= BSS 0
00251 M01S00251.sscontl +++| USE *
00252 M01S00252.sscontl +++| END DKFULL