*NOSEQ
DOC
***** CYBER SUPERMINI PROCEDURES.
*
* J. H. ERICKSON 84/06/01
*
* THESE PROCEDURES FRONT END THE STANDARD UTILITIES.
* THESE PROCEDURE DO NOT PRESENT ALL THE OPTIONS
* AVAILABLE UNDER NOS. THEY DO REQUIRE ONLY A MINIMAL
* NUMBER OF DECISIONS ON THE PART OF THE USER. MOST
* OF THE PROCEDURES ARE RUN FROM THE SYSTEM CONSOLE.
* THREE OF THE PROCEDURES ARE RUN FROM A TERMINAL
* IN SCREEN MODE.
*
* BEFORE THE PROCEDURES CAN BE RUN THEY MUST BE
* INSTALLED USING THE SYSTEM PROCEDURE,
* MAINTAIN SYSTEM *MS*.
*
* FROM DSD ENTER: X.MS(SETUP)
*
* THIS WILL TAKE THE PROCEDURES AND THE VALIDATION TYPES
* ON ULIB/SUPERM AND PLACE THEM ON USER NAME SYSTEMX ON
* A PERMANENT FILE CALLED ZZZPFIL. THE PROCEDURE CPASS
* WILL BE PLACED ON A PUBLIC PERMANENT FILE ON SYSTEMX.
* *MS* WILL CREATE THE FILE ZZZZVDI USED BY VALUSER AND
* WRITEVI. THESE FILES CREATED BY *MS* ON SYSTEMX WILL
* GIVE USER NAME INSTALL WRITE PERMISSION.
*
* SETUP MAY ALSO BE USED AS FOLLOWS:
*
* X.MS(SETUP,XXXX)
*
* THIS FORMAT ALLOWS THE OPERATOR TO INSTALL PROTIONS
* OF WHAT WAS INSTALLED BY * X.MS(SETUP) *. THE
* PORTION IS SPECIFIED BY USING THE PARAMETER *XXXX*.
* SUBSTITUTING ZZZZVDI FOR XXXX INSTALLS ZZZZVDI.
* SUBSTITUTING SUPERM FOR XXXX INSTALLS THE PROCEDURES
* AND VALIDATION TYPES.
*
* ALL THE TAPES USED IN THESE PROCEDURES ARE ASSUMED
* TO BE PRELABELED GE DENSITY TAPES. THE PROCEDURES
* FOR DAYFILE AND QUEUE FILE MAINTENANCE ASSUME ONLY
* ONE TAPE WILL BE REQUIRED FOR EACH RUN. A SETNAME
* PARAMETER IS SUPPLIED TO IDENTIFY THE SET OF TAPES
* USED. THE SETNAME MUST BE 1-5 ALPHANUMERIC CHARACTERS.
* THE PROCEDURES CONCATENATE THE SETNAME WITH THE
* VOLUME NUMBER OF TAPE TO GET THE ACTUAL VSN.
* EXAMPLE: THE SETNAME IS FRI AND THE VOLUME NUMBER
* IS 2. THE VSNS WOULD BE FRI1 AND FRI2.
* BE FRIDAY1 OR FRIDAY2, ETC.
*
* THE GLOBAL *CCL* REGISTER R1G IS USED TO COMMUNICATE
* BETWEEN THE SYSTEM PROCEDURE, *MS* AND THE CALLED
* PROCEDURES. IF R1G IS EQUAL TO ONE THEN *MS* KNOWS
* THERE WAS A FAILURE IN THE CALLED PROCEDURES AND
* THE CALLED PROCEDURE NOTIFIED THE OPERATOR. IF
* *MS* GOES TO EXIT PROCESSING THEN *MS* KNOWS THERE
* WAS AN ERROR IN THE CALLED PROCEDURE AND THE CALLED
* PROCEDURE DID NOT NOTIFIED THE OPERATOR. IF R1G
* IS EQUAL TO ZERO THEN THE CALLED PROCEDURE COMPLETED
* SUCCESSFULLY.
*
*WEOR
.PROC,MS*I
,TOOL =(*F)
,P1 =(*N=$$,*A)
,P2 =(*N=$$,*A)
,P3 =(*N=$$,*A)
,P4 =(*N=$$,*A)
,P5 =(*N=$$,*A)
,P6 =(*N=$$,*A)
,P7 =(*N=$$,*A)
.
.* MS - MAINTAIN SYSTEM
.* THIS SYSTEM PROCEDURE IS USED TO INITIATE TOOLS
.* THAT ARE USED IN MAINTAINING THE SYSTEM.
.* DSD COMMAND FORMAT:
.*
.* X.MS(TOOL,P1,P2,P3...)
.*
.* WHERE TOOL IS THE PROCEDURE NAME, P1, P2, P3, ETC. ARE THE
.* PARAMETERS TO THE PROCEDURE.
.* THE PROCEDURE DESIGNED TO BE INITIATED FROM A TERMINAL WILL
.* BE INITIATED AS:
.*
.* SCREEN,TERMINAL TYPE.
.* MS(TOOL)
.*
.* IN THIS CASE, THE TOOL WILL PROMPT THE USER FOR THE PARAMETERS.
.* CURRENTLY THE TOOLS RESIDE ON A PERMANENT FILE ZZZPFIL ON
.* SYSTEMX.
.IF,OT.EQ.SYO,MS1.
* EXECUTE TOOL FROM THE CONSOLE
.IF,$TOOL$.EQ.$SETUP$,MS2.
* THIS IS A SETUP RUN.
* ZZZPFIL AND/OR ZZZZVDI ARE INSTALLED
* ON SYSTEMX DEPENDING ON THE P1 PARAMETER.
* SETUP IS CREATED BY A .DATA STATEMENT IN MS.
BEGIN(SETUP,SETUP,P1)
REVERT. MS COMPLETE
EXIT.
RETURN,*,OUTPUT.
***********************************
* *
*SETUP IS NOT SUPPORTED AS CALLED. *
*PLEASE CONSULT CYBER SUPERMINI *
*OPERATIONS HANDBOOK AND TRY AGAIN *
* *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
************************************
REQUEST(OPER) SETUP FAILED
RETURN(OPER)
REVERT. MS(SETUP) FAILED
.ENDIF,MS2.
ATTACH,ZZZPFIL.
SKIP,MS3.
EXIT.
***********************************
* *
* PROCFIL ZZZPFIL WAS NOT FOUND. *
* RUN X.MS(SETUP) TO CREATE THIS *
* PROCFIL. *
* *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
***********************************
REQUEST(OPER) MS FAILED.
RETURN(OPER)
WRITEF.
REVERT. MS
ENDIF,MS3.
* CHECK TO SEE IF TOOL IS
* SUPPORTED FROM THE CONSOLE
* IF SO CHECK TO SEE IF TOO MANY
* PARAMETERS WERE SUPPLIED
BEGIN(VERTOOL,ZZZPFIL,TOOL,P1,P2,P3,P4,P5,P6,P7)
* EXECUTE THE TOOL
BEGIN(TOOL,ZZZPFIL,P1,P2,P3,P4,P5)
SKIP,MS6.
EXIT.
* TOOL FAILED AND THE EXACT
* ERROR COULD NOT BE IDENTIFIED.
BEGIN(ERRTOOL,ZZZPFIL,TOOL)
REVERT. MS
ENDIF,MS6.
* THE R1G REGISTER IS USED TO STATE WHETHER OR
* NOT TOOL WAS SUCCESSFUL.
* R1G=1 FOR ERROR IN TOOL.
IF,R1G.EQ.1,MS7.
* THERE WAS AN ERROR IN TOOL THAT WAS
* REPORTED TO THE OPERATOR BY TOOL.
WRITEF.
REVERT. MS
ENDIF,MS7.
* TOOL COMPLETED SUCCESSFULLY.
BEGIN(SUCCESS,ZZZPFIL,TOOL)
.ELSE,MS1.
.IF,OT.EQ.IAO,MS1.
ATTACH,ZZZPFIL/UN=SYSTEMX,NA.
ATTACH,ZZPPFIL/UN=SYSTEMX.
SKIP,MS8.
EXIT.
NOTE(OUTPUT)* PROCFIL ZZPPFIL WAS NOT FOUND.
NOTE(OUTPUT)* RUN X.MS(SETUP)
NOTE(OUTPUT)* FROM THE CONSOLE
NOTE(OUTPUT)* TO CREATE THIS PROCFIL.
ROLLOUT(5)
REVERT. MS(TOOL) FAILED
ENDIF,MS8.
* CHECK TO SEE IF TOOL IS SUPPORTED
* FROM A TERMINAL
BEGIN(VERIAT,ZZPPFIL,TOOL)
* BEGIN EXECUTION OF THE TOOL
.IF,$TOOL$.EQ.$WRITEVI$,MS11.
ATTACH,ZZZPFIL/UN=SYSTEMX.
BEGIN(TOOL,ZZZPFIL,P1,P2,P3,P4,P5,P6,P7)
REVERT. MS (TOOL) COMPLETED.
EXIT.
* WRITEVI CANNOT BE RUN FROM THIS
* USER.
REVERT. MS (TOOL) FAILED.
.ELSE,MS11.
BEGIN(TOOL,ZZPPFIL,P1,P2,P3,P4,P5,P6,P7)
REVERT. MS (TOOL) COMPLETED.
.ENDIF,MS11
SKIP,MS9.
EXIT.
NOTE(OUTPUT,NR)* TOOL FAILED. PLEASE
NOTE(OUTPUT,NR)* EXAMINE THE DAYFILE
NOTE(OUTPUT,NR)* TO IDENTIFIED THE CAUSE.
ROLLOUT(5)
REVERT. MS (TOOL) FAILED
ENDIF,MS9.
REVERT. (TOOL) COMPLETE
.ELSE,MS1.
* TOOL NOT SUPPORTED FROM
* THIS ORIGIN TYPE.
* #TOOLS ARE ONLY SUPPORTED FROM A
* TERMINAL OR THE CONSOLE BY MS.
* PLEASE TRY TOOL FROM AN ORIGIN
* TYPE WHICH SUPPORTS IT.
* TOOL WAS NOT RUN.
REVERT. MS FAILED.
.ENDIF,MS1.
.IF,OT.EQ.SYO,MS10.
.DATA,SETUP.
.EXPAND,OFF.
.PROC,SETUP*I
,P1 [SETUP THIS]
=(*N=0,PROCFIL=1,ZZZZVDI=2)
.
IF,((P1.EQ.0).OR.(P1.EQ.2)),SETUP1.
* INSTALL ZZZZVDI.
PURGE(ZZZZVDI/NA)
DEFINE(ZZZZVDI)
PERMIT(ZZZZVDI,INSTALL=W)
RETURN(ZZZZVDI)
SKIP,SETUP1.
EXIT.
IF,PNL.EQ.2,SETUP3.
RETURN,*,OUTPUT.
ENDIF,SETUP3.
***************************************
* *
* SETUP FAILED WHILE TRYING *
* TO CREATE ZZZZVDI. PLEASE EXAMINE *
* THE OUTPUT TO ISOLATE THE CAUSE. *
* *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
***************************************
IF,PNL.EQ.2,SETUP4.
REQUEST(OPER) SETUP FAILED
RETURN(OPER)
ELSE,SETUP4.
REVERT,EX.REVERT,ABORT. SETUP FAILED.
ENDIF,SETUP4.
REVERT. SETUP FAILED
ENDIF,SETUP1.
IF,((P1.EQ.0).OR.(P1.EQ.1)),SETUP2.
* INSTALL THE PROCFILS, ZZZPFIL AND ZZPPFIL.
COMMON(SYSTEM)
PURGE(ZZZPFIL,ZZPPFIL/NA)
DEFINE(ZZZPFIL)
DEFINE(ZZPPFIL/CT=PU)
PERMIT(ZZZPFIL,INSTALL=W)
GTR(SYSTEM,TEMP)ULIB/SUPERM
GTR(TEMP)SPRI-EPRI
LIBEDIT(N=ZZZPFIL,P=0,Z)/*FILE LGO/*IGNORE,SPRI,EPRI/*BUILD ZZZPFIL
RETURN,LGO.
GTR(TEMP)SPUB-EPUB
LIBEDIT(N=ZZPPFIL,P=0,Z)/*FILE LGO/*IGNORE,SPUB,EPUB/*BUILD ZZPPFIL
ENDIF,SETUP2.
IF,PNL.EQ.2,SETUP5.
BEGIN(SUCCESS,ZZZPFIL,SETUP)
ENDIF,SETUP5.
WRITEF,OUTPUT.
REVERT. SETUP COMPLETE
EXIT.
IF,PNL.EQ.2,SETUP6.
RETURN,*,OUTPUT.
ENDIF,SETUP6.
***************************************
* *
* SETUP FAILED WHILE TRYING *
* TO CREATE PROCFILS. PLEASE EXAMINE *
* THE OUTPUT TO ISOLATE THE CAUSE. *
* *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
***************************************
IF,PNL.EQ.2,SETUP7.
REQUEST(OPER) SETUP FAILED
RETURN(OPER)
ELSE,SETUP7.
REVERT,EX.REVERT,ABORT. SETUP FAILED.
ENDIF,SETUP7.
REVERT. SETUP FAILED
.EXPAND.
.ENDIF,MS10.
*WEOR
SPUB
*WEOR
.PROC,CPASS*I
,OLDPASS [OLD PASSWORD]
=(*S7(ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789)),
,NEWPASS [NEW PASSWORD]
=(*S7(ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789)),
,NPASS [ENTER NEW PASSWORD AGAIN]
=(*S7(ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789)).
.*
.* COMMAND FORMAT : MS(CPASS)
.* THIS PROCEDURE CAN BE RUN FROM ANY TERMINAL LOGGED INTO A VALID
.* USER NAME. CPASS WILL ASK FOR THE OLD PASSWORD AND THE NEW
.* PASSWORD. THEN IT WILL ASK FOR THE NEW PASSWORD AGAIN. IF THE
.* SECOND REPONSE MATCHES THE FIRST, CPASS WILL CHANGE BOTH THE
.* BATCH AND INTERACTIVE PASSWORDS TO THE NEW PASSWORD. IF THE
.* NEW PASSWORD IS NOT TYPED IN THE SAME BOTH TIMES CPASS WILL
.* ASK THE USER TO TRY AGAIN.
.*
.IF, $NEWPASS$ .NE. $NPASS$, CPASS1.
NOTE(OUTPUT,NR)++ YOUR NEW PASSWORDS DISAGREE. TRY AGAIN.+
SET,R1G=1.
.ELSE,CPASS1.
PASSWOR,OLDPASS,NEWPASS.
SUBMIT,CHGPASS,N.
.ENDIF,CPASS1.
REVERT. CPASS COMPLETED.
.DATA,CHGPASS
/JOB
PASSWOR.
/USER
PASSWOR,OLDPASS,NEWPASS.
EXIT.
*WEOR
.PROC,FINDJSN*I
,JSN [JOB SEQUENCE NUMBER]
=(*S4(ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890)).
.*
.* COMMAND FORMAT : *FINDJSN(JSN)*
.* THIS PROCEDURE PRINTS ALL DAYFILE ENTRIES FOR A SPECIFIC JOB
.* BY EXAMINING THE CURRENT ACTIVE SYSTEM DAYFILE FOR ALL ENTRIES
.* MADE BY THE JOB WITH A SPECIFIC JSN.
.*
ATTACH,DF=DAYFILE/UN=SYSTEMX/NA.
IF,.NOT.FILE(DF,AS),FNDJSN1.
SET,R1G=1. ABORT.
NOTE.++ DAYFILE NOT FOUND IN SYSTEMX.+
RETURN,DF,FIEDIT.
WRITEF,OUTPUT.
REVERT. FINDJSN ABORTED.
ENDIF,FNDJSN1.
EDIT,DF,I=FIEDIT,L=ZZLIST.
REWIND,*,OUTPUT.
SKIP,FINDJS1.
EXIT.
REVERT,ABORT. FINDJSN FAILED.
ENDIF,FINDJS1.
VERIFY,ZZLIST,ZZZFIND,A.
.* IF THE FILES VERIFY THAN THE JSN WAS NOT FOUND IN THE DAYFILE.
SET,R1G=1.
NOTE(OUTPUT,NR)* *
NOTE(OUTPUT,NR)* ERROR-- #JSN JSN WAS NOT FOUND *
NOTE(OUTPUT,NR)* IN THE DAYFILE. RETRY WITH A *
NOTE(OUTPUT,NR)* DIFFERENT #JSN. *
NOTE(OUTPUT,NR)* *
ROLLOUT,7.
REVERT. FINDJSN FAILED.
EXIT.
REWIND,*,OUTPUT.
COPYEI,ZZLIST,OUTPUT.
RETURN,DF,FIEDIT.
WRITEF,OUTPUT.
REVERT. FINDJSN COMPLETED.
.DATA,FIEDIT
L:/. JSN/;*
END
.DATA,ZZZFIND.
BEGIN TEXT EDITING.
-END OF FILE-
END TEXT EDITING.
*WEOR
.PROC,LOADLOG*I
,VSN [VOLUME SERIAL NUMBER]
=(*S6(ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890)),
,ACCOUNT [LOAD ACCOUNT FILE. ENTER YES OR NO]
=(NO,YES),
,DAYFILE [LOAD DAYFILE FILE. ENTER YES OR NO]
=(NO,YES),
,ERRLOG [LOAD ERRLOG FILE. ENTER YES OR NO]
=(NO,YES),
,MAINLOG [LOAD MAINLOG FILE. ENTER YES OR NO]
=(NO,YES).
.*
.* COMMAND FORMAT : *LOADLOG(VSN,ACCOUNT,DAYFILE,ERRLOG,MAINLOG)*
.* THIS PROCEDURE USES RECLAIM TO LOAD THE PERMANENT FILES (ACCOUNT,
.* DAYFILE, ERRLOG, AND MAINLOG) FROM A TAPE CREATED BY ENDLOG.
.* THE TAPE IS A GE DENSITY LABELED TAPE WITH A VSN.
.* ANY SUBSET OF THESE LOGS MAY BE LOADED.
.*
EDIT,INDIR,I=LOEDIT,L=ZZSCR.
RECLAIM,I=INDIR,DB=0.
UNLOAD,INDIR,TAPE,LOEDIT,ZZSCR.
WRITEF,OUTPUT.
REVERT. LOADLOG COMPLETED.
EXIT.
UNLOAD,INDIR,TAPE,LOEDIT,ZZSCR.
WRITEF,OUTPUT.
REVERT. LOADLOG FAILED.
.DATA,INDIR
LOAD,D=GE,NT,TN=VSN,RP=Y,PF=*
.IF,$ACCOUNT$ .EQ. $YES$.#ACCOUNT+
.IF,$DAYFILE$ .EQ. $YES$.-#DAYFILE+
.IF,$ERRLOG$ .EQ. $YES$.-#ERRLOG+
.IF,$MAINLOG$ .EQ. $YES$.-#MAINLOG
.DATA,LOEDIT
CS:/+/,/-/;*
/,/
RS:/+/,/ /;1
DS:/-/;1
END
*WEOR
.PROC,VERIAT*I
,P1 [TOOL]
=(WRITEVI=1,FINDJSN=1,LOADLOG=1,CPASS=1,1=L,*A)
.
.IF,($P1$.EQ.$1$).REVERT,NOLIST. TOOL SUPPORTED FROM TERMINAL
NOTE(OUTPUT)* P1 NOT SUPPORTED FROM A TERMINAL
ROLLOUT(5)
REVERT,EX.REVERT. P1 FAILED
*WEOR
EPUB
*WEOR
SPRI
*WEOR
.PROC,BLANKST*I"BLANK LABEL A SET OF TAPES"
,SETNAME [SETNAME OF DUMP TAPES]
=(*A,*N=)
,NUMBER [NUMBER OF DUMP TAPES TO BLANK LABEL]
=(*A,*N=)
.
.*
.* COMMAND FORMAT : *X.MS(BLANKST,SETNAME,NUMBER)*
.* WHERE NUMBER IS THE NUMBER OF VOLUMES TO BE LABELED.
.* THIS PROCEDURE BLANK LABELS (NUMBER) TAPES USING (SETNAME)
.* AS THE ROOT. THE VSNS WILL BE;
.* SETNAME_1 SETNAME_2 .... (MAX OF 8 TAPES)
.*
BEGIN,VERSETN,ZZZPFIL,SETNAME. VERIFY SETNAME
SKIP,BLANKST1.
EXIT.
BEGIN,ERRSETN,ZZZPFIL,BLANKST,SETNAME.
SET(R1G=1)
WRITEF,OUTPUT.
REVERT. BLANKST FAILED
ENDIF,BLANKST1.
BEGIN,VERSETM,ZZZPFIL,NUMBER. VERIFY MAX SETNAME
SKIP,BLANKST2.
EXIT.
BEGIN,ERRSETM,ZZZPFIL,BLANKST,NUMBER.
SET(R1G=1)
WRITEF,OUTPUT.
REVERT. BLANKST FAILED
ENDIF,BLANKST2.
SET,R1=0.
WHILE,R1 .LT. NUMBER, BLANKST3.
SET,R1=R1+1.
BEGIN,BLANKX,ZZZPFIL,SETNAME,R1+D,BLANKST.
ENDW,BLANKST3.
WRITEF,OUTPUT.
REVERT. BLANKST COMPLETED
*WEOR
.PROC,BLANKX,ROOT,TAPENUM,P1.
***************************************
* *
* TO ASSIGN A TAPE TO A TAPE DRIVE *
* ENTER: ASSIGN,JSN,NN. *
* WHERE NN IS THE EST OF THE *
* TAPE DRIVE, FOUND IN THE E,T *
* DISPLAY. *
* *
***************************************
BLANK,VSN=ROOT_TAPENUM,D=GE.
REVERT,NOLIST. BLANKX COMPLETE.
EXIT.
RETURN,*,OUTPUT.
SET,R1G=1.
***************************************
* *
* ERROR--BLANKST : SETNAME=ROOT *
* MAY BE OPERATOR TERMINATION ELSE *
* CONSULT DAYFILE. THEN TRY AGAIN *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
***************************************
REQUEST,OPER. P1 FAILED.
RETURN,OPER.
WRITEF,OUTPUT.
REVERT,EX. REVERT. BLANKST FAILED.
*WEOR
.PROC,DUMPALL*I"DUMP ALL FILES"
,P1 [SETNAME OF DUMP TAPES]
=(*A,*N=)
.
.*
.* COMMAND FORMAT : *X.MS(DUMPALL,SETNAME)*
.* THIS PROCEDURE DUMPS ALL PERMANENT FILES TO THE SET OF
.* TAPES IDENTIFIED BY SETNAME. DUMPALL WILL ALSO CREATE
.* A PERMANENT FILE, ZZDUMPM, ON USER NAME SYSTEMX WHICH
.* CONTAINS THE SETNAME FOR THIS DUMP AND THE DATE AND TIME OF THE
.* DUMP. THIS INFORMATION IS USED TO CONNECT THIS DUMP
.* WITH SUBSEQUENT DUMPS OF FILES THAT ARE MODIFIED
.* AFTER THIS DUMP.
.*
.* WHEN THIS PROCEDURE COMPLETES CHECK THE DAYFILE
.* TO DETERMINE THAT ALL THE FILES WERE DUMPED. IT
.* IS POSSIBLE FOR DUMPALL TO COMPLETE SUCESSFULLY
.* AND NOT HAVE ALL THE FILES DUMPED TO TAPE. IF
.* A DIRECT ACCESS FILE IS ATTACHED IN WRITE MODE TO A JOB THEN
.* THAT FILE IS SKIPPED BY DUMPALL.
.*
BEGIN(LABELS,ZZZPFIL,P1,DUMPALL,DATE+D)
BEGIN(DUMPFUL,ZZZPFIL,DATE+D,P1,TIME+D)
WRITEF,OUTPUT.
REVERT. DUMPALL COMPLETED
*WEOR
.PROC,DUMPFUL*I
,P [DATE OF FULL DUMP]
=(*A)
,P2 [SETNAME OF FULL DUMP]
=(*A)
,P3 [TIME OF FULL DUMP]
=(*A).
REPLACE,ZZDUMPM. *P = CURRENT DATE. *
PFDUMP.
REVERT,NOLIST. DUMPFUL COMPLETED.
.DATA,ZZDUMPM
.PROC,ZZDUMPM.
PFDUMP,OP=M,AD=P,AT=P3_00,PVSN=P2_1. * P2 = SETNAME OF FULL DUMP. *
REVERT,NOLIST. ZZDUMPM COMPLETED.
*WEOR
.PROC,DUMPLOG*I
,VSN [VOLUME SERIAL NUMBER]
=(*A,*N=)
,P [PURGE ON/OFF]
=(*A,*N=).
.*
.* COMMAND FORMAT : *DUMPLOG(VSN,PURGE)*
.* THIS PROCEDURE USES RECLAIM TO DUMP PERMANENT FILES
.* (ACCOUNT, DAYFILE, ERRLOG, AND MAINLOG) CREATED BY
.* PROCEDURE ENDLOG TO TAPE. THE TAPE IS A GE DENSITY
.* LABELED TAPE WITH A VSN. IF PARAMETER PURGE IS SET
.* TO PURGE, THE PERMANENT FILES ARE PURGED AFTER THEY
.* ARE DUMPED. IF PURGE IS NOT SUPPLIED, THE FILES WILL
.* NOT BE PURGED.
.*
BEGIN,VERPURG,ZZZPFIL,P,DUMPLOG.
ATTACH,ACCOUNT/NA.
ATTACH,DAYFILE/NA.
ATTACH,ERRLOG/NA.
ATTACH,MAINLOG/NA.
IF,(FILE(ACCOUNT,PM).AND.
FILE(DAYFILE,PM).AND.
FILE(MAINLOG,PM).AND.
FILE(ERRLOG,PM)).SKIP,DUMPLOG2.
RETURN,*,OUTPUT.
SET,R1G=1.
****************************************
* *
* ERROR-- DUMPLOG FAILED *
* ENDLOG OR ENDDF MUST BE EXECUTED *
* BEFORE DUMPLOG. EXAMINE THE *
* OUTPUT FROM THIS JOB TO *
* DETERMINE THE CAUSE OF THE *
* FAILURE. *
* *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
***************************************
REQUEST,OPER. DUMPLOG FAILED.
RETURN,OPER.
REVERT. DUMPLOG FAILED.
ENDIF,DUMPLOG2.
RETURN,ACCOUNT,DAYFILE,ERRLOG,MAINLOG.
BEGIN(LABELV,ZZZPFIL,VSN,DUMPLOG,DATE+D)
RECLAIM,Z./DUMP,EI=NO,DN=TAPE,PF=*/ACCOUNT,DAYFILE,ERRLOG,MAINLOG
IF,$P$.EQ.$PURGE$,DUMPLOG1.
PURGE,ACCOUNT,DAYFILE,ERRLOG,MAINLOG/NA.
ENDIF,DUMPLOG1.
WRITEF,OUTPUT.
REVERT. DUMPLOG COMPLETED.
*WEOR
.PROC,DUMPMOD*I"DUMP MODIFIED FILES"
,P1 [SETNAME OF DUMP TAPES]
=(*A,*N=)
.
.*
.* COMMAND FORMAT : *X.MS(DUMPMOD,SETNAME)*
.* THIS PROCEDURE WILL DUMP PERMANENT FILES THAT HAVE BEEN
.* MODIFIED SINCE THE LAST DUMPALL. DUMPMOD USES
.* THE INFORMATION ON THE FILE ZZDUMPM TO DETERMINE
.* WHEN DUMPALL WAS LAST CALLED. IT ALSO STORES THE VSN
.* OF THE FIRST TAPE USED IN THE DUMPALL ON THIS DUMP.
.*
BEGIN(LABELS,ZZZPFIL,P1,DUMPMOD,DATE+D)
IF,R1G.EQ.1.REVERT. DUMPMOD FAILED
GET,ZZDUMPM/NA.
IF,FILE(ZZDUMPM,LO),DUMPMOD2.
BEGIN,,ZZDUMPM.
ELSE,DUMPMOD2.
BEGIN(DUMPFUL,ZZZPFIL,DATE+D,P1,TIME+D)
************************************
* A DUMPALL WAS PERFORMED BECAUSE
* THE RECORD OF WHEN THE LAST DUMPALL
* WAS PERFORMED WAS NOT FOUND.
**************************************
WRITEF,OUTPUT.
REVERT. DUMPALL COMPLETED.
ENDIF,DUMPMOD2.
WRITEF,OUTPUT.
REVERT. DUMPMOD COMPLETED.
*WEOR
.PROC,DUMPOLD*I"ARCHIVE FILES"
,P1 [SETNAME OF TAPES TO BE USED]
=(*A,*N=)
,P2 [LAST ACCESS BEFORE DATE CUTOFF]
=(*A,*N=).
.*
.* COMMAND FORMAT : *X.MS(DUMPOLD,SETNAME,DATE)*
.* THIS PROCEDURE WILL DUMP PERMANENT FILES THAT HAVE NOT
.* BEEN READ, EXECUTED OR WRITTEN AFTER DATE. AFTER THESE
.* FILES HAVE BEEN DUMPED THEY WILL BE PURGED. THE OUTPUT
.* FROM THIS PROC WILL BE STORED ON A PERMANENT FILE ON
.* SYSTEMX NAMED DYYMMDD WHERE YYMMDD IS THE DATE OF THE DUMP.
.*
BEGIN,VERDATE,ZZZPFIL,P2,DUMPQUE.
***************************************
* NOTE--IF THIS PROCEDURE CONTINUES, *
* PERMANENT FILES HAVING A LAST *
* ACCESS DATE PRIOR TO P2 ARE *
* DUMPED TO TAPE AND PURGED. *
* *
* TO "NOT" DUMP ANS PURGE FILES: *
* ENTER DROP,JSN. *
* TO DUMP AND PURGE FILES: *
* ENTER: ASSIGN,JSN,2. *
* *
***************************************
REQUEST,OPER. STOP OR PURGE?
RETURN,OPER.
SKIP,DUMPOLD1.
EXIT.
RETURN,*,OUTPUT.
SET(R1G=1)
*************************************
* *
* NO FILES WERE DUMPED TO TAPE OR *
* PURGED. *
* DUMPOLD STOPPED AS REQUESTED. *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
*************************************
REQUEST,OPER. DUMPOLD STOPPED.
RETURN,OPER.
WRITEF,OUTPUT.
REVERT. DUMPOLD STOPPED.
ENDIF,DUMPOLD1.
BEGIN(LABELS,ZZZPFIL,P1,DUMPOLD,DATE+D)
PFDUMP(OP=AP,BD=P2).
***************************************
* *
* ALL FILES HAVING A LAST ACCESS DATE *
* BEFORE ** P2 ** HAVE NOW *
* BEEN DUMPED TO TAPE AND PURGED. *
***************************************
WRITEF,OUTPUT.
REVERT. DUMPOLD COMPLETED.
*WEOR
.PROC,DUMPQUE*I
,VSN [VOLUME SERIAL NUMBER]
=(*A,*N=).
.*
.* COMMAND FORMAT : *X.MS(DUMPQUE,VSN)*
.* THIS PROCEDURE IS USED TO DUMP AND PURGE ALL QUEUE FILES.
.*
BEGIN(LABELV,ZZZPFIL,VSN,DUMPQUE,DATE+D)
QREC(OP=DI,PO=N)
QDUMP(DA=ALL,PO=N,FN=TAPE)
QREC(OP=PI,PO=N)
WRITEF,OUTPUT.
REVERT. DUMPQUE COMPLETED.
*WEOR
.PROC,ENDDF*I"RESTART A DAYFILE"
,P1 [TYPE OF DAYFILE]
=(ACCOUNT=1,DAYFILE=2,ERRLOG=3,MAINLOG=4,*A,*N=$$).
.* COMMAND FORMAT: X.MS(ENDDF,DAYFILE)
.* THIS PROCEDURE CAUSES THE SYSTEM TO APPEND THE SPECIFIED
.* *DAYFILE* TO A PERMANENT FILE WITH THE SAME NAME. IF THE
.* CORRESPONDING PERMANENT FILE ALREADY EXISTS, THE DAYFILE IS
.* COPIED TO THE PERMANENT FILE AS AN ADDITIONAL RECORD.
.* IF THE PERMANENT FILE DOES NOT EXIST, ENDDF DEFINES IT, AND THE
.* CORRESPONDING DAYFILE IS COPIED THE PERMANENT FILE AS THE FIRST
.* RECORD. A NEW SYSTEM DAYFILE IS CREATED TO RECEIVE SUBSEQUENT
.* DAYFILE MESSAGES. THE SUPPORTED VALUES FOR THE PARAMETER,
.* *DAYFILE* ARE ACCOUNT, DAYFILE, ERRLOG, AND MAINLOG.
.*
.IF,P1.EQ.1,ENDDF1.
BEGIN,ENDDFL,ZZZPFIL,ACCOUNT,AC.
.ELSE,ENDDF1.
.IF,P1.EQ.2,ENDDF1.
BEGIN,ENDDFL,ZZZPFIL,DAYFILE,DF.
.ELSE,ENDDF1.
.IF,P1.EQ.3,ENDDF1.
BEGIN,ENDDFL,ZZZPFIL,ERRLOG,ER.
.ELSE,ENDDF1.
.IF,P1.EQ.4,ENDDF1.
BEGIN,ENDDFL,ZZZPFIL,MAINLOG,ML.
.ELSE,ENDDF1.
BEGIN(ERRDAY,ZZZPFIL,ENDDF,P1)
.ENDIF,ENDDF1.
WRITEF,OUTPUT.
REVERT,NOLIST. ENDDF COMPLETED.
*WEOR
.PROC,ENDDFL*I
,P1 [SYSTEM LOG FILE NAME]
=(ACCOUNT,DAYFILE,ERRLOG,MAINLOG)
,P2 [TWO CHARACTER LOG FILE IDENTIFIER]
=(AC,DF,ER,ML)
.
PURGE,P2_FILE/NA.
DFTERM,FT=P1,NM=FILE,PO=N.
ATTACH(P2_FILE)
ATTACH,P1/M=W,NA.
IF,FILE(P1,.NOT.PM),ENDDF1.
DEFINE,P1.
ENDIF,ENDDF1.
SKIPEI,P1.
COPYEI,P2_FILE,P1.
PURGE,P2_FILE.
***************************************
* *
* P1 RESTART COMPLETE *
* *
***************************************
REVERT. ENDDFL COMPLETE
*WEOR
.PROC,ENDLOG.
.*
.* COMMAND FORMAT : *X.MS(ENDLOG)*
.* THIS PROCEDURE CALLS *ENDDF* FOR EACH OF THE FOUR SYSTEM
.* DAYFILES.
.*
BEGIN(ENDDFL,ZZZPFIL,ACCOUNT,AC)
BEGIN(ENDDFL,ZZZPFIL,DAYFILE,DF)
RETURN,*.
BEGIN(ENDDFL,ZZZPFIL,ERRLOG,ER)
BEGIN(ENDDFL,ZZZPFIL,MAINLOG,ML)
WRITEF,OUTPUT.
REVERT. ENDLOG COMPLETED.
*WEOR
.PROC,ERRDAY*I
,P1 [TOOL]
=(*F)
,P2 [ERRONEOUS DAYFILE]
=(*A,*N=NULL)
.
RETURN,*,OUTPUT.
SET(R1G=1)
*************************************
* *
* ERROR--DAYFILE : P2. *
* NOT PROPERLY SPECIFIED *
* TRY AGAIN WITH ACCOUNT, DAYFILE, *
* ERRLOG, OR MAINLOG. *
* *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
*************************************
REQUEST,OPER. P1 FAILED
RETURN,OPER.
REVERT,EX.REVERT. P1 FAILED
*WEOR
.PROC,ERRJSN*I
,P1 [PROCEDURE ERRJSN IS CALLED FROM]
=(*F)
,P2 [JSN THAT WAS INCORRECT]
=(*A,*N=NONE).
SET(R1G=1)
RETURN,*,OUTPUT.
***************************************
* *
* ERROR--#JSN : P2 *
* NOT PROPERLY SPECIFIED. *
* TRY AGAIN WITH A 1-6 ALPHANUMERIC *
* CHARACTER JSN. *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
***************************************
REQUEST,OPER. P1 FAILED.
RETURN,OPER.
REVERT,NOLIST. ERRJSN COMPLETED.
*WEOR
.PROC,ERRNOU.
SET(R1G=1)
RETURN,*,OUTPUT.
***************************************
* *
* ERROR--TO SPECIFY A PERMANENT FILE, *
* THE USER NAME MUST ALSO BE GIVEN. *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
***************************************
REQUEST,OPER. LOADF FAILED.
RETURN,OPER.
WRITEF,OUTPUT.
REVERT,EX.REVERT. LOADF FAILED.
*WEOR
.PROC,ERRSETM*I
,P1 [PROCEDURE ERRSETM IS CALLED FROM]
=(*F)
,P2 [NUMBER THAT WAS INCORRECT]
=(*A,*N=NONE).
SET(R1G=1)
RETURN,*,OUTPUT.
***************************************
* *
* ERROR--NUMBER OF DUMP TAPES TO *
* BLANK LABEL NOT PROPERLY SPECIFIED. *
* TRY AGAIN WITH A NUMERIC DIGIT IN *
* RANGE : 1 TO 8. *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
***************************************
REQUEST,OPER. P1 FAILED.
RETURN,OPER.
REVERT,NOLIST. ERRSETM COMPLETED.
*WEOR
.PROC,ERRSETN*I
,P1 [PROCEDURE ERRSETN IS CALLED FROM]
=(*F)
,P2 [SETNAME THAT WAS INCORRECT]
=(*A,*N=NONE).
SET(R1G=1)
RETURN,*,OUTPUT.
***************************************
* *
* ERROR--SETNAME : P2 *
* NOT PROPERLY SPECIFIED. *
* TRY AGAIN WITH A 1-5 ALPHANUMERIC *
* CHARACTER SETNAME. *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
***************************************
REQUEST,OPER. P1 FAILED.
RETURN,OPER.
REVERT,NOLIST. ERRSETN COMPLETED.
*WEOR
.PROC,ERRTOOL*I
,P1 [TOOL]
=(*F)
.
SET(R1G=1)
RETURN,*,OUTPUT.
****************************************
* *
* ERROR--P1 FAILED *
* EXAMINE THE OUTPUT FROM THIS JOB TO *
* DETERMINE THE CAUSE OF THE FAILURE *
* *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER ASSIGN,JSN,2. *
* *
****************************************
REQUEST,OPER. P1 FAILED
RETURN,OPER.
WRITEF.
REVERT,EX.REVERT. P1 FAILED
*WEOR
.PROC,ERRUSER*I
,P1 [PROCEDURE ERRUSER IS CALLED FROM]
=(*F)
,P2 [USER NAME THAT WAS INCORRECT]
=(*A,*N=NONE).
SET(R1G=1)
RETURN,*,OUTPUT.
***************************************
* *
* ERROR--USER NAME P2. *
* NOT PROPERLY SPECIFIED. *
* TRY AGAIN WITH A USER NAME MADE UP *
* OF 1-7 ALPHANUMERIC CHARACTERS. *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
***************************************
REQUEST,OPER. P1 FAILED.
RETURN,OPER.
REVERT,NOLIST. ERRUSER COMPLETED.
*WEOR
.PROC,ERRVSN*I
,P1 [PROCEDURE ERRVSN IS CALLED FROM]
=(*F)
,P2 [VSN THAT WAS INCORRECT]
=(*A,*N=NONE).
SET(R1G=1)
RETURN,*,OUTPUT.
***************************************
* *
* ERROR--#VSN : P2 *
* NOT PROPERLY SPECIFIED. *
* TRY AGAIN WITH A 1-6 ALPHANUMERIC *
* CHARACTER VSN. *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
***************************************
REQUEST,OPER. P1 FAILED.
RETURN,OPER.
REVERT,NOLIST. ERRVSN COMPLETED.
*WEOR
.PROC,FINDJSN*I
,JSN [JOB SEQUENCE NUMBER]
=(*A,*N=).
.*
.* COMMAND FORMAT : *FINDJSN(JSN)*
.* THIS PROCEDURE USES DFD TO GET SYSTEM DAYFILE AND EXTRACTS FROM
.* IT THE DAYFILE FOR JOB (JSN). THE JSN DAYFILE IS WRITTEN TO
.* FILE OUTPUT.
.*
BEGIN,VERJSN,ZZZPFIL,JSN,FINDJSN. VERIFY #JSN
SKIP,FDJSN0.
EXIT.
BEGIN,ERRJSN,ZZZPFIL,JSN,FINDJSN.
SET,R1G=1.
REVERT. FINDJSN FAILED.
ENDIF,FDJSN0.
DFD.
RENAME,DF=OUTPUT.
EDIT,DF,I=FIEDIT,L=ZZLIST.
RETURN,DF,VERJSN,ERRJSN.
REWIND,*,OUTPUT.
SKIP,FINDJS1.
EXIT.
REVERT,ABORT. FINDJSN FAILED.
ENDIF,FINDJS1.
VERIFY,ZZLIST,ZZZFIND,A.
.* IF THE FILES VERIFY THAN THE JSN WAS NOT FOUND IN THE DAYFILE.
SET,R1G=1.
**************************************
* *
* ERROR-- #JSN JSN WAS NOT FOUND *
* IN THE DAYFILE. RETRY WITH A *
* DIFFERENT #JSN. *
* *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,#JSN,2. *
* *
**************************************
REQUEST,OPER. FINDJSN FAILED.
RETURN,OPER.
REVERT. FINDJSN FAILED.
EXIT.
REWIND,*,OUTPUT.
COPYEI,ZZLIST,OUTPUT.
REVERT. FINDJSN COMPLETE.
.DATA,FIEDIT
L:/. JSN/;*
END
.DATA,ZZZFIND.
BEGIN TEXT EDITING.
-END OF FILE-
END TEXT EDITING.
*WEOR
.PROC,GETTYPE*I
,P1 [VALIDATION TYPE]
=(*F)
,P2 [TOOL]
=(*F)
.
GTR(ZZZPFIL,P1,,,,NA)P1
IF,FILE(P1,LO),GETYPE1.
EDIT,P1,I=GEEDIT.
REVERT. GETTYPE COMPLETE
ELSE,GETYPE1.
GET(P1/UN=INSTALL)
REVERT. GETTYPE COMPLETE
EXIT.
SET(R1G=1)
ENDIF,GETYPE1.
****************************************
* *
* ERROR-- TYPE FILE: P1 *
* NOT FOUND. DETERMINE THE FILE NAME *
* YOU WANT TO USE AND RETRY P2 *
* *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
****************************************
REVERT,EX.REVERT. P2 FAILED
.DATA,GEEDIT
SET;-1
DELETE
END
*WEOR
.PROC,LABELS*I"REQUEST SET OF TAPES"
,P1 [SETNAME OF TAPES]
=(*A,*N=)
,P2 [TOOL]
=(*F)
,P3 [DATE]
=(*S6(0123456789),*N=$$)
.
BEGIN,VERSETN,ZZZPFIL,P1. VERIFY SETNAME
SKIP,LABELS1.
EXIT.
BEGIN,ERRSETN,ZZZPFIL,P2,P1.
SET(R1G=1)
REVERT,EX. REVERT. P2 FAILED.
ENDIF,LABELS1.
.IF,$P3$.EQ.$$,LABELS2.
VSN,TAPE=P1_1/P1_2/P1_3/P1_4/P1_5/P1_6/P1_7/P1_8.
LABEL,TAPE,NT,D=GE,PO=FR.
.ELSE,LABELS2.
VSN,TAPE=P1_1/P1_2/P1_3/P1_4/P1_5/P1_6/P1_7/P1_8.
LABEL,TAPE,NT,D=GE,PO=FW,W,FI=$P3$.
.ENDIF,LABELS2.
REVERT. LABELS COMPLETE
*WEOR
.PROC,LABELV*I"REQUEST A TAPE"
,P1 [VSN OF TAPES]
=(*A,*N=)
,P2 [TOOL]
=(*F)
,P3 [DATE]
=(*S6(0123456789),*N=$$)
.
BEGIN,VERVSN,ZZZPFIL,P1. VERIFY VSN
SKIP,LABELV1.
EXIT.
BEGIN,ERRVSN,ZZZPFIL,P2,P1.
SET(R1G=1)
REVERT,EX. REVERT. P2 FAILED
ENDIF,LABELV1.
.IF,$P3$.EQ.$$,LABELV2.
LABEL,TAPE,VSN=P1,NT,D=GE,PO=FR.
.ELSE,LABELV2.
LABEL,TAPE,VSN=P1,NT,D=GE,PO=FW,W,FI=$P3$.
.ENDIF,LABELV2.
REVERT. LABELV COMPLETE
*WEOR
.PROC,LISTQUE.
.*
.* COMMAND FORMAT : *X.MS(LISTQUE)*
.* THIS PROCEDURE PRODUCES A LISTING WHICH DESCRIBES ALL THE
.* QUEUE FILES IN THE SYSTEM. THIS LISTING MAY BE HELPFUL IN
.* IDENTIFING QUEUE FILES THAT COULD BE DROPPED FROM THE SYSTEM.
.*
QFTLIST(PO=N,LO=F)
WRITEF,OUTPUT.
REVERT. LISTQUE COMPLETE.
EXIT.
WRITEF,OUTPUT.
REVERT. LISTQUE FAILED.
*WEOR
.PROC,LOADF*I"LOAD PERMANENT FILES"
,P1 [SETNAME OF TAPES]
=(*A,*N=)
,USERNAME [USER NAME]
=(*A,*N=)
,PF1 [PERMANENT FILE NAME 1]
=(*A,*N=)
,PF2 [PERMANENT FILE NAME 2]
=(*A,*N=).
.*
.* COMMAND FORMAT : *X.MS(LOADF,SETNAME,USERNAME,PF,PF)*
.* THIS PROCEDURE LOADS PERMANENT FILES FROM TAPES CREATED BY
.* DUMPALL, DUMPMOD OR DUMPOLD.
.* WHEN LOADF IS CALLED TO LOAD FILES STARTING WITH A SET OF
.* TAPES CREATED BY DUMPALL OR DUMPMOD IT WILL LOAD FILES
.* FROM THAT SET ONLY. WHEN LOADF IS CALLED TO LOAD FILES
.* STARTING WITH A SET OF TAPES CREATED BY DUMPMOD IT LOADS
.* THE FILES ON THE DUMPMOD SET OF TAPES. THEN IT LOADS THE
.* FILES FROM THE LAST DUMPALL SET OF TAPES CREATED BEFORE
.* THIS DUMPMOD SET. TO BE LOADED, THESE FILES MUST MEET
.* THE FOLLOWING CRITERIA: 1) THE FILES WERE ON THE DISKS
.* WHEN THE DUMPMOD WAS EXECUTES. 2) THE FILES WERE NOT MODIFIED
.* AFTER THE DUMPALL.
.* LOADF CAN BE CALLED TO LOAD ALL THE FILES, THE FILES FOR A
.* USERNAME, OR ONE OR TWO SPECIFIED FILES. TO LOAD ALL FILES
.* ONLY THE SETNAME PARAMETER IS SUPPLIED. TO LOAD THE FILES FOR
.* A USERNAME, THE SETNAME AND USERNAME PARAMETER ARE REQUIRED.
.* TO LOAD ONE OR TWO SPECIFIC FILES, THE SETNAME, USERNAME AND
.* ONE OR TWO OF THE FILENAME PARAMETERS ARE REQUIRED. IF A FILE
.* IS ALREADY ON DISK AND LOADF WAS SPECIFICALLY ASKED TO LOAD
.* THAT FILE BY THE FILENAME PARAMETER THEN LOADF WILL ASK IF IT
.* SHOULD OVERWRITE THE FILE. IN THE CASE WHERE LOADF WAS CALLED
.* TO LOAD ALL THE FILES OR ALL FILES FOR A USERNAME LOADF WILL
.* NOT RELOAD A FILE THAT IS ALREADY ON DISK.
BEGIN,VERF,ZZZPFIL,PF1,LOADF.
BEGIN,VERF,ZZZPFIL,PF2,LOADF.
.IF,$USERNAME$.EQ.$$,LOADF1.
.IF,$PF1$.NE.$$,LOADF2.
BEGIN(ERRNOU,ZZZPFIL,PF1)
.ELSE,LOADF2.
.IF,$PF2$.NE.$$,LOADF2.
BEGIN(ERRNOU,ZZZPFIL,PF2)
.ELSE,LOADF2.
BEGIN(LABELS,ZZZPFIL,P1,LOADF) REQUEST SET OF TAPES
IF,(R1G.EQ.1).REVERT. LOADF FAILED
PFLOAD,OP=LV. EXECUTE A FULL LOAD.
****************************
* FULL LOAD COMPLETE *
****************************
.ENDIF,LOADF2.
.ELSE,LOADF1. USER NAME SUPPLIED
BEGIN,VERUSER,ZZZPFIL,USERNAME,LOADF.
BEGIN(LABELS,ZZZPFIL,P1,LOADF) REQUEST SET OF TAPES
IF,(R1G.EQ.1).REVERT. LOADF FAILED
.IF,(($PF1$.EQ.$$).AND.($PF2$.EQ.$$)),LOADF3.
PFLOAD,UD,UN=USERNAME,OP=LV.
****************************
* USER NAME LOAD COMPLETE *
****************************
.ELSE,LOADF3.
.IF,(($PF1$.NE.$$).AND.($PF2$.NE.$$)),LOADF3.
PFLOAD,UD,UN=USERNAME,PF=PF1,PF=PF2,OP=LV.
**************************
* TWO FILE LOAD COMPLETE *
**************************
.ELSE,LOADF3.
.IF,($PF1$.NE.$$),LOADF3. LOCAL--PURGE OR OVERWRITE?
PFLOAD,UD,UN=USERNAME,PF=PF1,OP=LV.
**************************
* ONE FILE LOAD COMPLETE *
**************************
.ELSE,LOADF3.
PFLOAD,UD,UN=USERNAME,PF=PF2,OP=LV.
**************************
* ONE FILE LOAD COMPLETE *
**************************
.ENDIF,LOADF3.
.ENDIF,LOADF1.
WRITEF,OUTPUT.
REVERT,NOLIST. LOADF COMPLETE
*WEOR
.PROC,LOADLOG*I
,VSN [VOLUME SERIAL NUMBER]
=(*A,*N=)
,ACCOUNT [LOAD ACCOUNT FILE. DEFAULT IS NO]
=(ACCOUNT=1,DAYFILE=2,ERRLOG=3,MAINLOG=4,*A,*N=0),
,DAYFILE [LOAD DAYFILE FILE. DEFAULT IS NO]
=(ACCOUNT=1,DAYFILE=2,ERRLOG=3,MAINLOG=4,*A,*N=0),
,ERRLOG [LOAD ERRLOG FILE. DEFAULT IS NO]
=(ACCOUNT=1,DAYFILE=2,ERRLOG=3,MAINLOG=4,*A,*N=0),
,MAINLOG [LOAD MAINLOG FILE. DEFAULT IS NO]
=(ACCOUNT=1,DAYFILE=2,ERRLOG=3,MAINLOG=4,*A,*N=0).
.*
.* COMMAND FORMAT : *LOADLOG(VSN,ACCOUNT,DAYFILE,ERRLOG,MAINLOG)*
.* THIS PROCEDURE USES RECLAIM TO LOAD THE PERMANENT FILES (ACCOUNT,
.* DAYFILE, ERRLOG, AND MAINLOG) FROM A TAPE CREATED BY ENDLOG.
.* THE TAPE IS A GE DENSITY LABELED TAPE WITH A VSN.
.* ALL OR ANY SUBSET OF THESE LOGS MAY BE LOADED.
.*
BEGIN,VERVSN,ZZZPFIL,VSN. VERIFY #VSN
SKIP,LOADLOG1.
EXIT.
BEGIN,ERRVSN,ZZZPFIL,LOADLOG,VSN.
SET,R1G=1.
REVERT. LOADLOG FAILED.
ENDIF,LOADLOG1.
RETURN,ZZSCR.
BEGIN,,VERLOG,ACCOUNT.
BEGIN,,VERLOG,DAYFILE.
BEGIN,,VERLOG,ERRLOG.
BEGIN,,VERLOG,MAINLOG.
IF,.NOT.FILE(ZZSCR,AS),LOADLOG2.
BEGIN,LOADLOG,ZZPPFIL,
VSN,YES,YES,YES,YES.
REQUEST,OPER. LOADLOG COMPLETED.
RETURN,OPER.
REVERT,NOLIST. LOADLOG COMPLETED.
ENDIF,LOADLOG2.
BEGIN,,CALLLOG.
REVERT. LOADLOG COMPLETED.
EXIT.
REVERT. LOADLOG FAILED.
.DATA,CALLLOG
.PROC,CALLLOG.
BEGIN,LOADLOG,ZZPPFIL,
VSN,#ACCOUNT=NO,#DAYFILE=NO,#ERRLOG=NO,#MAINLOG=NO.
REVERT,NOLIST.
.DATA,VERLOG
.PROC,VERLOG,P1.
REWIND,INACCT,INDAYF,INERRL,INMLOG.
#.IF,$P1$ .EQ. $1$.EDIT,CALLLOG,I=INACCT,M=N,L=ZZSCR.
#.IF,$P1$ .EQ. $2$.EDIT,CALLLOG,I=INDAYF,M=N,L=ZZSCR.
#.IF,$P1$ .EQ. $3$.EDIT,CALLLOG,I=INERRL,M=N,L=ZZSCR.
#.IF,$P1$ .EQ. $4$.EDIT,CALLLOG,I=INMLOG,M=N,L=ZZSCR.
#.IF,NUM(P1),VERLOG1.
#.IF,$P1$ .EQ. $0$.REVERT,NOLIST.
IF,P1 .GT. 0 .AND. P1 .LT. 5.REVERT,NOLIST.
#.ENDIF,VERLOG1.
SET,R1G=1.
***************************************
* *
* ERROR--BAD PARAMETER- P1
* TRY AGAIN WITH VALID FILE NAMES *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
***************************************
REQUEST,OPER. LOADLOG FAILED.
RETURN,OPER.
REVERT,EX.REVERT. LOADLOG FAILED.
.DATA,INACCT
RS:/#ACCOUNT=NO/,/#ACCOUNT=YES/;1
END
.DATA,INDAYF
RS:/#DAYFILE=NO/,/#DAYFILE=YES/;1
END
.DATA,INERRL
RS:/#ERRLOG=NO/,/#ERRLOG=YES/;1
END
.DATA,INMLOG
RS:/#MAINLOG=NO/,/#MAINLOG=YES/;1
END
*WEOR
.PROC,LOADQUE*I"LOAD QUEUE FILES"
,VSN [VOLUME SERIAL NUMBER]
=(*A,*N=).
.*
.* COMMAND FORMAT : *X.MS(LOADQUE,VSN)*
.* THIS PROCEDURE IS USED TO LOAD ALL QUEUE FILES ON TO
.* THE SYSTEM FROM A GE DENSITY TAPE WITH A VSN.
.*
BEGIN,LABELV,ZZZPFIL,VSN,LOADQUE.
QLOAD,DA=ALL,PO=N,FN=TAPE.
WRITEF,OUTPUT.
REVERT. LOADQUE COMPLETE
*WEOR
.PROC,PURGLOG.
.*
.* COMMAND FORMAT : *PURGLOG.*
.* THIS PROCEDURE PURGES THE PERMANENT FILES, CREATED BY ENDLOG,
.* ACCOUNT, DAYFILE, ERRLOG AND MAINLOG ON USER NAME SYSTEMX.
.*
***************************************
* *
* NOTE--IF THIS PROCEDURE CONTINUES, *
* PERMANENT FILES CREATED BY ENDLOG *
* ACCOUNT, DAYFILE, ENDLOG, AND *
* MAINLOG WILL BE PURGED. *
* TO NOT PURGE THE FILES *
* ENTER: DROP,JSN. *
* TO PURGE THE FILES *
* ENTER: ASSIGN,JSN,2. *
* *
***************************************
REQUEST,OPER. PURGE OR STOP?
RETURN,OPER.
SKIP,PURGLOG1.
EXIT.
RETURN,*,OUTPUT.
*************************************
* *
* PROCESSING HAS BEEN STOPPED. *
* THE LOG FILES WERE NOT PURGED. *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
*************************************
REQUEST,OPER. PURGLOG STOPPED.
RETURN,OPER.
WRITEF,OUTPUT.
REVERT. PURGLOG STOPPED
ENDIF,PURGLOG1.
PURGE,ACCOUNT/NA.
PURGE,DAYFILE/NA.
PURGE,ERRLOG/NA.
PURGE,MAINLOG/NA.
WRITEF,OUTPUT.
REVERT. PURGLOG COMPLETE
*WEOR
.PROC,SUCCESS*I
,P1 [TOOL]
=(*F)
.
RETURN,*,OUTPUT.
****************************************
* *
* P1 COMPLETE *
* THIS TOOL RAN TO COMPLETION *
* *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER ASSIGN,JSN,2. *
* *
****************************************
REQUEST,OPER. P1 COMPLETE
RETURN,OPER.
REVERT,EX.REVERT. P1 COMPLETE
*WEOR
.PROC,VALUSER*I
,TYPE [NAME OF VALIDATION TYPE FILE]
=(*F,*N=$$)
,USERNAME [USERNAME]
=(*F,*N=INSTALL)
,PASSWORD [PASSWORD IS]
=(*F,*N=UNSECUR).
.*
.* COMMAND FORMAT : *VALUSER(TYPE,USERNAME,PASSWORD)*
.* THIS PROCEDURE CAN EITHER CREATE, DELETE OR MODIFY A SINGLE
.* USERNAME OR MULTIPLE USERNAMES. IF THE PARAMETERS WERE
.* SUPPLIED, THEY WILL FUNCTION AS DESCRIBED FOR WRITEVI.
.* IF NO PARAMETERS ARE SUPPLIED, TYPE FILE IS ZZZZVDI CREATED
.* BY WRITEVI AND CALLS MODVAL WITH THAT FILE AS THE DIRECTIVE
.* INPUT FILE.
.* AFTER A DIRECTIVE INPUT FILE HAS BEEN CREATED FROM THESE
.* PARAMETERS, MODVAL IS CALLED. AFTER A SUCCESSFUL MODVAL
.* RUN ZZZZVDI IS PURGED AND REDEFINED.
.*
.IF,#$TYPE$.EQ.$$,VALUSER1.
BEGIN(VERVDI,ZZZPFIL,VALUSER)
MODVAL,OP=U,I=ZZZZVDI,FA.
REWIND,ZZZZVDI.
WRITER,ZZZZVDI.
RETURN,ZZZZVDI.
BEGIN(SETUP,SETUP,ZZZZVDI)
REVERT. VALUSER COMPLETE
.ENDIF,VALUSER1.
BEGIN(VERUSER,ZZZPFIL,USERNAME,VALUSER)
.IF,#$TYPE$.EQ.$DELETE$,VALUSER2.
MODVAL,I=DELUSER,OP=UR,FA.
.ELSE,VALUSER2.
BEGIN(VERPASS,ZZZPFIL,PASSWORD,VALUSER)
BEGIN(GETTYPE,ZZZPFIL,TYPE,VALUSER)
SKIPR,INUSER.
COPYBR(TYPE,INUSER)
PACK(INUSER)
MODVAL,I=INUSER,OP=U,FA.
.ENDIF,VALUSER2.
REVERT. VALUSER COMLETE.
.DATA,INUSER.
/USERNAME,PW=PASSWORD.
.DATA,DELUSER.
/USERNAME,PW=DELETE.
/USERNAME,DAC=USERNAME.
*WEOR
.PROC,VERDATE*I
,P1 [DATE SUPPLIED]
=(*A,*N=).
,P2 [TOOL]
=(*F)
.
ZZVERD1,P1. INSURE DATE IS ATLEAST SIX CHARACTERS
SKIP,VERDATE1.
EXIT. DATE NOT TOO SHORT
ZZVERD,P1. INSURE DATE IS ONLY SIX NUMERIC CHARACTERS
REVERT,NOLIST. VERDATE COMPLETE
EXIT.
SET(R1G=1)
****************************************
* *
* ERROR--DATE: P1. *
* NOT PROPERLY SPECIFIED *
* TRY AGAIN WITH A 6 CHARACTER DATE *
* IN THE FORM YYMMDD. *
* *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER ASSIGN,JSN,2. *
* *
****************************************
REQUEST,OPER. P2 FAILED
RETURN,OPER.
REVERT,EX.REVERT. P2 FAILED
.DATA,ZZVERD
.PROC,ZZVERD*I
,R1 [DATE SUPPLIED]
=(*S6(0123456789))
.
REVERT,NOLIST.
.DATA,ZZVERDM
.PROC,ZZVERDM*I
,R1 [DATE SUPPLIED]
=(*S5(0123456789))
.
REVERT. THIS PROC SHOULD FAIL
*WEOR
.PROC,VERF*I
,P1 [PERMANENT FILE NAME]
=(*A,*N=)
,P2 [TOOL]
=(*F)
.
ZZVERF,P1.
REVERT,NOLIST. VERF COMPLETED.
EXIT.
SET(R1G=1)
RETURN,*,OUTPUT.
****************************************
* *
* ERROR--FILE NAME: P1. *
* NOT PROPERLY SPECIFIED *
* TRY AGAIN WITH A 1-7 CHARACTER *
* ALPHANUMERIC FILE NAME. *
* *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER ASSIGN,JSN,2. *
* *
****************************************
REQUEST,OPER. P2 FAILED
RETURN,OPER.
REVERT,EX.REVERT. P2 FAILED
.DATA,ZZVERF
.PROC,ZZVERF*I
,R1 [FILE NAME]
=(*F,*N=)
.
REVERT,NOLIST.
*WEOR
.PROC,VERJSN*I
,JSN [JOB SEQUENCE NUMBER]
=(*S4(ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890)).
REVERT. VERJSN COMPLETED.
*WEOR
.PROC,VERMPL*I
,R1 [PASSWORD SUPPLIED]
=(*S3(0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ))
.
NOTE(OUTPUT,NR)* ERROR-- PASSWORD: R1 TOO SHORT
NOTE(OUTPUT,NR)* TRY AGAIN WITH A 4 TO 7 CHARACTER PASSWORD
ROLLOUT(5)
REVERT. THIS PROC SHOULD FAIL
*WEOR
.PROC,VERPASS*I
,P1 [PASSWORD SUPPLIED]
=(*A,*N=)
,P2 [TOOL]
=(*F)
.
BEGIN(VERMPL,ZZZPFIL,P1) PASSWORD AT LEAST FOUR CHARACTERS
SKIP,VERPASS1.
EXIT. PASSWORD NOT TOO SHORT
ZZVERP,P1. INSURE PASSWORD IS 7 OR FEWER CHARACTERS
REVERT,NOLIST. VERPASS COMPLETED.
EXIT.
ENDIF,VERPASS1.
SET(R1G=1)
RETURN,*,OUTPUT.
****************************************
* *
* ERROR--PASSWORD: P1. *
* NOT PROPERLY SPECIFIED *
* TRY AGAIN WITH A 4-7 CHARACTER *
* ALPHANUMERIC PASSWORD. *
* *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER ASSIGN,JSN,2. *
* *
****************************************
REQUEST,OPER. P2 FAILED
RETURN,OPER.
REVERT,EX.REVERT. P2 FAILED
.DATA,ZZVERP
.PROC,ZZVERP*I
,R1 [PASSWORD SUPPLIED]
=(*S7(0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ))
.
REVERT,NOLIST.
*WEOR
.PROC,VERPURG*I
,P [PURGE ON-OFF]
=(PURGE=PURGE,*N=,*A).
IF,$P$.EQ.$PURGE$,VERPURG1.
REVERT. FILES WILL BE PURGED.
ENDIF,VERPURG1.
IF,$P$.EQ.$$,VERPURG2.
REVERT. FILES WILL NOT BE PURGED.
ELSE,VERPURG2.
REVERT,ABORT. VERPURGE FAILED.
ENDIF,VERPURG2.
REVERT,NOLIST. VERPURGE COMPLETED.
*WEOR
.PROC,VERSETM*I
,NUMBER [NUMBER OF TAPES IN SET]
=(*S1(12345678)).
REVERT,NOLIST. VERSETM COMPLETED.
*WEOR
.PROC,VERSETN*I
,SETNAME [SETNAME OF TAPE SET]
=(*S5(ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890)).
REVERT,NOLIST. VERSETN COMPLETED.
*WEOR
.PROC,VERSTPN*I
,TOOL [TOOL TO EXECUTE]
=(DUMPALL=1,DUMPMOD=1,DUMPQUE=1,DUMPLOG=2,
ENDLOG =0,ENDDF =1,LOADF =4,LOADQUE=1,
LOADLOG=5,DUMPOLD=2,PURGLOG=0,VALUSER=3,
LISTQUE=0,FINDJSN=1,BLANKST=2)
,P1 [FIRST PARAMETER]
=(*N=,*A)
,P2 [SECOND PARAMETER]
=(*N=,*A)
,P3 [THIRD PARAMETER]
=(*N=,*A)
,P4 [FOURTH PARAMETER]
=(*N=,*A)
,P5 [FIFTH PARAMETER]
=(*N=,*A)
,P6 [SIXTH PARAMETER]
=(*N=,*A)
,P7 [SEVENTH PARAMETER]
=(*N=,*A)
.
.IF,((TOOL.LE.5).AND.(($P6$.NE.$$).OR.($P7$.NE.$$))).SKIP,VERSTP1.
.IF,((TOOL.LE.4).AND.($P5$.NE.$$)).SKIP,VERSTP1.
.IF,((TOOL.LE.3).AND.($P4$.NE.$$)).SKIP,VERSTP1.
.IF,((TOOL.LE.2).AND.($P3$.NE.$$)).SKIP,VERSTP1.
.IF,((TOOL.LE.1).AND.($P2$.NE.$$)).SKIP,VERSTP1.
.IF,((TOOL.EQ.0).AND.($P1$.NE.$$)).SKIP,VERSTP1.
* NUMBER OF PARAMETERS VERIFIED.
REVERT,EX.REVERT. VERTOOL COMPLETE
ENDIF,VERSTP1.
RETURN,*,OUTPUT.
****************************************
* *
* ERROR-- TOO MANY PARAMETERS WERE *
* SUPPLIED FOR THIS #TOOL *
* *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2 *
* *
****************************************
REQUEST,OPER. MS FAILED
RETURN,OPER.
REVERT,EX.REVERT,EX.REVERT. MS FAILED
*WEOR
.PROC,VERTOOL*I
,TOOL [TOOL TO EXECUTE]
=(*N=,*A)
,P1 [FIRST PARAMETER]
=(*N=,*A)
,P2 [SECOND PARAMETER]
=(*N=,*A)
,P3 [THIRD PARAMETER]
=(*N=,*A)
,P4 [FOURTH PARAMETER]
=(*N=,*A)
,P5 [FIFTH PARAMETER]
=(*N=,*A)
,P6 [SIXTH PARAMETER]
=(*N=,*A)
,P7 [SEVENTH PARAMETER]
=(*N=,*A)
.
BEGIN(VERSTPN,ZZZPFIL,TOOL,P1,P2,P3,P4,P5,P6,P7)
REVERT,ABORT.
EXIT.
RETURN,*,OUTPUT.
****************************************
* *
* ERROR--#TOOL: TOOL *
* NOT SUPPORTED FROM THE CONSOLE *
* *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
****************************************
REQUEST,OPER. TOOL FAILED
RETURN,OPER.
REVERT,EX.REVERT. X.MS(TOOL) FAILED
*WEOR
.PROC,VERUSER*I
,P1 [USER NAME IS]
=(*A,*N=)
,P2 [TOOL]
=(*F)
.
BEGIN,ZZVERU,ZZZPFIL,P1.
REVERT,NOLIST. VERUSER COMPLETED.
EXIT.
SET(R1G=1)
BEGIN,ERRUSER,ZZZPFIL,P2,P1.
REVERT,EX.REVERT. P2 FAILED
*WEOR
.PROC,VERVDI*I
,P1 [TOOL]
=(*F)
.
.* FIND VALIDATION DIRECTIVE INPUT FILE.
.* PUT OUT AN ERROR MESSAGE IF IT IS NOT FOUND.
.*
ATTACH,ZZZZVDI/M=W.
SKIP,VERVDI1.
EXIT.
SET(R1G=1)
RETURN,*,OUTPUT.
***************************************
* *
* ERROR--THE VALIDATION DIRECTIVE FILE*
* WAS NOT FOUND. CREATE THIS FILE *
* USING: X.MS(SETUP,ZZZZVDI) *
* USE MS(WRITEVI) AT A TERMINAL TO *
* PUT DATA ON ZZZZVDI. *
* WHEN YOU HAVE READ THIS MESSAGE *
* *
* ENTER: ASSIGN,JSN,2. *
* *
***************************************
REQUEST,OPER. P1 FAILED.
RETURN,OPER.
REVERT,EX.REVERT. P1 FAILED
ENDIF,VERVDI1.
REVERT,NOLIST. VERVDI COMPLETE.
*WEOR
.PROC,VERVSN*I
,VSN [VOLUME SERIAL NUMBER]
=(*S6(ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890)).
REVERT. VERVSN COMPLETED.
*WEOR
.PROC,VUSER*I" WRITEVI "
,TYPE [ENTER DELETE OR VALIDATION TYPE]
=(*F)
,USERNAM [USER NAME]
=(*F)
,PASSWOR [PASSWORD]
=(*F,*N=UNSECUR)
.
.HELP,TYPE,NOLIST.
* A DELETE RESPONSE CAUSES THE USER NAME TO BE DELETED
* FROM THE VALIDATION FILE.
*
* THE FOLLOWING ARE SYSTEM SUPPLIED VALIDATION TYPES
*
* CDCCHS CDC CENTRAL HARDWARE SUPPORT
* CDCCSS CDC CENTRAL SOFTWARE SUPPORT
* SYSADM SYSTEM ADMINISTRATOR OR OPERATOR
* NOLIMIT USERS WITH UNLIMITED RESOURCE LIMITS
* LIMITED USERS WITH LIMITED RESOURCES
*
* THIS TOOL WILL ACCEPT USER DEFINED VALIDATION TYPES
* SUPPLY THE FILE NAME THAT CONTAINS THESE VALIDATIONS.
*
*
.HELP,USERNAM,NOLIST.
*
* 1-7 ALPHANUMERIC CHARACTER USER NAME. *
*
.HELP,PASSWOR,NOLIST.
*
* 4-7 ALPHANUMERIC CHARACTER PASSWORD. *
*
.ENDHELP.
IF,$TYPE$.EQ.$DELETE$,VUSER1.
REWIND,IN.
NOTE(IN,NR)+/USERNAM
NOTE(IN,NR)+/USERNAM,DAC=USERNAM.+
REWIND,IN.
COPYEI,IN,DVDI.
.* DVDI IS THE LOCAL FILE THAT CONTAINS ALL THE
.* INFORMATION TO DELETE USER NAMES.
.* PLEASE NOTE THIS PROCEDURE IS SETUP TO PROCESS
.* AN ATTEMPT TO DELETE A NON-EXISTENT USER NAME
.* IN THE SAME WAY IT PROCESSES ONE THAT EXISTS.
ELSE,VUSER1.
BEGIN(GETTYPE,ZZZPFIL,TYPE,WRITEVI)
IF,FILE(TYPE,.NOT.LO),VUSER2.
NOTE(OUTPUT,NR)*
NOTE(OUTPUT,NR)* ERROR--FILE TYPE NOT FOUND
NOTE(OUTPUT,NR)* PLEASE SELECT A _TYPE LISTED
NOTE(OUTPUT,NR)* BY HELP FOR THE _TYPE PARAMETER.
NOTE(OUTPUT,NR)* RUNNING X.MS(INSTALL,_TYPE) WILL REINSTALL THE
NOTE(OUTPUT,NR)* VALIDATION TYPES SUPPLIED BY CDC.
ROLLOUT,10.
REVERT,EX.BEGIN,VUSER,ZZZPFIL,$?$,USERNAM,PASSWOR.
ELSE,VUSER2.
REWIND,IN.
SKIP,VUSER3.
EXIT.
REVERT,ABORT. VUSER FAILED
ENDIF,VUSER3.
IF,$PASSWOR$.LE.$ZZZ$,VUSER4.
RETURN,TYPE.
REVERT,EX.BEGIN,VUSER,ZZZPFIL,TYPE,USERNAM,$?$)
ENDIF,VUSER4.
SKIPR,ZZIN.
COPYBR,TYPE,ZZIN.
RETURN,TYPE.
REWIND,ZZIN.
COPYEI,ZZIN,ZVDI.
RETURN,ZZIN.
* ZVDI IS Z LOCAL FILE THAT CONTAINS THE
* VALIDATION DIRECTIVES FOR USER NAMES BEING
* ADDED OR UPDATED.
ENDIF,VUSER2.
ENDIF,VUSER1.
REVERT,EX.BEGIN,VUSER,ZZZPFIL.
REVERT. VUSER COMPLETED SUCCESSFULLY.
EXIT.
NOTE(OUTPUT,NR)+ WRITEVI FAILED IN PROCEDURE VUSER.
NOTE(OUTPUT,NR)+ PLEASE EXAMINE THE DAYFILE TO
NOTE(OUTPUT,NR)+ DETERMINE THE REASON.
REVERT. VUSER FAILED.
.DATA,ZZIN
/USERNAM,PW=PASSWOR.
*WEOR
.PROC,WRITEVI.
.*
.* COMMAND FORMANT: MS(WRITEVI)
.* THIS IS AN INTERACTIVE PROCEDURE USED TO CREATE A DIRECTIVE
.* FILE TO BE USED TO CREATE, DELETE OR MODIFY MULTIPLE USER NAMES.
.* THIS PROCEDURE PROMPTS FOR THE USER NAME, PASSWORD AND A DELETE
.* REQUEST OR VALIDATION TYPE. THE USER NAME IS THE USER NAME
.* THAT WILL BE CREATED, DELETED OR MODIFIED BY THE DIRECTIVES
.* CREATED BY THIS PROCEDURE. THE PASSWORD SUPPLIED IS THE PASSWORD
.* FOR THAT USER NAME. THE TYPE IS THE NAME OF THE TYPE FILE.
.* (FIVE VALIDATION TYPES ARE SUPPLIED) CDCCHS, CDCCSS, SYSADM,
.* NOLIMIT, LIMITED. THAT WILL BE USED TO SUPPLY THE VALIDATION
.* DIRECTIVES FOR THIS USER NAME. IF DELETE IS SUPPLIED FOR TYPE, THE
.* PROCEDURE WILL CREATE THE DIRECTIVE TO DELETE USER NAME FROM THE
.* VALIDATION FILE. THIS PROCEDURE IS A RECURSIVE FUNCTION ALLOWING
.* PROCESSING OF MULTIPLE USER NAMES. THE PROCEDURE IS STOPPED BY
.* ENTERING THE QUIT FUNCTION.
.* SITE ADMINISTRATORS CREATE A VALIDATION TYPE BY PLACING THE
.* THE DESIRED VALIDATION DIRECTIVES ON A FILE ON USER NAME INSTALL
.* AND SUPPLYING THAT FILE NAME WHEN PROMPTED FOR VALIDATION TYPE.
.* IF A PASSWORD IS NOT SUPPLIED IT WILL BE SET TO XPWXPWX. ALL
.* PASSWORDS ON ZZZZVDI WILL BE ENCRYPTED BY WRITEVI.
.*
ATTACH,ZZZZVDI/M=W,NA,UN=SYSTEMX.
IF,FILE(ZZZZVDI,.NOT.PM),WRITEVI1.
NOTE(OUTPUT,NR)/ FILE ZZZZVDI NOT FOUND.
NOTE(OUTPUT,NR)/ RUN X.MS(SETUP,ZZZZVDI)
NOTE(OUTPUT,NR)/ FROM THE CONSOLE TO CREATE ZZZZVDI.
NOTE(OUTPUT,NR)/ AFTER THIS COMPLETES RERUN MS(WRITEVI).
ROLLOUT(10)
REVERT. WRITEVI FAILED.
SKIP,WRITEVI1.
EXIT.
NOTE(OUTPUT,NR)/ WRITEVI FAILED. PLEASE EXAMINE THE
NOTE(PUTPUT,NR)/ DAYFILE TO DETERMINE THE CAUSE.
ROLLOUT(5)
REVERT. WRITEVI FAILED.
ELSE,WRITEVI1.
BEGIN,VUSER,ZZZPFIL.
SKIP,WRITEVI2.
EXIT. VUSER ENDED WITH QUIT FUNCTION KEY
ENDIF,WRITEVI2.
PACK(DVDI)
PACK(ZVDI)
* DVDI IS A LOCAL FILE ON WHICH VUSER STORES DIRECTIVES
* TO DELETE USER NAMES
* ZVDI IS A LOCAL FILE ON WHICH VUSER STORES DIRECTIVES
* TO CREATE OR MODIFY USER NAMES.
* THE FOLLOWING MODVAL COMMANDS ENCRYPT THE PASSWORDS ON ZVDI.
MODVAL,OP=C,P=0,I=ZVDI,LO=E,L=OUTPUT,SI.
MODVAL,OP=S,P=NEWVAL.
EDIT,SOURCE,I=WREDIT,L=ZZZSCRA.
REWIND,SOURCE,ZZZZVDI.
SKIPR,ZZZZVDI.
COPYBR,SOURCE,ZZZZVDI.
COPYBR,DVDI,ZZZZVDI.
PACK(ZZZZVDI)
RETURN,ZZZZVDI.
ENDIF,WRITEVI1.
REVERT. WRITEVI COMPLETED
EXIT.
NOTE(OUTPUT,NR)/ WRITEVI FAILED. PLEASE EXAMINE THE DAYFILE
NOTE(OUTPUT,NR)/ TO DETERMINE THE CAUSE. A LIKELY CAUSE IS AN
NOTE(OUTPUT,NR)/ UNSUPPORTED MODVAL DIRECTIVE.
NOTE(OUTPUT,NR)/ PASSWORDS MUST BE AT LEAST 4 CHARACTERS LONG.
ROLLOUT(5)
REVERT. WRITEVI FAILED.
.DATA,WREDIT.
D:/UI = /;*
END
*WEOR
.PROC,ZZVERU*I
,R1 [USER NAME]
=(*F).
REVERT,NOLIST.
*WEOR
CDCCHS
RL=ALL
IS=BATCH
VM=DI
AW=NUL
AW=CNRD,AW=CASF,AW=CSRP
AW=CLPF,AW=CSPF,AW=CAND,AW=CCNR,AW=CMNT,AW=COPR
SC=10B
SAV=NUL
SAV=CULT,SAV=COLD
SH=RMSHELL
AP=NUL
AP=IAF,AP=RBF
PX=HALF
TT=TTY
PA=EVEN
XT=7
*WEOR
CDCCSS
RL=ALL
IS=BATCH
VM=DI
AW=NUL
AW=CNRD,AW=CSRP
AW=CLPF,AW=CSPF,AW=CAND,AW=CCNR
AW=CNOP,AW=CSOJ,AW=CASF,AW=COPR,AW=CMNT
SC=10B
SAV=NUL
SAV=CULT
AP=NUL
AP=CS
AP=IAF,AP=RBF
PX=HALF
TT=TTY
PA=EVEN
XT=7
*WEOR
LIMITED
DS=5,DF=77B,CC=77B,MS=20B,DT=3,LP=77B,CP=77B,MT=1,RP=2,TL=77B
CM=40B,CS=4,FC=7,DB=4,SL=77B,FS=6
IS=BATCH
VM=DI
AW=NUL
AW=CPWC,AW=CNRD,AW=CSRP
AW=CLPF,AW=CSPF,AW=CAND,AW=CCNR
AW=CPLK,AW=CQLK,AW=CUST,AW=COPR
SC=77B
SAV=NUL
SAV=CFPX
SAV=CULT
AP=NUL
AP=IAF,AP=RBF
XT=4095
*WEOR
NOSVE
DS=5,DF=77B,CC=77B,MS=20B,DT=3,LP=77B,CP=77B,MT=1,RP=2,TL=77B
CM=40B,CS=4,FC=7,DB=4,SL=77B,FS=6
IS=BATCH
VM=DI
AW=NUL
AW=CPWC,AW=CNRD,AW=CSRP
AW=CLPF,AW=CSPF,AW=CAND,AW=CCNR
AW=CPLK,AW=CQLK,AW=CUST,AW=COPR
AW=CNVE,AW=CUCP
SC=77B
SAV=NUL
SAV=CFPX
SAV=CULT
AP=NUL
AP=IAF,AP=RBF
XT=4095
*WEOR
NOLIMIT
RL=ALL
IS=BATCH
VM=DI
AW=NUL
AW=CPWC,AW=CNRD,AW=CASF,AW=CSRP
AW=CLPF,AW=CSPF,AW=CAND,AW=CCNR
AW=CPLK,AW=CQLK,AW=CUST,AW=COPR
SC=77B
SAV=NUL
SAV=CFPX
SAV=CULT
AP=NUL
AP=IAF,AP=RBF
XT=4095
*WEOR
SYSADM
RL=ALL
IS=BATCH
VM=DI
AW=NUL
AW=CPWC
AW=CNRD,AW=CSRP,AW=CSRP
AW=CLPF,AW=CSPF,AW=CAND,AW=CCNR
AW=CNOP,AW=CSOJ,AW=CASF
AW=CPLK,AW=CQLK,AW=CUST,AW=COPR
SC=77B
SAV=NUL
SAV=CPWX
SAV=CFPX
SAV=CULT
AP=NUL
AP=CS
AP=IAF,AP=RBF
XT=4095
*WEOR
EPRI