@ SCEPTRE AMENDMENT UCS_P550_007/1 @ @ Release: 5.5 @ Date: 14 JUNE 1999 @ @ UCS_SETUP fails RC 9114 - Definitions file does not exist. @ @ This amendment corrects the error. @ @ EXECUTE THIS FILE UNDER :SCEP0550 TO CREATE THE NEW SOURCE FILE @ ICLRSISOURCE.ICL8UCS0SETUP @ IT WILL THEN BE COMPILED INTO THE ICLRSIOMF LIBRARY, AND THE OMF @ MODULE MODAMENDED TO PREVENT CASCADE LOADING. UCS_ASSIGN_CODE ENTER XF(ICLRSISOURCE.ICL8UCS0SETUP(5501),RES=IGNORE) ENTER XF(ICLRSIOMF.UCSSETUP(5502),RES=IGNORE) ENTER XF(ICLRSIOMF.UCSSETUP(5501),RES=IGNORE) INF(ICLRSISOURCE.ICL8UCS0SETUP) ---- PROC UCS_SETUP @ ---------------------------------------------------------------- @ @ Copyright (c) Ultracomp Limited 1992-1997 @ @ ---------------------------------------------------------------- @ @ $Workfile: UCSSETUP $ @ @ $Archive: Q:/PVCSPROJ/Sceptre/Source/SCL/UCSSETUP.__v $ @ @ $Revision: 1.2 $ @ @ $Date: Jul 27 1998 10:52:54 $ @ @ $Author: AMC.MAN_1 $ @ @ ---------------------------------------------------------------- @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ @ @ ****** I M P O R T A N T N O T I C E ! ! ! ****** @ @ @ @ If this SCL procedure is edited and recompiled, you MUST @ @ after recompilation apply the following module amendment @ @ to the compiled module: @ @ @ @ CHA(MODULE, NOCASCADE = YES) @ @ @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IS ( LITERAL ALLOCATION = "L", LITERAL (LOADSET) IN_LOADSET = "", LITERAL PREFIX = ":", LITERAL MODE = "NORMAL", RESPONSE (RESPONSE) RES = RESULT ) PROCBEGIN @ --------------------------------------------------------------------- @ Automated setup for Sceptre 5.5 @ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @ Step 01: Search for existing Sceptre/Overlord/Arbiter loadsets @ @ Step 02: Ask user which to carry forward and where to put new Sceptre @ definitions @ @ Step 03: Run UCS_SETUP_550 to create templates, definitions, @ UCS_TELL events and Overlord Syskeys @ @ Step 05: Copy special TPS code and amendments from old loadset @ There are no changes to this code for Sceptre 5.0. The old @ libraries are copied from the old loadset. @ @ Step 04: Anymore old versions to be merged into new loadset? @ The user may have Sceptre 4.20, 4.21, and/or Overlord 2.00. @ The UCS_SETUP_550 procedure will only carry forward one set @ of definitions. If there is more than one old version then @ the other versions must be merged in. If there are these @ are merged in. @ @ Step 06: Allow new facilities @ @ Step 07: Set trend limit @ @ Step 08: Copy Sceptre INSTLIB to *SYSTEMOWNERs @ @ Step 09: The Sceptre data user requires a log file. @ @ Step 10: Trends need to be converted to the new format @ @ Step 11: Remove service libraries from user's librrary list @ @ Step 12: Check for Douse - ICL9NVMINFORMATION @ @ Step 13: Anything else? @ --------------------------------------------------------------------- EXT PROC EXECUTE_SCL IS (STRING LINE := "", LITERAL FILENAME := "", SUPERLITERAL OPTIONS := "", SUPERLITERAL PERMITTED_NAMES := "", RESPONSE RESPONSE := RESULT) STRING CLS = HEX(0C) @ clear screen STRING HT = HEX(23) @ horizontal tab STRING VT = HEX(22) @ vertical tab STRING SP = HEX(11) @ start protected STRING SU = HEX(3C) @ start un-protected STRING SOM = HEX(27F6) @ set som STRING TOP = HEX(22002300) @ top of screen STRING NL = HEX(15) STRING C0 = HEX(2308) STRING C1 = HEX(2314) STRING C2 = HEX(2328) STRING C3 = HEX(233A) STRING LINE23 = HEX(2217) STRING LINE20 = HEX(2214) STRING (80) E_MESS STRING QN_REPLY = " "; STRING DEF_ANS = " "; BOOL RE_RUN = FALSE BOOL NEW_INSTALLATION = FALSE INT SCEP0500 = -1 INT SCEP0515 = -1 STRING LOADSET = IN_LOADSET, NEW_LOADSET, OLD_LOADSET IF LOADSET STARTSWITH ":" THEN LOADSET = LOADSET AFTER ":" FI EXT PROC UCS_VERSION IS (REF STRING) SPDI STRING USER = FILL(32) STRING STRING_VERSION = FILL(5) INT VERSION = UCS_VERSION (STRING_VERSION) INT LNA, LEN, FLAG, IGNORE GIVE_NAME (-3, TERMINAL, USER, LEN ) USER = ":" + SUBSTR( USER, 0, LEN ) BOOL VME_2900 EXT INT SYSTEMOWNER STRING SYS_OWNER = FILL(32) STRING MACHINE_TYPE; GIVE_NAME (SYSTEM_OWNER, TERMINAL, SYS_OWNER, LEN) SYS_OWNER = SUBSTR(SYSOWNER, 0, LEN) IF (SYS_OWNER = "SYSTEZ") OR (SYS_OWNER = "SYSTEM") THEN MACHINE_TYPE = "2900" VME_2900 = TRUE ELSE MACHINE_TYPE = "3900" VME_2900 = FALSE FI IF LOADSET = "" THEN LOADSET = "SCEP0" + NUMERIC (VERSION) FI STRING TITLE = C1 + "Sceptre " + STRING_VERSION + " Set Up" + C3 + USER + " (" + MACHINE_TYPE + ")" + NL + C1 + "~~~~~~~~~~~~~~~~~~~~~~" STRING STEP = "STEP00:" INT CF_INT = 0 STRING CF_STRING = "" SUPERSTRING LOOK_FOR = "SCEP0500" & "SCEP0515" STRING DEFS = ".UCSDEFINITIONS" STRING TMPL = ".UCSTEMPLATES" STRING DEFL = ".UCSDEFSLIB" INT FLAG, LNA INT HIGHEST_FOUND = -1 STRING NEXT_STEP STRING WHICH_USER = "S" BEGIN @---------------------------------------------------------------------- STEP00: @---------------------------------------------------------------------- BEGIN SMSG(NL + STEP + "CHECKING FOR RERUN - LOADSET = :" + LOADSET) STRING RUN_SETUP = "" @ First of all we try to determine if this is a re-run. Has the @ new loadset owner already been set up? ENTER AF(VAL(":" + LOADSET + DEFS), LNA, LOC = X, RES = FLAG) IF ( ((FLAG = 0) OR (FLAG = 33126)) OR ((FLAG = 31756) OR (FLAG = 33106)) ) THEN ENTER ALB( VAL ( ":" + LOADSET + DEFL), LNA, RES = FLAG) FI IF ( ((FLAG = 0) OR (FLAG = 33126)) OR ((FLAG = 31756) OR (FLAG = 33106)) ) THEN ENTER AF( VAL ( ":" + LOADSET + TMPL), LNA, LOC = X, RES = FLAG) FI IF ( ((FLAG = 0) OR (FLAG = 33126)) OR ((FLAG = 31756) OR (FLAG = 33106)) ) THEN RE_RUN = TRUE FI STRING (2000) MESS MESS = CLS + SP + STEP + TITLE + NL + NL + "There are two parts to the set up of Sceptre for release " + STRING_VERSION + ":" + NL + NL + "1. " + "Definitions files need creating under the loadset user (" + LOADSET + ")." + NL + NL + " " + "If you have Sceptre and/or Overlord then the old definitions" + NL + " " + "need to be merged together. For TPS users the special OMF" + NL + " " + "and amendments need to be copied from the old Sceptre loadset." + NL + " " + "The Sceptre INSTLIB library needs to be copied to the " + NL + " " + "*SYSTEMOWNER INSTLIBs." + NL + NL + "2. " + "The Sceptre data user :SCEPTRE need changes." + NL + NL + " " + "It needs a Sceptre log file." + NL + NL + NL + NL + NL + NL + NL IF RE_RUN THEN RUN_SETUP = "N" MESS = MESS + ":" + LOADSET + " Definitions and files already exist" + NL + NL ELSE RUN_SETUP = "Y" MESS = MESS + "Definitions files under Sceptre" + " loadset need to be created" + NL + NL FI MESS = MESS + "Do you want to set up files in " + LOADSET + "?" UCS_QN ( MESS, QN_REPLY , VAL RUN_SETUP) END IF QN_REPLY = "N" THEN GOTO STAGE_TWO FI @---------------------------------------------------------------------- STEP01: @---------------------------------------------------------------------- STEP = "STEP01:" SMSG(CLS + LINE20 + STEP + TITLE + NL + NL ) STRING FILE = FILL(80) @ ------------------------------------------------@ @ find existing Sceptre/Arbiter/Overlord products @ @ ------------------------------------------------@ SMSG(STEP + "SEARCHING FOR EXISTING DEFINITION FILES") FOR I FROM 0 TO COUNT LOOK_FOR DO IF ((RE_RUN) AND (LOOK_FOR [I] EQ LOADSET)) THEN ELSE FILE = PREFIX + LOOK_FOR [I] + DEFS BEGIN AF( VAL FILE, LNA , LOC = X, RES = FLAG) IF MODE = "TESTING" THEN SMSG(FILE + " RC = " + NUMERIC(FLAG)) FI IF FLAG = 0 THEN GIVE_NAME ( LNA ) FI END IF ( ((FLAG = 0) OR (FLAG = 33126)) OR ((FLAG = 31756) OR (FLAG = 33106)) ) THEN @ found a version @ SMSG(" FOUND " + FILE + " RC = " + NUMERIC (FLAG)) IF LOOK_FOR [I] = "SCEP0500" THEN SCEP0500 = I ELSF LOOK_FOR [I] = "SCEP0515" THEN SCEP0515 = I FI; IF ((LOOK_FOR [I] STARTSWITH "SCEP050") AND (HIGHEST_FOUND NE -1)) THEN IF SCEP0515 GE 0 THEN SMSG(" VERSION " + LOOK_FOR [HIGHEST_FOUND] + " IS SUPERSEDED BY " + LOOK_FOR [I] + " IT CAN BE DELETED") FI FI; HIGHEST_FOUND = I FI FI REPEAT IF HIGHEST_FOUND LT 0 THEN SMSG(" NO EXISTING PRODUCTS FOUND") FI; @---------------------------------------------------------------------- STEP02: @---------------------------------------------------------------------- STEP = "STEP02:" @ ------------------------------------------------------------- @ @ Now we know what already exists we can ask the user what next @ @ ------------------------------------------------------------- @ INT CF_INT = -1 STRING CF_STRING = FILL(17) BEGIN STRING MESS = FILL (2000) SMSG(STEP + "DETERMINING SETUP ACTIONS REQUIRED") MESS = CLS + SOM + SP + STEP + TITLE + NL + NL IF HIGHEST_FOUND GE 0 THEN MESS = MESS + "The following releases have been found:" + NL + NL IF SCEP0500 GE 0 THEN MESS = MESS + C1 + LOOK_FOR [SCEP0500] + C2 + "Sceptre 5.00" + NL FI; IF SCEP0515 GE 0 THEN MESS = MESS + C1 + LOOK_FOR [SCEP0515] + C2 + "Sceptre 5.15" + NL FI; IF RE_RUN THEN MESS = MESS + C1 + LOADSET + C2 + "Sceptre " + STRING_VERSION + " - this release" + NL FI @ We need to decide which old version we are going to @ carry forward IF SCEP0515 GE 0 THEN CF_INT = 515 CF_STRING = LOOK_FOR [SCEP0515] ELSF SCEP0500 GE 0 THEN CF_INT = 500 CF_STRING = LOOK_FOR [SCEP0500] FI CF_STRING = ":" + CF_STRING + FILL(8) FI MESS = MESS + NL + NL + "Old definitions will be copied from" + C3 + SU + CF_STRING + SP LOADSET = ":" + SUBSTR(LOADSET + FILL(16),0,16) REPLY = CF_STRING + LOADSET + "Y" MESS = MESS + NL + "New definitions will be set up in user" + C3 + SU + LOADSET + SP + NL + NL + "You may change the old and new users if you want" + NL + NL + NL + "During this phase you will need your " + "Sceptre Installation Record form" + NL + NL + NL + "Do you want to create the definitions files?" + C3 + SU IF RE_RUN THEN MESS = MESS + "N" ELSE MESS = MESS + "Y" FI MESS = MESS + SP + " Yes, No or Quit" + NL + NL INT ANS_POS = 34 E_MESS = "" INT EXP_LEN = 35 STEP02_ASK: NEW_REPLY = FILL (80) ASK_MESSAGE (PRO = MESS + E_MESS, MES = NEW_REPLY , LEN = LEN, RES = RES) IF MODE = "TESTING" THEN SMSG( "LEN = "+ NUMERIC(LEN) ) SMSG( NEW_REPLY ) FI IF LEN > EXP_LEN THEN E_MESS = LINE23 + "Too much reply data - please repeat" + NL GOTO STEP02_ASK; FI; IF LEN > 0 THEN SUBSTR( REPLY,0,LEN) = SUBSTR( NEW_REPLY, 0, LEN) FI @ Validate question QN_REPLY = SUBSTR(REPLY, ANS_POS, 1) OLD_LOADSET = SUBSTR (REPLY,0,17) NEW_LOADSET = SUBSTR (REPLY,17,17) IF OLD_LOADSET = " " THEN NEW_INSTALLATION = TRUE ELSE NEW_INSTALLATION = FALSE FI IF QN_REPLY = "Q" THEN SMSG ( SU + "Quit Requested") RETURN FI IF QN_REPLY = "N" THEN SMSG ( SU + NL + "** Sceptre files will not be set up **" + NL) ELSF QN_REPLY NE "Y" THEN E_MESS = LINE20 + HT + HEX(00) + "You must answer:" + C1 + "Y to set up files" + NL + C1 + "N to continue without setting up files" + NL + C1 + "Q to quit" + NL GOTO STEP02_ASK ELSE @ Validate old and new users IF OLD_LOADSET EQ "" THEN IF HIGHEST_FOUND NE -1 THEN STRING PRO = CLS + SOM + SP + STEP + TITLE + NL + NL + "Old definitions have been found" + NL + NL + "Are you sure you do not want to carry " + "them forward? " UCS_QN ( PRO, QN_REPLY) IF QN_REPLY = "N" THEN E_MESS = "" GOTO STEP02_ASK FI FI ELSE ENTER AF( VAL (OLD_LOADSET + DEFS), LNA , LOC = X, RES = FLAG ) IF FLAG NE 0 THEN E_MESS = NL + NL + "Failed to assign old definitions " + "file - RC = " + NUMERIC(FLAG) GOTO STEP02_ASK FI FI FI END NEW_LOADSET = ( NEW_LOADSET + " " ) BEFORE " " OLD_LOADSET = ( OLD_LOADSET + " " ) BEFORE " " STRING TMPL_NAME = NEW_LOADSET + ".UCS_TEMPLATES" STRING ODEFS_NAME = OLD_LOADSET + ".UCS_DEFINITIONS" STRING ODEFS_LIB = OLD_LOADSET + ".UCS_DEFS_LIB" STRING NDEFS_NAME = NEW_LOADSET + ".UCS_DEFINITIONS" STRING NDEFS_LIB = NEW_LOADSET + ".UCS_DEFS_LIB" STRING ISSUE_SRC = NEW_LOADSET + ".ICLRSISOURCE" IF QN_REPLY = "N" THEN GOTO STEP04 FI @---------------------------------------------------------------------- STEP03: @---------------------------------------------------------------------- STEP = "STEP03:" @ now we can run UCS_SETUP_550 to set up the files SMSG (CLS + LINE20 + STEP + TITLE + NL + NL + "Setting up files") STRING NEW_USER = (NEW_LOADSET + ".") BEFORE "." IF USER NE NEW_USER THEN SMSG( "Switching to user " + NEW_USER + NL) SWITCH_USER ( VAL NEW_USER, Y, RES = FLAG) IF FLAG GT 0 THEN E_MESS = "Failed to SWITCH_USER - " + "You must run under :SYSMAN or " + NEW_USER RES = FLAG RETURN FI FI BEGIN IF OLD_LOADSET = "" THEN ODEFS_LIB = 'VAL ""' ODEFS_NAME = 'VAL ""' ELSE ENTER ALB( VAL ODEFS_LIB, LNA, RES = FLAG ) IF FLAG NE 0 THEN ODEFS_LIB = "" FI FI STRING EXECUTE = ", TEMP = " + TMPL_NAME + ", OLDU = " + ODEFS_NAME + ", OLDD = " + ODEFS_LIB + ", NEWU = " + NDEFS_NAME + ", NEWD = " + NDEFS_LIB + ", ISSU = " + ISSUE_SRC + ", ALLO = " + ALLOCATION IF VME_2900 THEN EXECUTE = EXECUTE + ", VME2 = TRUE, S39S = FALSE, RES = RES)" ELSE EXECUTE = EXECUTE + ", VME2 = FALSE, S39S = TRUE, RES = RES)" FI @ templates @ EXECUTE_LINE = "UCS_SETUP_550 ( TMPL = TRUE" + EXECUTE SMSG( NL + STEP + "Templates: " + NL + NL + EXECUTE_LINE + NL ) RES = 0 FLAG = 0 IF MODE NE "TESTING" THEN EXECUTE_SCL(LIN = EXECUTE_LINE, RES = FLAG) ELSE SMSG ("Not executed - just testing") FI IF (RES = 0) AND (FLAG = 0) THEN XFGEN(VAL TMPL_NAME, RES = IGNORE) ELSE SMSG(STEP + "Failed setting up templates") RES = FLAG RETURN FI; @ events @ EXECUTE_LINE = "UCS_SETUP_550 ( EVEN = TRUE" + EXECUTE SMSG( NL + STEP + "UCS_TELL Events: " + NL + NL + EXECUTE_LINE + NL ) RES = 0 FLAG = 0 IF MODE NE "TESTING" THEN EXECUTE_SCL(LIN = EXECUTE_LINE, RES = FLAG) ELSE SMSG ("Not executed - just testing") FI IF (RES = 0) AND (FLAG = 0) THEN ELSE SMSG(STEP + "Failed setting up UCS_TELL Events") RES = FLAG RETURN FI; @ definitions @ EXECUTE_LINE = "UCS_SETUP_550 ( DEFS = TRUE" + EXECUTE SMSG( NL + STEP + "Definitions: " + NL + NL + EXECUTE_LINE + NL ) RES = 0 FLAG = 0 EXT PROC EXECUTECPLINE (NORESCHEDULE) IS ( STRING , SPDT , RESPONSE ) IF MODE NE "TESTING" THEN EXECUTE_CP_LINE( EXECUTE_LINE, FALSE, FLAG) ELSE SMSG ("Not executed - just testing") FI IF (RES = 0) AND (FLAG = 0) THEN XFGEN(VAL NDEFS_NAME, RES = IGNORE) ENTER XLB(NDEFS_LIB(-1), RES = IGNORE) ELSE SMSG(STEP + "Failed setting up definitions") RES = FLAG RETURN FI; ASK_MESSAGE (SP + STEP + " Completed. Press SEND to continue" + SOM + SU , LEN = LEN, MES = QN_REPLY) END @---------------------------------------------------------------------- STEP04: @---------------------------------------------------------------------- STEP = "STEP04:" BEGIN @ Are there any old definitions to be merged in with the @ new definitions? SMSG (CLS + LINE20 + STEP + TITLE + NL + NL + NL + "Checking for definitions to be merged" + NL ) IF NEW_LOADSET STARTSWITH ":" THEN NEW_LOADSET = NEW_LOADSET AFTER ":" FI @ Sceptre 5.10 @ IF (SCEP0500 GE 0) AND (LOOK_FOR [SCEP0500] NE OLD_LOADSET) THEN MESS = "Do you want to merge in your Sceptre 5.00 definitions?" IF RE_RUN THEN DEF_ANS = "N" ELSE DEF_ANS = "Y" FI UCS_QN ( MESS, QN_REPLY, VAL DEF_ANS ) IF QN_REPLY = "Y" THEN ODEFS_NAME = PREFIX + LOOK_FOR[SCEP0500] + DEFS SMSG(STEP + "Merging Sceptre 5.00 definitions from " + ODEFS_NAME ) XFGEN(UCS_EXP_SCEP420, RES = IGNORE) UCS_EXPORT (OUT = "UCS_EXP_SCEP500", DEF = VAL ODEFS_NAME, LIB = VAL ODEFS_LIB, ALL = VAL ALLOCATION, RES = RES) IF RES GT 0 THEN RETURN FI UCS_IMPORT (ACT = INSERT, INP = "UCS_EXP_SCEP500", DEF = VAL NDEFS_NAME, LIB = VAL NDEFS_LIB, NEW = VAL NDEFS_NAME, CRE = VAL NDEFS_LIB, ALL = VAL ALLOCATION, IGN = TRUE, RES = RES) IF RES GT 0 THEN RETURN FI XFGEN(UCS_EXP_SCEP500 & VAL NDEFS_NAME , RES = IGNORE) ENTER XLB(NDEFS_LIB(-1),RES = IGNORE) ENTER XF(UCS_EXP_SCEP500, RES = IGNORE) FI FI ASK_MESSAGE (SP + STEP + " Completed. Press SEND to continue" + SOM + SU , LEN = LEN, MES = QN_REPLY) END @---------------------------------------------------------------------- STEP05: @---------------------------------------------------------------------- UCS_PRODUCTS() STEP = "STEP05:" @ We should now have a working Sceptre system @ @ For TPS users we need to copy their special @ @ Source and OMF libraries @ IF ( (OLD_LOADSET EQ "" ) OR (UCS_TPS = "N" ) ) THEN GOTO STEP06 FI SMSG (CLS + LINE20 + STEP + TITLE + NL + NL + "Checking for special TPS OMF and amendments under " + OLD_LOADSET + NL ) BEGIN SUPERSTRING TPSFILES = OLD_LOADSET + ".TPS90SRC" & OLD_LOADSET + ".TPS90OMF" & OLD_LOADSET + ".TPSSRC" & OLD_LOADSET + ".TPSOMF" SUPERSTRING NEW_TPSFILES = ":" + NEW_LOADSET + ".TPS90SRC" & ":" + NEW_LOADSET + ".TPS90OMF" & ":" + NEW_LOADSET + ".TPSSRC" & ":" + NEW_LOADSET + ".TPSOMF" FOR I FROM 0 TO COUNT TPSFILES DO ALB(VAL TPSFILES[I], LNA, RES = FLAG) IF FLAG EQ 0 THEN STRING PRO = "Found " + TPSFILES[I] + " copy to " + NEW_TPSFILES[I] + " " UCS_QN ( PRO, QN_REPLY) IF QN_REPLY EQ "Y" THEN IF (I = 0) OR (I = 2) THEN DESC = "*STDM" ELSE DESC = "*STDOMF" FI INTRLB (VAL NEW_TPSFILES [I], DES = VAL DESC, ALL = VAL ALLOCATION, RES = RES) IF RES EQ 0 THEN CYLBLB (*LNA, VAL NEW_TPSFILES [I], RES = RES) ENTER XLB( VAL (NEW_TPS_FILES [I] + "(-1)"), RES = IGNORE) FI IF RES GT 0 THEN SMSG ("Failed to create/copy " + NEW_TPSFILES[I] + " RC = " + NUMERIC(RES) + NL) FI FI FI REPEAT ASK_MESSAGE (SP + STEP + " Completed. Press SEND to continue" + SOM + SU , LEN = LEN, MES = QN_REPLY) END @---------------------------------------------------------------------- STEP06: @---------------------------------------------------------------------- STEP = "STEP06:" IF OLD_LOADSET EQ "" THEN GOTO STEP07 FI BEGIN STRING MESS EXT PROC UCS088 IS (LITERAL,SPDRIW) UCS088( "C", FLAG ) IF FLAG = 500 THEN SMSG(NL + STEP + "New facilities already allowed") GOTO STEP07 FI MESS = CLS + SP + STEP + TITLE + NL + NL + NL + NL + "Do you want to allow new Sceptre facilities?" DEF_ANS = "Y" UCS_QN ( MESS, QN_REPLY, VAL DEF_ANS ) END IF QN_REPLY = "N" THEN GOTO STEP07 FI UCS_ALLOW_NEW_FACILITIES (RES = RES) IF RES GT 0 THEN RETURN FI ASK_MESSAGE (SP + STEP + " Completed. Press SEND to continue" + SOM + SU , LEN = LEN, MES = QN_REPLY) @---------------------------------------------------------------------- STEP07: @---------------------------------------------------------------------- STEP = "STEP07:" IF UCS_TRENDS = "N" THEN GOTO STEP08 FI BEGIN STRING MESS = CLS + SP + STEP + TITLE + NL + NL + NL + NL + C0 + "As issued Sceptre will allow 999 trend items." + NL + NL + C0 + "This can be increased to 9999 trend items." + NL + NL + NL + "Do you want to change the default trend limit?" DEF_ANS = "N" UCS_QN ( MESS, QN_REPLY, VAL DEF_ANS ) IF QN_REPLY EQ "Y" THEN STRING MESS,REPLY STEP07_ASK: MESS = NL + SP + "Please enter limit in range 999 to 9999 " + SU REPLY = FILL(4) ASK_MESSAGE ( PRO = MESS, MES = REPLY, LEN = LEN , RES = RES ) IF DIGITS(REPLY) THEN INT I = CHARTOINT(REPLY) IF ( (I < 9999) AND (I > 998 ) ) THEN UCS_SET_LIMIT ( I, RSI = VAL ( ":" + NEW_LOADSET + ".ICLRSIOMF" ), RES = RES) IF RES GT 0 THEN RETURN FI FI ELSE GOTO STEP07_ASK FI FI ASK_MESSAGE (SP + STEP + " Completed. Press SEND to continue" + SOM + SU , LEN = LEN, MES = QN_REPLY) END @---------------------------------------------------------------------- STEP08: @---------------------------------------------------------------------- STEP = "STEP08:" @................................................................@ @ To make Sceptre available to all users the :SCEP0500.INSTLIB @ @ library needs to be copied to the VME system owners. We prompt@ @ the user for this: do they want to do it, which loadset(s). @ @ @ @ To do it we need to SWITCH_USER @ @................................................................@ BEGIN STRING MESS MESS = CLS + SP + NL + STEP + TITLE + NL + NL + SOM + "To make Sceptre available to all users the Sceptre loadset " + "library INSTLIB" + NL + "needs to be copied to the VME system owner INSTLIB libraries." + NL + NL + "If you want to copy them you will be prompted for the user " + "names. To do " + NL + "the copying SWITCH_USER is used to go into the user and then" + " CYLBLB is used." + NL + NL + "During copying you will be prompted for the library names." + NL + NL + NL + "Do you want to want to copy " + ( ( NEW_LOADSET + " " ) BEFORE " " ) + ".INSTLIB " IF (RE_RUN OR NEW_INSTALLATION) THEN DEF_ANS = "Y" ELSE DEF_ANS = "N" FI UCS_QN ( MESS, QN_REPLY, VAL DEF_ANS ) END IF QN_REPLY = "N" THEN GOTO STEP09 FI BEGIN STRING (200) MESS E_MESS = "" STRING (17) FROM_USER = SUBSTR( ":" + NEW_LOADSET + FILL(16), 0, 17) STRING (17) TO_USER = ":" + FILL (16) STRING (17) FROM_LIB STRING (17) TO_LIB STEP08_NEXT: MESS = CLS + SP + NL + STEP + TITLE + NL + NL + SOM + "Copy INSTLIB from " + C2 + SU + FROM_USER + SP + NL + NL + C0 + " to" + C2 + SU + TO_USER + SP + " enter user or" + NL + C3 + " leave blank to exit" + NL + LINE20 + E_MESS REPLY = FROM_USER + TO_USER ASK_MESSAGE ( PRO = MESS, MES = REPLY, LEN = LEN ) FROM_USER = SUBSTR(REPLY, 0, 17) TO_USER = SUBSTR(REPLY, 17, 17) IF ((TO_USER = FILL(17)) OR (TO_USER = ":")) THEN GOTO STEP09 FI FROM_LIB = FROM_USER + ".INSTLIB" TO_LIB = TO_USER + ".INSTLIB" SMSG("Tidying library - " + FROM_LIB) XFGEN(,VAL FROM_LIB) SMSG(LINE23 + STEP + "CYLBLB(" + FROM_LIB + "," + TO_LIB + ")" ) BEGIN STRING NEW_USER = (TO_USER + ".") BEFORE "." IF USER NE NEW_USER THEN SMSG( "Switching to user " + NEW_USER + NL) SWITCH_USER ( VAL NEW_USER, Y, RES = FLAG) IF FLAG GT 0 THEN E_MESS = "Failed to SWITCH_USER" RES = FLAG RETURN FI FI CYLBLB (VAL FROM_LIB, VAL TO_LIB, RES = FLAG) IF FLAG > 0 THEN E_MESS = "Failed to copy library" ELSE E_MESS = "Copy to " + TO_LIB + " successful" TO_USER = ":" + FILL(16) FI E_MESS = E_MESS + " - RC = " + NUMERIC(FLAG) END GOTO STEP08_NEXT END @=====================================================================@ @ @ @ @ @ @ @ P A R T T W O @ @ @ @ @ @ @ @=====================================================================@ @................................................................@ @ We have done all that we can under the new loadset for Sceptre @ @ The next step is to look at the user containing the data files @ @ which is usually :SCEPTRE. @ @................................................................@ @---------------------------------------------------------------------- STAGE_TWO: STEP09: @---------------------------------------------------------------------- STEP = "STEP09:" UCS_PRODUCTS () BOOL RUN_USER_DATA = FALSE IF ((UCS_VME = "Y") @OR (UCS_ARBITER = "Y")@) THEN RUN_USER_DATA = TRUE FI IF ((UCS_TPIDMS = "Y") OR (UCS_TPS = "Y")) THEN RUN_USER_DATA = TRUE FI IF ((RUN_USER_DATA) OR (UCS_ORACLE = "Y")) THEN ELSE SMSG(CLS + LINE23 + STEP + " There is no user data to set up if you only have " + "Overlord" + NL ) GOTO STEP_OK FI STRING D_FILE, D_USER IF WHICH_USER = "S" THEN D_USER = ":SCEPTRE" D_FILE = "ICL8UCS0LS0" + NUMERIC(VERSION) ELSF WHICH_USER EQ "A" THEN D_USER = ":ARBITER" D_FILE = "ICL8UCS0LA0" + NUMERIC(VERSION) ELSE D_USER = ":OVERLORD" D_FILE = "POST-PJE? " FI @........................................................@ @ We do not need to do anything for Overlord so all code @ @ which refers to it is redundant @ @........................................................@ STRING NEXT_USER = SUBSTR( D_USER + FILL(17), 0, 17) STRING REPLY_DATA = NEXT_USER + "Y" BEGIN STRING ANSWER = FILL(18) STRING E_MESS = "" MESS = CLS + SP + NL + STEP + TITLE + NL + NL + SOM IF WHICH_USER NE "O" THEN MESS = MESS + "Changes for user containing Sceptre data" + NL + NL + C0 + "A log file is required. " ELSE MESS = MESS + "Set up for Sceptre Overlord" + NL + NL FI MESS = MESS + D_USER + " is the standard user." + NL + NL + C0 + "If you do not use this user then you must tailor the SCL " + NL + C0 + D_FILE + " which is in the ICL_RSI_SOURCE library." + NL + C0 + "This must be compiled into INSTLIB before you run this step." + NL + C0 + NL + NL + NL + "Please enter user for Sceptre data" + C3 + SU + NEXT_USER + SP + NL + NL + "Do you want to make changes to this user" + C3 + SU + "Y" + SP + " Yes, No, Quit" + NL + NL STEP09_ASK: REPLY_DATA = NEXT_USER + "Y" ASK_MESSAGE ( PRO = MESS + E_MESS, MES = ANSWER, LEN = LEN , RES = RES ) IF LEN > 18 THEN E_MESS = "Too much reply data - please repeat" GOTO STEP09_ASK FI IF LEN > 0 THEN SUBSTR(REPLY_DATA, 0, LEN) = SUBSTR( ANSWER, 0, LEN) FI QN_REPLY = SUBSTR(REPLY_DATA, 17, 1) IF QN_REPLY = "N" THEN GOTO STEP_OK FI IF QN_REPLY = "Q" THEN SMSG(SU + NL + "Quit actioned" + NL) RETURN FI IF QN_REPLY NE "Y" THEN E_MESS = "Please answer Yes, No or Quit" GOTO STEP09_ASK FI END @ switch to the data user :SCEPTRE? BEGIN NEXT_USER = (SUBSTR(REPLY_DATA, 0, 16) + ".") BEFORE "." IF USER NE NEXT_USER THEN SMSG( "Switching to user " + NEXT_USER + NL) SWITCH_USER ( VAL NEXT_USER, Y, RES = FLAG) IF FLAG GT 0 THEN E_MESS = "Failed to SWITCH_USER - " + "You must run under :SYSMAN or " + NEXT_USER + NL + C3 +" - The user must also exist" RES = FLAG RETURN FI FI @............................................................@ @ We are now running under the Sceptre data user. This part @ @ should not be run if the SCL has not been tailored so we @ @ run UCS_CHECK_SCL to see what things look like @ @............................................................@ SMSG(CLS + LINE20 + STEP + TITLE + NL + NL + "Running UCS_CHECK_SCL" + NL ) UCS_CHECK_SCL() MESS = "Continue?" UCS_QN ( MESS, QN_REPLY) IF QN_REPLY NE "Y" THEN RETURN FI @..................................................@ @ Now we create a log file for Sceptre and Arbiter @ @..................................................@ IF WHICH_USER = "O" THEN GOTO STEP11 FI IF WHICH_USER = "S" THEN LOG_NAME = "SCEPTRE_LOG" ELSE LOG_NAME = "ARBITER_LOG" FI SMSG(STEP + " Checking for existing log file - " + LOG_NAME + NL) ENTER AF(NAM = VAL LOG_NAME, LNA = LNA, LOC = N, RES = FLAG) IF FLAG NE 0 THEN SMSG(NL + NL + STEP + "Creating log file") UCS_LOG_CREATE (IDE = VAL (D_USER AFTER ":"), ALL = VAL ALLOCATION, RES = RES ) IF RES GT 0 THEN RETURN FI ELSE SMSG("Log file already exists"+ NL) FI ASK_MESSAGE (SP + STEP + " Completed. Press SEND to continue" + SOM + SU , LEN = LEN, MES = QN_REPLY) @---------------------------------------------------------------------- STEP10: @---------------------------------------------------------------------- STEP = "STEP10:" IF UCS_TRENDS = "N" THEN GOTO STEP11 FI EXT PROC UCS088 IS (LITERAL,SPDRIW) BEGIN SMSG( NL + STEP + "Checking for new facilities") UCS088( "C", FLAG ) IF FLAG = 420 THEN SMSG(STEP + "New facilities not allowed") ASK_MESSAGE (SP + STEP + " Completed. Press SEND to continue" + SOM + SU , LEN = LEN, MES = QN_REPLY) GOTO STEP11 ELSE SMSG(STEP + "New facilities allowed") FI END @---------------------------------------------------------------------- STEP11: @---------------------------------------------------------------------- STEP = "STEP11:" @---------------------------------------------------------------------- END; STEP_OK: @---------------------------------------------------------------------- RES = 0 @............................................@ @ We do not need to do anything for Arbiter @ @ IF WHICH_USER EQ "S" @ @ THEN @ @ WHICH_USER EQ "A" @ @ @ @ IF UCS_ARBITER = "Y" @ @ THEN @ @ GOTO STAGE_TWO @ @ FI @ @ FI @ @............................................@ @ We do not need to do anything for Overlord @ @ @ @ IF WHICH_USER NE "O" @ @ THEN @ @ WHICH_USER EQ "O" @ @ @ @ IF UCS_OVERLORD = "Y" @ @ THEN @ @ GOTO STAGE_TWO @ @ FI @ @ FI @ @............................................@ STEP = "STEPOK:" SMSG ( CLS + LINE20 + SP + STEP + TITLE + NL + NL + NL + C1 + SU + "COMPLETED OK" + NL ) END PROCEND ++++ CSCL(ICLRSISOURCE.ICL8UCS0SETUP,ICLRSIOMF) AMENDMODULE(ICLRSIOMF.UCSSETUP) ---- CHA(MODULE,NOCAS=Y) ++++ IF RESULT = 0 THEN ENTER XF(ICLRSIOMF.UCSSETUP(5501)) FI