|
Back To LeighWeb Mainframe Utilities Page
View the documentation associated with this module
/* REXX ***************************************************************/
Say " "
Say " "
Say " "
Say " "
Say " "
Say " "
Say " "
Say " "
Say " "
Say " "
Say " "
Say "This utility is no longer functional nor supported."
Say " "
Say "Please use the option from the =D (DBA/MQSeries Tools) Panel."
Say " "
Say "Please see one of the DBA's for additional help."
Say " "
Say " "
Say " "
Say " "
Say " "
Say " "
Say " "
Say " "
Say " "
exit
/* UTILITY: DBSETUP */
/* AUTHOR: DAVID LEIGH */
/* FUNCTION: THIS UTILITY CONTROLS FILE TAILORING OF A JOB WHICH WILL */
/* CREATE A PROGRAMMER'S TEST DB2 ENVIRONMENT IN THIER */
/* DATABASE BASED ON SOME CRITERIA PASSED TO THIS EXEC. IF */
/* THIS EXEC DOES NOT GET EVERYTHING IT NEEDS, IT WILL POP */
/* UP A PANEL TO PROMPT FOR IT. CONSEQUENTLY IT CAN BE */
/* CALLED BY OTHER PROCESSES THAT PASS THE REQUISITE */
/* INFORMATION VIA THE ISPF SHARED PROFILE POOL. */
/**********************************************************************/
/*
M = SYSVAR(SYSUID)¦¦' USED DBSETUP ON '¦¦DATE('U')¦¦' '¦¦TIME()
"SEND '" M "' US(S@USMT) LOGON"
"SEND '" M "' US(D@USPH) LOGON"
*/
ADDRESS ISPEXEC
"CONTROL ERRORS RETURN"
USERDB = SYSVAR(SYSUID) ¦¦ 'DB'
"SELECT PGM(USERINFO) PARM("SYSVAR(SYSUID)")"
"VGET MJOBPFX DATABASE CREATOR APPLNAME",
"JCLREVEW NUMACCTS TBLSDROP DBSETUP DEBUG) SHARED"
IF DBSETUP = AUTO THEN
DO
IF JOBPFX = '' THEN JOBPFX = 'UF'
IF DATABASE = '' THEN DATABASE = USERDB
IF CREATOR = '' THEN CREATOR = SYSVAR(SYSUID)
IF JCLREVEW = '' THEN JCLREVEW = 'Y'
IF NUMACCTS = '' THEN NUMACCTS = 1000
IF TBLSDROP = '' THEN TBLSDROP = 'N'
"VPUT (JOBPFX DATABASE CREATOR APPLNAME",
"JCLREVEW NUMACCTS TBLSDROP DBSETUP DEBUG) SHARED"
END
ELSE
DO WHILE GENJCL ¬= 'Y'
"DISPLAY PANEL(DBSETUP)"
IF RC = 8 THEN EXIT
ERRFIELD = ''
PARSE VAR DATABASE DFLD1 7 DFLD2 2 DFLD3 3 DREST
PARSE VAR DATABASE 1 DFLD4 6 DFLD5
PARSE VAR CREATOR CFLD1 7 CFLD2 1 CFLD3 6 CFLD4
IF DFLD3 = '@' THEN
DO
IF DFLD2 = 'DB' THEN
DO
IF CFLD2 > '' THEN
DO
ZEDLMSG = 'CREATOR MUST EQUAL YOUR TSO ID -',
'CORRECT CREATOR ENTRY AND RETRY'
"SETMSG MSG(UTLZ001W)"
ERRFIELD = 'CREATOR'
ITERATE
END
ELSE NOP
IF DFLD1 ¬= CFLD1 THEN
DO
ZEDLMSG = 'FIRST SIX BYTES OF DATABASE/CREATOR MUST =',
' TSO ID. CORRECT DATABASE/CREATOR ENTRY AND RETRY'
"SETMSG MSG(UTLZ001W)"
ERRFIELD = 'DATABASE'
ITERATE
END
ELSE NOP
END
ELSE
IF DFLD2 ¬= 'DB' THEN
DO
ZEDLMSG = 'DATABASE MUST EQUAL TSO ID FOLLOWED BY 'DB'',
'. CORRECT DATABASE ENTRY AND RETRY'
"SETMSG MSG(UTLZ001W)"
ERRFIELD = 'DATABASE'
ITERATE
END
ELSE NOP
END
ELSE
IF DFLD4 = 'USMST' THEN
DO
IF CFLD3 ¬= 'USSTR' THEN
DO
ZEDLMSG = 'CREATOR NAMING CONVENTION USSTR*** .',
'CORRECT CREATOR ENTRY AND RETRY.'
"SETMSG MSG(UTLZ001W)"
ERRFIELD = 'CREATOR'
ITERATE
END
ELSE NOP
IF DFLD5 ¬= CFLD4 THEN
DO
ZEDLMSG = 'DATABASE/CREATOR MISMATCH. MUST END WITH',
'SAME 3 CHARACTERS. CORRECT AND RETRY.'
"SETMSG MSG(UTLZ001W)"
ERRFIELD = 'DATABASE'
ITERATE
END
ELSE NOP
END
ELSE
DO
ZEDLMSG = 'DATABASE NAMING CONVENTION - USMST***.',
'CORRECT DATABASE ENTRY AND RETRY.'
"SETMSG MSG(UTLZ001W)"
ERRFIELD = 'DATABASE'
ITERATE
END
IF GRPID > '' THEN
DO
"TBCREATE TEMPDBST NOWRITE REPLACE KEYS(GRPID) NAMES(PRTROWS)"
DB2SSID = "DSNP"
SQLQUERY = "SELECT A.GRP_ID,",
" B.CARD",
" FROM USSTRP00.ADM40T_GRPPROF A,",
" SYSIBM.SYSTABLES B",
" WHERE A.GRP_TYPE = 'SVCR'",
" AND A.DB2_QUALIFIER = B.CREATOR",
" AND B.NAME = 'PRT01T_PARTICIPANT'",
" ORDER BY B.CARD,",
" A.GRP_ID"
ADDRESS LINK "REXXSQL"
SQLRC = RC
IF SQLRC <> 0 THEN
DO
SAY "BAD SQLCODE VERIFYING GROUP ID:" SQLRC
EXIT SQLRC
END
DO I = 1 TO _NROWS
GRPID = STRIP(GRP_ID.I)
PRTROWS = STRIP(CARD.I)
"TBADD TEMPDBST"
END
"VGET GRPID SHARED"
"TBGET TEMPDBST"
IF RC > 0 THEN
DO
ZTDSELS = ''
"ADDPOP ROW(1) COLUMN(44)"
DO WHILE ZTDSELS ¬= 1 & RC < 8
ZEDLMSG = 'PLEASE SELECT 1 VALID GROUP ID'
"TBDISPL TEMPDBST PANEL(DBSETPOP)",
"AUTOSEL(YES) MSG(UTLZ000)"
END
IF ZTDSELS = 0 THEN
DO
GRPID = ''
GENJCL = 'N'
END
"REMPOP ALL"
END
END
END
EDITDONE = 'N'
DO WHILE EDITDONE ¬= 'Y'
"DISPLAY PANEL(DBSETUP)"
IF RC = 8 THEN EXIT
ERRFIELD = ''
PARSE VAR DATABASE DFLD1 7 DFLD2 2 DFLD3 3 DREST
PARSE VAR DATABASE 1 DFLD4 6 DFLD5
PARSE VAR CREATOR CFLD1 7 CFLD2 1 CFLD3 6 CFLD4
IF DFLD3 = '@' THEN
DO
IF DFLD2 = 'DB' THEN
DO
IF CFLD2 > '' THEN
DO
ZEDLMSG = 'CREATOR MUST EQUAL YOUR TSO ID -',
'CORRECT CREATOR ENTRY AND RETRY'
"SETMSG MSG(UTLZ001W)"
ERRFIELD = 'CREATOR'
ITERATE
END
ELSE NOP
IF DFLD1 ¬= CFLD1 THEN
DO
ZEDLMSG = 'FIRST SIX BYTES OF DATABASE/CREATOR MUST =',
' TSO ID. CORRECT DATABASE/CREATOR ENTRY AND RETRY'
"SETMSG MSG(UTLZ001W)"
ERRFIELD = 'DATABASE'
ITERATE
END
ELSE NOP
END
ELSE
IF DFLD2 ¬= 'DB' THEN
DO
ZEDLMSG = 'DATABASE MUST EQUAL TSO ID FOLLOWED BY 'DB'',
'. CORRECT DATABASE ENTRY AND RETRY'
"SETMSG MSG(UTLZ001W)"
ERRFIELD = 'DATABASE'
ITERATE
END
ELSE NOP
END
ELSE
IF DFLD4 = 'USMST' THEN
DO
IF CFLD3 ¬= 'USSTR' THEN
DO
ZEDLMSG = 'CREATOR NAMING CONVENTION USSTR*** .',
'CORRECT CREATOR ENTRY AND RETRY.'
"SETMSG MSG(UTLZ001W)"
ERRFIELD = 'CREATOR'
ITERATE
END
ELSE NOP
IF DFLD5 ¬= CFLD4 THEN
DO
ZEDLMSG = 'DATABASE/CREATOR MISMATCH. MUST END WITH',
'SAME 3 CHARACTERS. CORRECT AND RETRY.'
"SETMSG MSG(UTLZ001W)"
ERRFIELD = 'DATABASE'
ITERATE
END
ELSE NOP
END
ELSE
DO
ZEDLMSG = 'DATABASE NAMING CONVENTION - USMST***.',
'CORRECT DATABASE ENTRY AND RETRY.'
"SETMSG MSG(UTLZ001W)"
ERRFIELD = 'DATABASE'
ITERATE
END
EDITDONE = 'Y'
END
TEMPFILE = SYSVAR(SYSUID) ¦¦ '.TEMP.DBSETUP.JCL'
ADDRESS TSO
DUMMY = OUTTRAP('NULL.')
"FREE DD(ISPFILE)"
"DELETE '"TEMPFILE"'"
"ALLOCATE DD(ISPFILE) DSN('"TEMPFILE"')" ,
"NEW CATALOG" ,
"UNIT(SYSDA) VOLUME(WRK$$$)" ,
"SPACE(1,1) TRACKS RELEASE" ,
"RECFM(F B) LRECL(80) DSORG(PS)"
DROP NULL.
ADDRESS ISPEXEC
"FTOPEN"
"FTINCL DBSETUP"
SAVERC = RC
"FTCLOSE"
ADDRESS TSO "FREE DD(ISPFILE)"
IF SAVERC > 0 THEN
DO
ZEDLMSG = 'FILE TAILORING OF THE "DBSETUP" SKELETON FAILED',
'WITH RC =' SAVERC
"SETMSG MSG(UTLZ001W)"
"EDIT DATASET('"TEMPFILE"')"
END
ELSE IF JCLREVEW = 'Y' THEN
DO
ZEDLMSG = 'YOU MUST SUBMIT THIS JCL YOURSELF'
"SETMSG MSG(UTLZ000W)"
"EDIT DATASET('"TEMPFILE"')"
END
ELSE
DO
ADDRESS TSO "SUBMIT '"TEMPFILE"'"
ZEDLMSG = 'DBSETUP JOB SUBMITTED'
"SETMSG MSG(UTLZ000W)"
END
EXIT SAVERC
|
|