;
;                    *****     SCCS  V02.03     *****
;
;                    *****     APG 20-MAR-80     *****
;
;               *****     CTRL/Z OR <ESCAPE> TO EXIT     *****
;
.ENABLE GLOBAL
.ENABLE SUBSTITUTION
.ENABLE ESCAPE
.IFINS PIP .GOTO 1
;
;     !!!!! PIP NOT INSTALLED !!!!!
;
.GOTO 9999
.1:
.IFINS SLP .GOTO 2
;
;     !!!!! SLP NOT INSTALLED !!!!!
;
.GOTO 9999
.2:
.IFINS CMP .GOTO 3
;
;     !!!!! CMP NOT INSTALLED !!!!!
;
.GOTO 9999
.3:
.ENABLE QUIET
.SETS STAR16 "****************"
.SETS SPAC16 "                "
.SETS SPAC32 SPAC16+SPAC16
.SETS STAR32 SPAC32+STAR16
.SETS STAR80 STAR16+STAR16+STAR16+STAR16+STAR16
.SETN OK 1
.TESTFILE PRESTORED.RPY
.IF <FILERR> NE OK .GOTO SELECT
.DISABLE QUIET
;
;               ***** SCCS DEFAULTING TO EDIT MODE *****
;
;     TYPING <ESCAPE> IN RESPONSE TO NEXT QUESTION PRESENTS MODE OPTIONS
;
.ENABLE QUIET
.GOTO 117
;
;
;
;
;
;     MODE SELECTION
;
;
;
;
;
.SELECT:
.ASKS [1:7] MODE ENTER "SCCS" MODE (OPTIONS: EDIT, RESTORE, FREEZE, SCO)
.IFT <ESCAPE> .GOTO 9999
.IF MODE EQ "EDIT" .GOTO EDITIT
.IF MODE EQ "EDI" .GOTO EDITIT
.IF MODE EQ "E" .GOTO EDITIT
.IF MODE EQ "RESTORE" .GOTO RSTRIT
.IF MODE EQ "RST" .GOTO RSTRIT
.IF MODE EQ "R" .GOTO RSTRIT
.IF MODE EQ "FREEZE" .GOTO FRZIT
.IF MODE EQ "FRZ" .GOTO FRZIT
.IF MODE EQ "F" .GOTO FRZIT
.IF MODE EQ "SCO" .GOTO SCOIT
.IF MODE EQ "S" .GOTO SCOIT
.DISABLE QUIET
;
;     !!!!! UNRECOGNIZED MODE !!!!!
;
.ENABLE QUIET
.GOTO SELECT
;
;
;
;
;
;     EDIT MODE
;
;
;
;
;
.EDITIT:
.TESTFILE PRESTORED.RPY
.IF <FILERR> EQ OK .GOTO 117
.DISABLE QUIET
;
;     YOU HAVE THE OPTION OF CREATING A FILE OF PRESTORED REPLIES
;     FOR OPERATIONS IN EDIT MODE. IF SELECTED, THE FILE OF PRE-
;     STORED REPLIES WILL AUTOMATICALLY SUPPLY THE ANSWERS TO THE
;     REPETITIVE QUESTIONS WHICH FOLLOW.
;
.ENABLE QUIET
.ASK PRESTR DO YOU WANT TO CREATE A FILE OF PRESTORED REPLIES
.IFT <ESCAPE> .GOTO 9999
.OPEN #0 PRESTORED.TMP
.DATA #0 .ENABLE GLOBAL
.ASK $DILOG DO YOU WANT LONG DIALOG
.IFT <ESCAPE> .GOTO 116
.IFT $DILOG .GOTO 101
.DATA #0 .SETF $DILOG
.GOTO 102
.101:
.DATA #0 .SETT $DILOG
.102:
.IFT $DILOG .GOTO 103
.ASKS [2:3] $INITS INITIALS
.IFT <ESCAPE> .GOTO 116
.GOTO 104
.103:
.ASKS [2:3] $INITS ENTER YOUR INITIALS
.IFT <ESCAPE> .GOTO 116
.104:
.DATA #0 .SETS $INITS "'$INITS'"
.105:
.SETS $EDITR ""
.SETF EDITOK
.IFT $DILOG .GOTO 106
.ASKS [0:4] $EDITR SELECT EDITOR
.IFT <ESCAPE> .GOTO 116
.GOTO 107
.106:
.DISABLE QUIET
;
;     YOU MAY CHOOSE ANY ONE OF THE FOUR DEC EDITORS FOR TEXT MANIPULATION,
;     VIZ., "EDI", "EDT", "TECO", OR "KED". ENTER YOUR CHOICE IN RESPONSE
;     TO THE NEXT QUESTION. A DEFAULT RESPONSE <CR> SELECTS "EDI".
;
.ENABLE QUIET
.ASKS [0:4] $EDITR ENTER YOUR CHOICE FOR TEXT EDITOR
.IFT <ESCAPE> .GOTO 116
.107:
.IF $EDITR EQ "" .SETS $EDITR "EDI"
.IF $EDITR EQ "TECO" .SETS $EDITR "TEC"
.IF $EDITR EQ "EDI" .SETT EDITOK
.IF $EDITR EQ "EDT" .SETT EDITOK
.IF $EDITR EQ "TEC" .SETT EDITOK
.IF $EDITR EQ "KED" .SETT EDITOK
.IFF EDITOK .GOTO 105
.DATA #0 .SETS $EDITR "'$EDITR'"
.IFT $DILOG .GOTO 108
.ASK $INCLU AUDIT TRAIL
.IFT <ESCAPE> .GOTO 116
.GOTO 109
.108:
.ASK $INCLU DO YOU WANT TO INCLUDE AN AUDIT TRAIL IN THE UPDATED MODULE(S)
.IFT <ESCAPE> .GOTO 116
.109:
.IFT $INCLU .GOTO 110
.DATA #0 .SETF $INCLU
.GOTO 111
.110:
.DATA #0 .SETT $INCLU
.111:
.IFF $INCLU .GOTO 114
.IFT $DILOG .GOTO 112
.ASKN [64.:112.:72.] $COLNO @COLUMN
.IFT <ESCAPE> .GOTO 116
.GOTO 113
.112:
.ASKN [64.:112.:72.] $COLNO ENTER THE COLUMN # FOR THE AUDIT TRAIL
.IFT <ESCAPE> .GOTO 116
.113:
.DATA #0 .SETN $COLNO '$COLNO'.
.114:
.CLOSE #0
.IFT PRESTR .GOTO 115
PIP PRESTORED.TMP;1/DE/NM
.GOTO 118
.115:
PIP PRESTORED.RPY;1/DE/NM
PIP PRESTORED.RPY;1=PRESTORED.TMP/RE
PIP PRESTORED.TMP;*/DE/NM
PIP PRESTORED.RPY;1/TR
.GOTO 118
.116:
.CLOSE #0
PIP PRESTORED.TMP;1/DE/NM
.GOTO 9999
.117:
@PRESTORED.RPY
.118:
.IFINS '$EDITR' .GOTO 119
.DISABLE QUIET
;
;     !!!!! '$EDITR' NOT INSTALLED !!!!!
;
.ENABLE QUIET
.GOTO 9999
.119:
.SETF NEWFIL
.SETS AUDIT <DATE>[4:6]+<DATE>[1:2]+$INITS
.120:
.IFT $DILOG .GOTO 121
.ASKS [3:13.] MODULE MODULE
.IFT <ESCAPE> .GOTO SELECT
.GOTO 122
.121:
.ASKS [3:13.] MODULE ENTER THE NAME OF THE MODULE TO BE EDITED
.IFT <ESCAPE> .GOTO SELECT
.122:
.PARSE MODULE "." EDNAME EDTYPE
.TEST EDNAME
.IF <STRLEN> GT 9. .OR .IF <STRLEN> LT 1 .OR .IFF <ALPHAN> .GOTO 123
.TEST EDTYPE
.IF <STRLEN> GT 3 .OR .IF <STRLEN> LT 1 .OR .IFF <ALPHAN> .GOTO 123
.GOTO 124
.123:
.DISABLE QUIET
;
;     !!!!! BAD FILE NAME - 'EDNAME'.'EDTYPE' !!!!!
;
.ENABLE QUIET
.GOTO 120
.124:
.TESTFILE 'EDNAME'.'EDTYPE';1
.IF <FILERR> NE OK .SETT NEWFIL
.IFT NEWFIL .GOTO 126
.TESTFILE 'EDNAME'.COR
.IF <FILERR> NE OK .GOTO 125
.TESTFILE 'EDNAME'.'EDTYPE';2
.IF <FILERR> EQ OK .GOTO 125
.DISABLE QUIET
;
;     !!!!! LATEST VERSION MISSING - 'EDNAME'.'EDTYPE';2 !!!!!
;
;          !!!!! SWITCHING TO RESTORE MODE !!!!!
;
.ENABLE QUIET
.GOTO RSTRIT
.125:
PIP 'EDNAME'.TMP;1='EDNAME'.'EDTYPE'
PIP 'EDNAME'.SAV;1='EDNAME'.'EDTYPE';1/RE
PIP 'EDNAME'.'EDTYPE';1='EDNAME'.SAV;1
.126:
.DISABLE QUIET
'$EDITR' 'EDNAME'.'EDTYPE'
;<WORKING>
.ENABLE QUIET
.IFT NEWFIL .GOTO 129
.OPEN 'EDNAME'.HDR
.IFF $INCLU .GOTO 127
.ENABLE DATA #0
'EDNAME'.'EDTYPE'/AU:'$COLNO'.:9.='EDNAME'.'EDTYPE'/-BF
.DISABLE DATA #0
.GOTO 128
.127:
.ENABLE DATA #0
'EDNAME'.'EDTYPE'/-AU='EDNAME'.'EDTYPE'
.DISABLE DATA #0
.128:
.CLOSE #0
CMP 'EDNAME'.FIX/SL:'AUDIT'='EDNAME'.TMP,'EDNAME'.'EDTYPE'
PIP 'EDNAME'.COR='EDNAME'.HDR,'EDNAME'.FIX
PIP 'EDNAME'.FIX;*,'EDNAME'.HDR;*,'EDNAME'.'EDTYPE';*/DE
PIP 'EDNAME'.'EDTYPE';2='EDNAME'.TMP/RE
SLP @'EDNAME'.COR
PIP 'EDNAME'.'EDTYPE'/PU
PIP 'EDNAME'.'EDTYPE';1='EDNAME'.SAV;1/RE
PIP 'EDNAME'.'EDTYPE';2='EDNAME'.'EDTYPE'/RE
PIP 'EDNAME'.'EDTYPE';2,'EDNAME'.COR/TR
PIP 'EDNAME'.COR/PR/SY:R/OW:R/GR:R/WO:R
.129:
.IFF NEWFIL .GOTO 134
.IFT $DILOG .GOTO 130
.ASK RETAIN RETAIN 'EDNAME'.'EDTYPE';1
.IFT <ESCAPE> .GOTO 132
.GOTO 131
.130:
.ASK RETAIN DO YOU WISH TO RETAIN 'EDNAME'.'EDTYPE';1
.IFT <ESCAPE> .GOTO 132
.131:
.IFT RETAIN .GOTO 133
.132:
PIP 'EDNAME'.'EDTYPE';1/DE
.GOTO 135
.133:
PIP 'EDNAME'.'EDTYPE';1/TR
PIP 'EDNAME'.'EDTYPE';1/PR/SY:R/OW:R/GR:R/WO:R
.GOTO 135
.134:
.DISABLE QUIET
;
;     *****     UPDATE OF "'EDNAME'.'EDTYPE'" COMPLETE     *****
;
.ENABLE QUIET
.135:
.IFT $DILOG .GOTO 136
.ASK MOREDI MORE
.IFT <ESCAPE> .GOTO 9999
.GOTO 137
.136:
.ASK MOREDI ANY MORE FILES TO BE EDITED
.IFT <ESCAPE> .GOTO 9999
.137:
.IFT MOREDI .GOTO 119
.GOTO SELECT
;
;
;
;
;
;     RESTORE MODE
;
;
;
;
;
.RSTRIT:
.ASK $DILOG DO YOU WANT LONG DIALOG
.IFT <ESCAPE> .GOTO 9999
.1101:
.IFT $DILOG .GOTO 1102
.ASKS [3:13.] MODULE MODULE
.IFT <ESCAPE> .GOTO 9999
.GOTO 1103
.1102:
.ASKS [3:13.] MODULE ENTER THE NAME OF THE MODULE TO BE RESTORED
.IFT <ESCAPE> .GOTO 9999
.1103:
.PARSE MODULE "." RSTNAM RSTTYP
.TEST RSTNAM
.IF <STRLEN> GT 9. .OR .IF <STRLEN> LT 1 .OR .IFF <ALPHAN> .GOTO 1104
.TEST RSTTYP
.IF <STRLEN> GT 3 .OR .IF <STRLEN> LT 1 .OR .IFF <ALPHAN> .GOTO 1104
.GOTO 1105
.1104:
.DISABLE QUIET
;
;     !!!!! BAD FILE NAME - 'RSTNAM'.'RSTTYP' !!!!!
;
.ENABLE QUIET
.GOTO 1101
.1105:
.TESTFILE 'RSTNAM'.'RSTTYP';1
.IF <FILERR> EQ OK .GOTO 1106
.DISABLE QUIET
;
;     !!!!! NO SUCH FILE - 'RSTNAM'.'RSTTYP';1 !!!!!
;
.ENABLE QUIET
.GOTO 1101
.1106:
.IFF $DILOG .GOTO 1107
.DISABLE QUIET
;
;     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.
;
.ENABLE QUIET
.ASK LIST DO YOU WANT TO SEE A LIST OF THE CORRECTION SETS FOR "'RSTNAM'"
.IFT <ESCAPE> .GOTO 9999
.GOTO 1108
.1107:
.ASK LIST LIST CORRECTION SETS
.IFT <ESCAPE> .GOTO 9999
.1108:
.IFF LIST .GOTO 1109
PIP 'RSTNAM'.COR;*/LI
.1109:
.IFT $DILOG .GOTO 1110
.ASKN [1:377] RSTVER RESTORATION VERSION
.IFT <ESCAPE> .GOTO 9999
.GOTO 1111
.1110:
.ASKN [1:377] RSTVER ENTER THE VERSION # OF THE CORRECTION SET TO BE APPLIED
.IFT <ESCAPE> .GOTO 9999
.1111:
.TESTFILE 'RSTNAM'.COR;'RSTVER'
.IF <FILERR> EQ OK .GOTO 1112
.DISABLE QUIET
;
;     !!!!! NO SUCH VERSION OF 'RSTNAM'.'RSTTYP' !!!!!
;
.ENABLE QUIET
.GOTO 1106
.1112:
.DISABLE QUIET
;<WORKING>
.ENABLE QUIET
.SETN VERNO 0
.1113:
.INC VERNO
.TESTFILE 'RSTNAM'.COR;'VERNO'
.IF <FILERR> EQ OK .GOTO 1114
.DISABLE QUIET
;
;     !!!!! CORRECTION SET @ LEVEL 'VERNO' FOR 'RSTNAM'.'RSTTYP' MISSING !!!!!
;
;		!!!!! RESTORE PROCESS ABORTED !!!!!
;
.ENABLE QUIET
.GOTO 9999
.1114:
.IF VERNO LT RSTVER .GOTO 1113
PIP 'RSTNAM'.SAV;1='RSTNAM'.'RSTTYP';1/RE
PIP 'RSTNAM'.SAV;2='RSTNAM'.'RSTTYP';2/RE/NM
PIP 'RSTNAM'.'RSTTYP';1='RSTNAM'.SAV;1
.SETN VERNO 0
.1115:
.INC VERNO
SLP @'RSTNAM'.COR;'VERNO'
.IF VERNO LT RSTVER .GOTO 1115
PIP 'RSTNAM'.'RSTTYP'/PU
.INC VERNO
PIP 'RSTNAM'.RST;'VERNO'/DE/NM
PIP 'RSTNAM'.RST;'VERNO'='RSTNAM'.'RSTTYP';'VERNO'/RE
PIP 'RSTNAM'.RST;'VERNO'/TR
PIP 'RSTNAM'.'RSTTYP';1='RSTNAM'.SAV;1/RE
PIP 'RSTNAM'.'RSTTYP';2='RSTNAM'.SAV;2/RE/NM
.DISABLE QUIET
;
;     *****     RESTORATION OF "'RSTNAM'.'RSTTYP'" COMPLETE     *****
;
;     THE RESTORED VERSION OF "'RSTNAM'.'RSTTYP'" IS AVAILABLE AS:
;
;     *****     'RSTNAM'.RST;'VERNO'     *****
;
;     IN YOUR DIRECTORY.
;
.ENABLE QUIET
.IFT $DILOG .GOTO 1116
.ASK MORRST MORE
.IFT <ESCAPE> .GOTO 9999
.GOTO 1117
.1116:
.ASK MORRST ANY MORE MODULES TO BE RESTORED
.IFT <ESCAPE> .GOTO 9999
.1117:
.IFT MORRST .GOTO 1101
.GOTO SELECT
;
;
;
;
;
;     FREEZE MODE
;
;
;
;
;
.FRZIT:
.ASK $DILOG DO YOU WANT LONG DIALOG
.IFT <ESCAPE> .GOTO 9999
.2101:
.IFT $DILOG .GOTO 2102
.ASKS [3:13.] MODULE MODULE
.IFT <ESCAPE> .GOTO 9999
.GOTO 2103
.2102:
.ASKS [3:13.] MODULE ENTER THE NAME OF THE MODULE TO BE FROZEN
.IFT <ESCAPE> .GOTO 9999
.2103:
.PARSE MODULE "." FRZNAM FRZTYP
.TEST FRZNAM
.IF <STRLEN> GT 9. .OR .IF <STRLEN> LT 1 .OR .IFF <ALPHAN> .GOTO 2104
.TEST FRZTYP
.IF <STRLEN> GT 3 .OR .IF <STRLEN> LT 1 .OR .IFF <ALPHAN> .GOTO 2104
.GOTO 2105
.2104:
.DISABLE QUIET
;
;     !!!!! BAD FILE NAME - 'FRZNAM'.'FRZTYP' !!!!!
;
.ENABLE QUIET
.GOTO 2101
.2105:
.TESTFILE 'FRZNAM'.'FRZTYP';1
.IF <FILERR> EQ OK .GOTO 2106
.DISABLE QUIET
;
;     !!!!! NO SUCH FILE - 'FRZNAM'.'FRZTYP';1 !!!!!
;
.ENABLE QUIET
.GOTO 2101
.2106:
.IFF $DILOG .GOTO 2107
.DISABLE QUIET
;
;     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.
;
.ENABLE QUIET
.ASK LIST DO YOU WANT TO SEE A LIST OF THE CORRECTION SETS FOR "'FRZNAM'"
.IFT <ESCAPE> .GOTO 9999
.GOTO 2108
.2107:
.ASK LIST LIST CORRECTION SETS
.IFT <ESCAPE> .GOTO 9999
.2108:
.IFF LIST .GOTO 2109
PIP 'FRZNAM'.COR;*/LI
.2109:
.IFT $DILOG .GOTO 2110
.ASKN [1:377] FRZVER FREEZE VERSION
.IFT <ESCAPE> .GOTO 9999
.GOTO 2111
.2110:
.ASKN [1:377] FRZVER ENTER THE VERSION # OF THE FREEZE CORRECTION SET
.IFT <ESCAPE> .GOTO 9999
.2111:
.TESTFILE 'FRZNAM'.COR;'FRZVER'
.IF <FILERR> EQ OK .GOTO 2112
.DISABLE QUIET
;
;     !!!!! NO SUCH VERSION OF 'FRZNAM'.'FRZTYP' !!!!!
;
.ENABLE QUIET
.GOTO 2106
.2112:
.IFT $DILOG .GOTO 2113
.ASKN [1:377] HIVER HIGHEST VERSION
.IFT <ESCAPE> .GOTO 9999
.GOTO 2114
.2113:
.ASKN [1:377] HIVER ENTER THE VERSION # OF THE HIGHEST CORRECTION SET
.IFT <ESCAPE> .GOTO 9999
.2114:
.TESTFILE 'FRZNAM'.COR;'HIVER'
.IF <FILERR> EQ OK .GOTO 2115
.DISABLE QUIET
;
;     !!!!! NO SUCH VERSION OF 'FRZNAM'.'FRZTYP' !!!!!
;
.ENABLE QUIET
.GOTO 2106
.2115:
.IF HIVER GE FRZVER .GOTO 2116
.DISABLE QUIET
;
;     !!!!! INCONSISTENT CHOICE FOR HIGHEST/FREEZE VERSION #S !!!!!
;
.ENABLE QUIET
.GOTO 2106
.2116:
.DISABLE QUIET
;<WORKING>
.ENABLE QUIET
.SETN VERNO 0
.2117:
.INC VERNO
.TESTFILE 'FRZNAM'.COR;'VERNO'
.IF <FILERR> EQ OK .GOTO 2118
.DISABLE QUIET
;
;     !!!!! CORRECTION SET @ LEVEL 'VERNO' FOR 'FRZNAM'.'FRZTYP' MISSING !!!!!
;
;		!!!!! FREEZE PROCESS ABORTED !!!!!
;
.ENABLE QUIET
.GOTO 9999
.2118:
.IF VERNO LT HIVER .GOTO 2117
PIP 'FRZNAM'.'FRZTYP';1,'FRZNAM'.COR;*/PR:0
PIP 'FRZNAM'.TMP;1='FRZNAM'.'FRZTYP';1/RE
PIP 'FRZNAM'.'FRZTYP';2/DE/NM
.SETN VERNO 0
.2119:
.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
PIP 'FRZNAM'.SLP;1,'FRZNAM'.MOD;1,'FRZNAM'.COR;'VERNO'/DE
.IF VERNO LT FRZVER .GOTO 2119
PIP 'FRZNAM'.TMP/PU
PIP 'FRZNAM'.'FRZTYP';1='FRZNAM'.TMP/RE
.IF HIVER EQ FRZVER .GOTO 2121
.SETN NEWVER 0
.2120:
.INC VERNO
.INC NEWVER
SLP @'FRZNAM'.COR;'VERNO'
PIP 'FRZNAM'.COR;'NEWVER'='FRZNAM'.COR;'VERNO'/RE
.IF VERNO LT HIVER .GOTO 2120
PIP 'FRZNAM'.TMP;1='FRZNAM'.'FRZTYP';1/RE
PIP 'FRZNAM'.'FRZTYP'/PU
PIP 'FRZNAM'.'FRZTYP';2='FRZNAM'.'FRZTYP'/RE
PIP 'FRZNAM'.'FRZTYP';1='FRZNAM'.TMP;1/RE
PIP 'FRZNAM'.COR;*/PR/SY:R/OW:R/GR:R/WO:R
.2121:
PIP 'FRZNAM'.'FRZTYP';*/TR
PIP 'FRZNAM'.'FRZTYP';1/PR/SY:R/OW:R/GR:R/WO:R
.DISABLE QUIET
;
;     *****     FREEZE ON "'FRZNAM'.'FRZTYP'" COMPLETE     *****
;
.ENABLE QUIET
.IFT $DILOG .GOTO 2122
.ASK MORFRZ MORE
.IFT <ESCAPE> .GOTO 9999
.GOTO 2123
.2122:
.ASK MORFRZ ANY MORE MODULES TO FREEZE
.IFT <ESCAPE> .GOTO 9999
.2123:
.IFT MORFRZ .GOTO 2101
.GOTO SELECT
;
;
;
;
;
;     SCO MODE
;
;
;
;
;
.SCOIT:
.ASK $DILOG DO YOU WANT LONG DIALOG
.IFT <ESCAPE> .GOTO 9999
.3101:
.IFF $DILOG .GOTO 3102
.DISABLE QUIET
;
;     SCO MODE PRESUMES THE EXISTENCE OF THE ONE OR MORE CORRECTION SETS
;     WHICH TAKEN TOGETHER WILL COMPRISE THE SCO FOR AN INDIVIDUAL MOD-
;     ULE OR SET OF MODULES. IF THESE CORRECTION SETS DO NOT CURRENTLY
;     EXIST YOU MUST CREATE THEM IN EDIT MODE. THEY CANNOT BE CREATED
;     IN SCO MODE.
;
.ENABLE QUIET
.ASK REVERT DO YOU WANT TO GO TO EDIT MODE
.IFT <ESCAPE> .GOTO 9999
.IFT REVERT .GOTO EDITIT
.3102:
.IFT $DILOG .GOTO 3103
.ASKS [5:5] SCONO SCO #
.IFT <ESCAPE> .GOTO 9999
.GOTO 3104
.3103:
.ASKS [5:5] SCONO ENTER THE SCO DOCUMENT #
.IFT <ESCAPE> .GOTO 9999
.3104:
.SETS AUDIT "SCO'SCONO'"
.TESTFILE 'SCONO'.SCO;1
.IF <FILERR> EQ OK .GOTO 3105
.TESTFILE 'AUDIT'.TXT;1
.IF <FILERR> NE OK .GOTO 3106
.3105:
.DISABLE QUIET
;
;     !!!!! SCO # 'SCONO' ALREADY EXISTS !!!!!
;
;          !!!!! SCO PROCESS ABORTED !!!!!
;
.ENABLE QUIET
.GOTO 9999
.3106:
.OPEN 'SCONO'.SCO
.CLOSE #0
.OPEN 'AUDIT'.TXT
.ENABLE DATA #0
'STAR80'
'STAR80'
'SPAC16'
'STAR32'
'SPAC16''SPAC16'*  SCO #'SCONO'  *
'STAR32'
'SPAC16'
'STAR80'
'SPAC16'
SOFTWARE CHANGE ORDER #'SCONO' HAS BEEN INCORPORATED. SCO #'SCONO' AFFECTS THE
FOLLOWING MODULES:
'SPAC16'
.DISABLE DATA #0
.3107:
.IFT $DILOG .GOTO 3108
.ASKS [3:13.] MODULE MODULE
.IFT <ESCAPE> .GOTO 3132
.GOTO 3109
.3108:
.ASKS [3:13.] MODULE ENTER THE MODULE TO BE INCLUDED IN SCO #'SCONO'
.IFT <ESCAPE> .GOTO 3132
.3109:
.PARSE MODULE "." SCONAM SCOTYP
.TEST SCONAM
.IF <STRLEN> GT 9. .OR .IF <STRLEN> LT 1 .OR .IFF <ALPHAN> .GOTO 3110
.TEST SCOTYP
.IF <STRLEN> GT 3 .OR .IF <STRLEN> LT 1 .OR .IFF <ALPHAN> .GOTO 3110
.GOTO 3111
.3110:
.DISABLE QUIET
;
;     !!!!! BAD FILE NAME - 'SCONAM'.'SCOTYP' !!!!!
;
.ENABLE QUIET
.GOTO 3107
.3111:
.TESTFILE 'SCONAM'.'SCOTYP';1
.IF <FILERR> EQ OK .GOTO 3112
.DISABLE QUIET
;
;     !!!!! NO SUCH FILE - 'SCONAM'.'SCOTYP';1 !!!!!
;
.ENABLE QUIET
.GOTO 3107
.3112:
.IFF $DILOG .GOTO 3113
.DISABLE QUIET
;
;     THE NEXT 2 QUESTIONS RELATE TO THE LEVEL AT WHICH YOU WANT TO SCO
;     "'SCONAM'". THIS USUALLY WILL BE THE LATEST (HIGHEST) CORRECTION
;     LEVEL BUT CAN BE ANY LEVEL YOU CHOOSE. IN ORDER TO SELECT THE SCO
;     LEVEL YOU NEED A LISTING OF THE CORRECTION SETS FOR "'SCONAM'" AND
;     FROM IT DETERMINE THE VERSION NUMBER OF THE CORRECTION SET AT WHICH
;     YOU WISH TO APPLY A SCO. ONCE YOU HAVE THIS INFORMATION, ENTER IT IN
;     RESPONSE TO THE VERSION NUMBER QUESTION.
;
.ENABLE QUIET
.ASK LIST DO YOU WANT TO SEE A LIST OF THE CORRECTION SETS FOR "'SCONAM'"
.IFT <ESCAPE> .GOTO 3132
.GOTO 3114
.3113:
.ASK LIST LIST CORRECTION SETS
.IFT <ESCAPE> .GOTO 3132
.3114:
.IFF LIST .GOTO 3115
PIP 'SCONAM'.COR;*/LI
.3115:
.IFT $DILOG .GOTO 3116
.ASKN [1:377] SCOVER SCO VERSION
.IFT <ESCAPE> .GOTO 3132
.GOTO 3117
.3116:
.ASKN [1:377] SCOVER ENTER THE VERSION # OF THE SCO CORRECTION SET
.IFT <ESCAPE> .GOTO 3132
.3117:
.TESTFILE 'SCONAM'.COR;'SCOVER'
.IF <FILERR> EQ OK .GOTO 3118
.DISABLE QUIET
;
;     !!!!! NO SUCH VERSION OF 'SCONAM'.'SCOTYP' !!!!!
;
.ENABLE QUIET
.GOTO 3112
.3118:
.ENABLE DATA #0
'SPAC32''SCONAM'.'SCOTYP' AT CORRECTION LEVEL 'SCOVER'
'SPAC16'
.DISABLE DATA #0
.IFT $DILOG .GOTO 3119
.ASK $INCLU AUDIT TRAIL
.IFT <ESCAPE> .GOTO 3132
.GOTO 3120
.3119:
.ASK $INCLU DO YOU WANT TO INCLUDE AN AUDIT TRAIL IN THE "SCO"ED MODULE
.IFT <ESCAPE> .GOTO 3132
.3120:
.IFF $INCLU .GOTO 3122
.IFT $DILOG .GOTO 3121
.ASKN [64.:112.:72.] $COLNO @COLUMN
.IFT <ESCAPE> .GOTO 3132
.GOTO 3122
.3121:
.ASKN [64.:112.:72.] $COLNO ENTER THE COLUMN NUMBER FOR THE AUDIT TRAIL
.IFT <ESCAPE> .GOTO 3132
.3122:
.DISABLE QUIET
;<WORKING>
.ENABLE QUIET
.SETN VERNO 0
.3123:
.INC VERNO
.TESTFILE 'SCONAM'.COR;'VERNO'
.IF <FILERR> EQ OK .GOTO 3124
.DISABLE QUIET
;
;     !!!!! CORRECTION SET @ LEVEL 'VERNO' FOR 'SCONAM'.'SCOTYP' MISSING !!!!!
;
;		!!!!! SCO PROCESS ABORTED !!!!!
;
.ENABLE QUIET
.GOTO 3132
.3124:
.IF VERNO LT SCOVER .GOTO 3123
PIP 'SCONAM'.TMP;1='SCONAM'.'SCOTYP';1
.SETN VERNO 0
.3125:
.INC VERNO
.OPEN #1 'SCONAM'.SLP;1
.ENABLE DATA #1
'SCONAM'.MOD;1/-AU='SCONAM'.COR;'VERNO'
-1,1
'SCONAM'.TMP/-AU='SCONAM'.TMP
/
.DISABLE DATA #1
.CLOSE #1
SLP @'SCONAM'.SLP
SLP @'SCONAM'.MOD
PIP 'SCONAM'.SLP;1,'SCONAM'.MOD;1/DE
.IF VERNO LT SCOVER .GOTO 3125
PIP 'SCONAM'.TMP/PU
.OPEN #1 'SCONAM'.HDR;1
.IFF $INCLU .GOTO 3126
.ENABLE DATA #1
'SCONAM'.'SCOTYP'/AU:'$COLNO'.:9.='SCONAM'.'SCOTYP'/-BF
.DISABLE DATA #1
.GOTO 3127
.3126:
.ENABLE DATA #1
'SCONAM'.'SCOTYP'/-AU='SCONAM'.'SCOTYP'
.DISABLE DATA #1
.3127:
.CLOSE #1
CMP 'SCONAM'.FIX;1/SL:'AUDIT'='SCONAM'.'SCOTYP';1,'SCONAM'.TMP
PIP 'SCONAM'.CHG;1='SCONAM'.HDR;1,'SCONAM'.FIX;1
PIP 'SCONAM'.HDR;1,'SCONAM'.FIX;1,'SCONAM'.TMP;*/DE
PIP 'SCONO'.SCO='SCONAM'.CHG;1/AP
PIP 'SCONO'.SCO/TR
PIP 'SCONAM'.CHG;1/DE
.DISABLE QUIET
;
;     *****     SCO FOR MODULE "'SCONAM'.'SCOTYP'" COMPLETE     *****
;
.ENABLE QUIET
.IFT $DILOG .GOTO 3128
.ASK MORSCO MORE UNDER SCO # 'SCONO'
.IFT <ESCAPE> .GOTO 3132
.GOTO 3129
.3128:
.ASK MORSCO ANY MORE MODULES TO SCO UNDER # 'SCONO'
.IFT <ESCAPE> .GOTO 3132
.3129:
.IFT MORSCO .GOTO 3107
.DISABLE QUIET
;
;     *****     GENERATION OF SCO # 'SCONO' COMPLETE     *****
;
;     THE SCO FILE IS AVAILABLE AS:
;
;     *****     "'SCONO'.SCO"     *****
;
;     IN YOUR DIRECTORY.
;
.ENABLE QUIET
.ENABLE DATA #0
'STAR80'
.DISABLE DATA #0
.CLOSE #0
PIP 'AUDIT'.TXT;1/TR
PIP 'AUDIT'.TXT/SP
.IFT $DILOG .GOTO 3130
.ASK NEWSCO MORE SCOS
.IFT <ESCAPE> .GOTO 9999
.GOTO 3131
.3130:
.ASK NEWSCO ANY MORE SCOS TO APPLY
.IFT <ESCAPE> .GOTO 9999
.3131:
.IFT NEWSCO .GOTO 3101
.GOTO SELECT
.3132:
.CLOSE #0
PIP 'AUDIT'.TXT;0,'SCONO'.SCO;0/DE
.9999:
.DISABLE QUIET
;
;     *****     EXITING "SCCS"     *****
;
.STOP
