; ; ***** SCCS V01.07 ***** ; ; ***** APG 29-JAN-79 ***** ; ; ***** CTRL/Z OR TO EXIT ***** ; .ENABLE SUBSTITUTION .ENABLE ESCAPE .SETS STAR16 "****************" .SETS SPAC16 " " .SETS SPAC32 SPAC16+SPAC16 .SETS STAR32 SPAC32+STAR16 .SETS STAR80 STAR16+STAR16+STAR16+STAR16+STAR16 .ASK DIALOG DO YOU WANT LONG DIALOG .IFT .GOTO 9999 .SELECT: .IFT DIALOG .GOTO 1 .ASKS [1:7] MODE MODE .IFT .GOTO 9999 .GOTO 2 .1: .ASKS [1:7] MODE ENTER "SCCS" MODE (OPTIONS: EDIT, RESTORE, FREEZE, DCN) .IFT .GOTO 9999 .2: .IF MODE EQ "EDIT" .GOTO 100 .IF MODE EQ "EDI" .GOTO 100 .IF MODE EQ "E" .GOTO 100 .IF MODE EQ "RESTORE" .GOTO 1100 .IF MODE EQ "RST" .GOTO 1100 .IF MODE EQ "R" .GOTO 1100 .IF MODE EQ "FREEZE" .GOTO 2100 .IF MODE EQ "FRZ" .GOTO 2100 .IF MODE EQ "F" .GOTO 2100 .IF MODE EQ "DCN" .GOTO 3100 .IF MODE EQ "D" .GOTO 3100 .GOTO SELECT .100: .IFT DIALOG .GOTO A1 .ASKS [3:9.] MONTH MONTH .IFT .GOTO 9999 .GOTO A2 .A1: .ASKS [3:9.] MONTH ENTER THE CURRENT MONTH .IFT .GOTO 9999 .A2: .SETS CURMTH MONTH[1:3] .JN: .IF CURMTH NE "JAN" .GOTO FB .SETS MONTH "JANUARY" .GOTO 200 .FB: .IF CURMTH NE "FEB" .GOTO MR .SETS MONTH "FEBRUARY" .GOTO 200 .MR: .IF CURMTH NE "MAR" .GOTO AP .SETS MONTH "MARCH" .GOTO 200 .AP: .IF CURMTH NE "APR" .GOTO MY .SETS MONTH "APRIL" .GOTO 200 .MY: .IF CURMTH NE "MAY" .GOTO JU .GOTO 200 .JU: .IF CURMTH NE "JUN" .GOTO JL .SETS MONTH "JUNE" .GOTO 200 .JL: .IF CURMTH NE "JUL" .GOTO AU .SETS MONTH "JULY" .GOTO 200 .AU: .IF CURMTH NE "AUG" .GOTO SP .SETS MONTH "AUGUST" .GOTO 200 .SP: .IF CURMTH NE "SEP" .GOTO OC .SETS MONTH "SEPTEMBER" .GOTO 200 .OC: .IF CURMTH NE "OCT" .GOTO NV .SETS MONTH "OCTOBER" .GOTO 200 .NV: .IF CURMTH NE "NOV" .GOTO DC .SETS MONTH "NOVEMBER" .GOTO 200 .DC: .IF CURMTH NE "DEC" .GOTO 100 .SETS MONTH "DECEMBER" .200: .IFT DIALOG .GOTO B1 .ASKN [1:31.] DATE DAY .IFT .GOTO 9999 .GOTO B2 .B1: .ASKN [1:31.] DATE ENTER TODAY''S DATE IN 'MONTH' .IFT .GOTO 9999 .B2: .SETS CURDAY "'DATE'" .IFT DIALOG .GOTO C1 .ASKS [1:3] INITS INITIALS .IFT .GOTO 9999 .GOTO C2 .C1: .ASKS [1:3] INITS ENTER YOUR INITIALS .IFT .GOTO 9999 .C2: .SETS AUDIT CURMTH+CURDAY+INITS .300: .IFT DIALOG .GOTO DD1 .ASK EDOPTN USE "EDT" .IFT .GOTO 9999 .GOTO DD2 .DD1: .ASK EDOPTN DO YOU WANT TO EDIT WITH "EDT" .IFT .GOTO 9999 .DD2: .SETS EDITOR "EDI" .IFT EDOPTN .SETS EDITOR "EDT" .IFT DIALOG .GOTO D1 .ASKS [1:9.] EDNAME MODULE NAME .IFT .GOTO 9999 .GOTO D2 .D1: .ASKS [1:9.] EDNAME ENTER THE NAME OF THE MODULE TO BE EDITED .IFT .GOTO 9999 .D2: .IFT DIALOG .GOTO E1 .ASKS [1:3] EDTYPE EXTENSION .IFT .GOTO 9999 .GOTO E2 .E1: .ASKS [1:3] EDTYPE ENTER THE FILE EXTENSION FOR "'EDNAME'" .IFT .GOTO 9999 .E2: .IFT DIALOG .GOTO F1 .ASK INCLUD AUDIT TRAIL .IFT .GOTO 9999 .GOTO F2 .F1: .ASK INCLUD DO YOU WANT TO INCLUDE AN AUDIT TRAIL IN THE UPDATED MODULE .IFT .GOTO 9999 .F2: .IFF INCLUD .GOTO 400 .IFT DIALOG .GOTO G1 .ASKN [64.:72.:64.] COLNO @COLUMN .IFT .GOTO 9999 .GOTO G2 .G1: .ASKN [64.:72.:64.] COLNO ENTER THE COLUMN # FOR THE AUDIT TRAIL .IFT .GOTO 9999 .G2: .400: CPY 'EDNAME'.TMP;1='EDNAME'.'EDTYPE' CPY 'EDNAME'.SAV;1='EDNAME'.'EDTYPE';1/RE CPY 'EDNAME'.SAV;1/PR/SY:R/OW:R/GR:R/WO:R CPY 'EDNAME'.'EDTYPE';1='EDNAME'.SAV;1 ; ; ; 'EDITOR' 'EDNAME'.'EDTYPE' ; ; ; .OPEN 'EDNAME'.HDR .IFF INCLUD .GOTO 500 .ENABLE DATA #0 'EDNAME'.'EDTYPE'/AU:'COLNO'.:9.='EDNAME'.'EDTYPE'/-BF .DISABLE DATA #0 .GOTO 600 .500: .ENABLE DATA #0 'EDNAME'.'EDTYPE'/-AU='EDNAME'.'EDTYPE' .DISABLE DATA #0 .600: .CLOSE #0 CMP 'EDNAME'.FIX/SL:'AUDIT'='EDNAME'.TMP,'EDNAME'.'EDTYPE' CPY 'EDNAME'.COR='EDNAME'.HDR,'EDNAME'.FIX CPY 'EDNAME'.FIX;*,'EDNAME'.HDR;*,'EDNAME'.'EDTYPE';*/DE CPY 'EDNAME'.'EDTYPE';2='EDNAME'.TMP/RE SLP @'EDNAME'.COR CPY 'EDNAME'.'EDTYPE'/PU CPY 'EDNAME'.'EDTYPE';1='EDNAME'.SAV;1/RE CPY 'EDNAME'.'EDTYPE';2='EDNAME'.'EDTYPE'/RE CPY 'EDNAME'.'EDTYPE';2,'EDNAME'.COR/TR CPY 'EDNAME'.COR/PR/SY:R/OW:R/GR:R/WO:R ; ; ***** UPDATE OF "'EDNAME'.'EDTYPE'" COMPLETE ***** ; .IFT DIALOG .GOTO H1 .ASK MOREDI MORE .IFT .GOTO 9999 .GOTO H2 .H1: .ASK MOREDI ANY MORE FILES TO BE EDITED .IFT .GOTO 9999 .H2: .IFT MOREDI .GOTO 300 .GOTO SELECT .1100: .IFT DIALOG .GOTO I1 .ASKS [1:9.] RSTNAM MODULE NAME .IFT .GOTO 9999 .GOTO I2 .I1: .ASKS [1:9.] RSTNAM ENTER THE NAME OF THE MODULE TO BE RESTORED .IFT .GOTO 9999 .I2: .IFT DIALOG .GOTO J1 .ASKS [1:3] RSTTYP EXTENSION .IFT .GOTO 9999 .GOTO J2 .J1: .ASKS [1:3] RSTTYP ENTER THE FILE EXTENSION FOR "'RSTNAM'" .IFT .GOTO 9999 .J2: .IFF DIALOG .GOTO K1 ; ; THE NEXT 2 QUESTIONS RELATE TO THE LEVEL TO WHICH YOU WANT "'RSTNAM'" ; RESTORED. YOU NEED A LISTING OF THE CORRECTION SETS FOR "'RSTNAM'" ; AND FROM IT DETERMINE THE VERSION NUMBER OF THE LATEST CORRECTION ; SET THROUGH WHICH YOU WANT TO HAVE "'RSTNAM'" RESTORED. ONCE YOU ; HAVE THIS INFORMATION ENTER IT IN RESPONSE TO THE VERSION NUMBER ; QUESTION. ; .ASK LIST DO YOU WANT TO SEE A LIST OF THE CORRECTION SETS FOR "'RSTNAM'" .IFT .GOTO 9999 .GOTO K2 .K1: .ASK LIST LIST CORRECTION SETS .IFT .GOTO 9999 .K2: .IFF LIST .GOTO 1200 CPY 'RSTNAM'.COR;*/LI .1200: .IFT DIALOG .GOTO L1 .ASKN [1:377] RSTVER RESTORATION VERSION .IFT .GOTO 9999 .GOTO L2 .L1: .ASKN [1:377] RSTVER ENTER THE VERSION # OF THE CORRECTION SET TO BE APPLIED .IFT .GOTO 9999 .L2: CPY 'RSTNAM'.SAV;1='RSTNAM'.'RSTTYP';1/RE CPY 'RSTNAM'.SAV;2='RSTNAM'.'RSTTYP';2/RE CPY 'RSTNAM'.'RSTTYP';1='RSTNAM'.SAV;1 .SETN VERNO 0 .1300: .INC VERNO SLP @'RSTNAM'.COR;'VERNO' .IF VERNO GE RSTVER .GOTO 1400 .GOTO 1300 .1400: CPY 'RSTNAM'.'RSTTYP'/PU .INC VERNO CPY 'RSTNAM'.RST;'VERNO'='RSTNAM'.'RSTTYP';'VERNO'/RE CPY 'RSTNAM'.RST;'VERNO'/TR CPY 'RSTNAM'.'RSTTYP';1='RSTNAM'.SAV;1/RE CPY 'RSTNAM'.'RSTTYP';2='RSTNAM'.SAV;2/RE ; ; ***** RESTORATION OF "'RSTNAM'.'RSTTYP'" COMPLETE ***** ; ; THE RESTORED VERSION OF "'RSTNAM'.'RSTTYP'" IS AVAILABLE AS: ; ; ***** 'RSTNAM'.RST;'VERNO' ***** ; ; IN YOUR DIRECTORY. ; .IFT DIALOG .GOTO M1 .ASK MORRST MORE .IFT .GOTO 9999 .GOTO M2 .M1: .ASK MORRST ANY MORE MODULES TO BE RESTORED .IFT .GOTO 9999 .M2: .IFT MORRST .GOTO 1100 .GOTO SELECT .2100: .IFT DIALOG .GOTO N1 .ASKS [1:9.] FRZNAM MODULE NAME .IFT .GOTO 9999 .GOTO N2 .N1: .ASKS [1:9.] FRZNAM ENTER THE NAME OF THE MODULE TO BE FROZEN .IFT .GOTO 9999 .N2: .IFT DIALOG .GOTO O1 .ASKS [1:3] FRZTYP EXTENSION .IFT .GOTO 9999 .GOTO O2 .O1: .ASKS [1:3] FRZTYP ENTER THE FILE EXTENSION FOR "'FRZNAM'" .IFT .GOTO 9999 .O2: .IFF DIALOG .GOTO P1 .2200: ; ; THE NEXT 3 QUESTIONS RELATE TO THE LEVEL AT WHICH YOU WANT "'FRZNAM'" ; FROZEN. THIS USUALLY WILL BE THE LATEST (HIGHEST) CORRECTION LEVEL BUT ; CAN BE ANY LEVEL THAT YOU CHOOSE. BEAR IN MIND, HOWEVER, THAT IF YOU DO ; NOT FREEZE AT THE HIGHEST (LATEST) LEVEL, THE CORRECTION SETS REMAINING ; WILL BE REORDERED (RENUMBERED) TO MAINTAIN INTERNAL CONSISTENCY. IN ; ORDER TO SELECT THE FREEZE LEVEL YOU NEED A LISTING OF THE CORRECTION ; SETS FOR "'FRZNAM'" AND FROM IT DETERMINE THE VERSION NUMBER OF THE ; CORRECTION SET AT WHICH YOU WISH TO FREEZE "'FRZNAM'" AND THE HIGHEST ; VERSION NUMBER OVER ALL OF THE CORRECTION SETS FOR "'FRZNAM'". ONCE ; YOU HAVE THIS INFORMATION, ENTER IT IN RESPONSE TO THE VERSION NUMBER ; QUESTIONS. ; .ASK LIST DO YOU WANT TO SEE A LIST OF THE CORRECTION SETS FOR "'FRZNAM'" .IFT .GOTO 9999 .GOTO P2 .P1: .ASK LIST LIST CORRECTION SETS .IFT .GOTO 9999 .P2: .IFF LIST .GOTO 2300 CPY 'FRZNAM'.COR;*/LI .2300: .IFT DIALOG .GOTO Q1 .ASKN [1:377] FRZVER FREEZE VERSION .IFT .GOTO 9999 .GOTO Q2 .Q1: .ASKN [1:377] FRZVER ENTER THE VERSION # OF THE FREEZE CORRECTION SET .IFT .GOTO 9999 .Q2: .IFT DIALOG .GOTO R1 .ASKN [1:377] HIVER HIGHEST VERSION .IFT .GOTO 9999 .GOTO R2 .R1: .ASKN [1:377] HIVER ENTER THE VERSION # OF THE HIGHEST CORRECTION SET .IFT .GOTO 9999 .R2: .IF HIVER LT FRZVER .GOTO 2200 CPY 'FRZNAM'.'FRZTYP';1,'FRZNAM'.COR;*/PR:0 CPY 'FRZNAM'.TMP;1='FRZNAM'.'FRZTYP';1/RE CPY 'FRZNAM'.'FRZTYP';2/DE .SETN VERNO 0 .2400: .INC VERNO .OPEN 'FRZNAM'.SLP;1 .ENABLE DATA #0 'FRZNAM'.MOD;1/-AU='FRZNAM'.COR;'VERNO' -1,1 'FRZNAM'.TMP/-AU='FRZNAM'.TMP / .DISABLE DATA #0 .CLOSE #0 SLP @'FRZNAM'.SLP SLP @'FRZNAM'.MOD CPY 'FRZNAM'.SLP;1,'FRZNAM'.MOD;1,'FRZNAM'.COR;'VERNO'/DE .IF VERNO GE FRZVER .GOTO 2500 .GOTO 2400 .2500: CPY 'FRZNAM'.TMP/PU CPY 'FRZNAM'.'FRZTYP';1='FRZNAM'.TMP/RE .IF HIVER EQ FRZVER .GOTO 2800 .SETN NEWVER 0 .2600: .INC VERNO .INC NEWVER SLP @'FRZNAM'.COR;'VERNO' CPY 'FRZNAM'.COR;'NEWVER'='FRZNAM'.COR;'VERNO'/RE .IF VERNO GE HIVER .GOTO 2700 .GOTO 2600 .2700: CPY 'FRZNAM'.TMP;1='FRZNAM'.'FRZTYP';1/RE CPY 'FRZNAM'.'FRZTYP'/PU CPY 'FRZNAM'.'FRZTYP';2='FRZNAM'.'FRZTYP'/RE CPY 'FRZNAM'.'FRZTYP';1='FRZNAM'.TMP;1/RE CPY 'FRZNAM'.COR;*/PR/SY:R/OW:R/GR:R/WO:R .2800: CPY 'FRZNAM'.'FRZTYP';*/TR CPY 'FRZNAM'.'FRZTYP';1/PR/SY:R/OW:R/GR:R/WO:R ; ; ***** FREEZE ON "'FRZNAM'.'FRZTYP'" COMPLETE ***** ; .IFT DIALOG .GOTO S1 .ASK MORFRZ MORE .IFT .GOTO 9999 .GOTO S2 .S1: .ASK MORFRZ ANY MORE MODULES TO FREEZE .IFT .GOTO 9999 .S2: .IFT MORFRZ .GOTO 2100 .GOTO SELECT .3100: .IFF DIALOG .GOTO T1 ; ; DCN MODE PRESUMES THE EXISTENCE OF THE ONE OR MORE CORRECTION SETS ; WHICH TAKEN TOGETHER WILL COMPRISE THE DCN FOR AN INDIVIDUAL MOD- ; ULE. IF THESE CORRECTION SETS DO NOT CURRENTLY EXIST YOU MUST CRE- ; ATE THEM IN EDIT MODE. THEY CANNOT BE CREATED IN DCN MODE. ; .ASK REVERT DO YOU WANT TO GO TO EDIT MODE .IFT .GOTO 9999 .IFT REVERT .GOTO 100 .T1: .IFT DIALOG .GOTO U1 .ASKS [5:5] DCNNO DCN # .IFT .GOTO 9999 .GOTO U2 .U1: .ASKS [5:5] DCNNO ENTER THE DCN DOCUMENT # .IFT .GOTO 9999 .U2: .SETS AUDIT "DCN'DCNNO'" .OPEN 'DCNNO'.DCN .CLOSE #0 .OPEN 'AUDIT'.TXT .ENABLE DATA #0 'STAR80' 'STAR80' 'SPAC16' 'STAR32' 'SPAC16''SPAC16'* DCN #'DCNNO' * 'STAR32' 'SPAC16' 'STAR80' 'SPAC16' DESIGN CHANGE NOTICE #'DCNNO' HAS BEEN INCORPORATED. DCN #'DCNNO' AFFECTS THE FOLLOWING MODULES: 'SPAC16' .DISABLE DATA #0 .3200: .IFT DIALOG .GOTO V1 .ASKS [1:9.] DCNNAM MODULE NAME .IFT .GOTO 3900 .GOTO V2 .V1: .ASKS [1:9.] DCNNAM ENTER THE NAME OF THE MODULE TO BE "DCN"ED .IFT .GOTO 3900 .V2: .IFT DIALOG .GOTO W1 .ASKS [1:3] DCNTYP EXTENSION .IFT .GOTO 3900 .GOTO W2 .W1: .ASKS [1:3] DCNTYP ENTER THE FILE EXTENSION FOR "'DCNNAM'" .IFT .GOTO 3900 .W2: .IFF DIALOG .GOTO X1 ; ; THE NEXT 2 QUESTIONS RELATE TO THE LEVEL AT WHICH YOU WANT TO DCN ; "'DCNNAM'". THIS USUALLY WILL BE THE LATEST (HIGHEST) CORRECTION ; LEVEL BUT CAN BE ANY LEVEL YOU CHOOSE. IN ORDER TO SELECT THE DCN ; LEVEL YOU NEED A LISTING OF THE CORRECTION SETS FOR "'DCNNAM'" AND ; FROM IT DETERMINE THE VERSION NUMBER OF THE CORRECTION SET AT WHICH ; YOU WISH TO APPLY A DCN. ONCE YOU HAVE THIS INFORMATION, ENTER IT IN ; RESPONSE TO THE VERSION NUMBER QUESTION. ; .ASK LIST DO YOU WANT TO SEE A LIST OF THE CORRECTION SETS FOR "'DCNNAM'" .IFT .GOTO 3900 .GOTO X2 .X1: .ASK LIST LIST CORRECTION SETS .IFT .GOTO 3900 .X2: .IFF LIST .GOTO 3300 CPY 'DCNNAM'.COR;*/LI .3300: .IFT DIALOG .GOTO Y1 .ASKN [1:377] DCNVER DCN VERSION .IFT .GOTO 3900 .GOTO Y2 .Y1: .ASKN [1:377] DCNVER ENTER THE VERSION # OF THE DCN CORRECTION SET .IFT .GOTO 3900 .Y2: .ENABLE DATA #0 'SPAC32''DCNNAM'.'DCNTYP' AT CORRECTION LEVEL 'DCNVER' 'SPAC16' .DISABLE DATA #0 .IFT DIALOG .GOTO Z1 .ASK INCLUD AUDIT TRAIL .IFT .GOTO 3900 .GOTO Z2 .Z1: .ASK INCLUD DO YOU WANT TO INCLUDE AN AUDIT TRAIL IN THE "DCN"ED MODULE .IFT .GOTO 3900 .Z2: .IFF INCLUD .GOTO 3400 .IFT DIALOG .GOTO AA1 .ASKN [64.:72.:64.] COLNO @COLUMN .IFT .GOTO 3900 .GOTO AA2 .AA1: .ASKN [64.:72.:64.] COLNO ENTER THE COLUMN NUMBER FOR THE AUDIT TRAIL .IFT .GOTO 3900 .AA2: .3400: CPY 'DCNNAM'.TMP;1='DCNNAM'.'DCNTYP';1 .SETN VERNO 0 .3500: .INC VERNO .OPEN #1 'DCNNAM'.SLP;1 .ENABLE DATA #1 'DCNNAM'.MOD;1/-AU='DCNNAM'.COR;'VERNO' -1,1 'DCNNAM'.TMP/-AU='DCNNAM'.TMP / .DISABLE DATA #1 .CLOSE #1 SLP @'DCNNAM'.SLP SLP @'DCNNAM'.MOD CPY 'DCNNAM'.SLP;1,'DCNNAM'.MOD;1/DE .IF VERNO GE DCNVER .GOTO 3600 .GOTO 3500 .3600: CPY 'DCNNAM'.TMP/PU .OPEN #1 'DCNNAM'.HDR;1 .IFF INCLUD .GOTO 3700 .ENABLE DATA #1 'DCNNAM'.'DCNTYP'/AU:'COLNO'.:9.='DCNNAM'.'DCNTYP'/-BF .DISABLE DATA #1 .GOTO 3800 .3700: .ENABLE DATA #1 'DCNNAM'.'DCNTYP'/-AU='DCNNAM'.'DCNTYP' .DISABLE DATA #1 .3800: .CLOSE #1 CMP 'DCNNAM'.FIX;1/SL:'AUDIT'='DCNNAM'.'DCNTYP';1,'DCNNAM'.TMP CPY 'DCNNAM'.CHG;1='DCNNAM'.HDR;1,'DCNNAM'.FIX;1 CPY 'DCNNAM'.HDR;1,'DCNNAM'.FIX;1,'DCNNAM'.TMP;*/DE CPY 'DCNNO'.DCN='DCNNAM'.CHG;1/AP CPY 'DCNNO'.DCN/TR CPY 'DCNNAM'.CHG;1/DE ; ; ***** DCN FOR MODULE "'DCNNAM'.'DCNTYP'" COMPLETE ***** ; .IFT DIALOG .GOTO BB1 .ASK MORDCN MORE UNDER DCN # 'DCNNO' .IFT .GOTO 3900 .GOTO BB2 .BB1: .ASK MORDCN ANY MORE MODULES TO DCN UNDER # 'DCNNO' .IFT .GOTO 3900 .BB2: .IFT MORDCN .GOTO 3200 ; ; ***** APPLICATION OF DCN # 'DCNNO' COMPLETE ***** ; ; THE DCN FILE IS AVAILABLE AS: ; ; ***** "'DCNNO'.DCN" ***** ; ; IN YOUR DIRECTORY. ; .ENABLE DATA #0 'STAR80' .DISABLE DATA #0 .CLOSE #0 CPY 'AUDIT'.TXT/SP .IFT DIALOG .GOTO CC1 .ASK NEWDCN MORE DCNS .IFT .GOTO 9999 .GOTO CC2 .CC1: .ASK NEWDCN ANY MORE DCNS TO APPLY .IFT .GOTO 9999 .CC2: .IFT NEWDCN .GOTO 3100 .GOTO SELECT .3900: .CLOSE #0 CPY 'AUDIT'.TXT;0,'DCNNO'.DCN;0/DE .9999: ; ; ***** EXITING "SCCS" ***** ;