The Storage Control Center is a suite of system software products. The person responsible for installing the products should be able to work with authorized load libraries, issue console commands and modify system procedure libraries.
This topic performs product verification procedures on EASY or Exit (EXT).
Product verification includes the following steps:
- Customize the EASY or Exit Verification Rules
- Customize the
EXTINITandEXTTERMparmlib members - Start DIF and EXT using the Verification Rules
- Run the EXT Product Verification (IVP) Jobs for z/OS and examine the output
Typical installation tasks include:
- Create the distribution libraries on your host machine. The distribution libraries can be delivered in various formats but should result in software distribution libraries on your host system.
- Create the production data sets: DTS.R71.LOADLIB, DTS.R71.PARMLIB, DTS.R71.RULECKPT, DTS.R71.ISPFLIB, DTS.R71.DIFVAR and DTS.R71.RULELIB.
- Authorize the load library.
- Copy the JCL for DIF to a system procedure library.
- Copy members to the parameter library:
DTS.R71.PARMLIB. - Copy load modules from the distribution library to the authorized load library.
For more information, examine the "SOFTWARE DELIVERY" and "INSTALLATION" sections in the Product Installation Guide.
For EXT verification testing, you must customize the
IVREXT member to allow the products to intercept only the verification jobs
used for the tests. The IVREXT rule is used to verify that
EXT is installed and functioning properly.
The IVREXT rule member demonstrates several facets of the z/OS exit
facility. Each rule in the member demonstrates a different exit function; read each comment
preceding the DEFRULE statements for a description of the function.
Use a unique job name for the EXT verification jobs. Edit the IVREXT member
in the SCC rule library (DTS.R71.RULELIB) and modify the job name
expression (&JOBNAME) to use a unique job name, or use the default of
EXTIVP. Also, the &UNITADDC variable must specify an
offline tape unit device that can be used for data set allocations.
The sample IVREXT rules member follows:
*
INSTALLATION VERIFICATION RULES FOR EXT
*
DEFENV JOB_END MODE(ACTIVE) OPTION(JESLOGSTATS,JESMSGSTATS)
DEFENV STEP_END MODE(ACTIVE) OPTION(JESLOGSTATS,JESMSGSTATS)
DEFENV STEP_START MODE(ACTIVE) RULES(ALWAYS)
DEFENV JOB_VALIDATE MODE(ACTIVE) RULES(ALWAYS)
DEFENV ALLOC_OFFLINE MODE(ACTIVE) RULES(ALWAYS)
DEFENV ALLOC_SPEC_WAIT MODE(ACTIVE) RULES(ALWAYS)
DEFENV ALLOC_VOL_ENQ MODE(ACTIVE) RULES(ALWAYS)
*
/* IF THE JOB NAME MATCHES, THE ACTION FOR THE RULE WILL BE TAKEN.
IF REQUIRED, CHANGE THE JOBNAME CHARACTERS FROM 'EXTIVP' TO THE
TEST JOB NAME IN EACH OF THE RULES DEFINED BELOW.
*/
*****************************************************************
/* SAMPLE RULE TO PREVENT USE OF REGION=0M
THIS RULE EXPLOITS THE IEFUSI EXIT, WHICH MUST BE DEFINED
TO SYS1.PARMLIB(SMFPRM00) AND ACTIVATED IN THE EXTINIT DIF PARMLIB MEMBER.
IVPEXTUS CAN BE USED TO TEST THIS EXIT FUNCTION.
*/
*****************************************************************
DEFRULE REGION0
IF &ENV = STEP_START &JOBNAME = EXTIVP* &JOBTYPE NE STC ®ION = 0
THEN SET ®ION_SIZE_LO = 4096
ISSUE WRITEMSG(REGZERO)
DEFMSG REGZERO
'JOB &JOBNAME REQUESTED REGION=0M. CHANGED TO ®ION_SIZE_LO K'
*****************************************************************
/* SAMPLE RULE TO CHANGE PROGRAM NAME TO IEFBR14
THIS RULE EXPLOITS THE IEFUJV EXIT, WHICH MUST BE DEFINED
TO SYS1.PARMLIB(SMFPRM00) AND ACTIVATED IN THE EXTINIT DIF PARMLIB MEMBER.
IVPEXTJV CAN BE USED TO TEST THIS EXIT FUNCTION.
*/
*****************************************************************
DEFRULE CHNGPGM
IF &ENV = JOB_VALIDATE &ENVS = PRECONV /* BEFORE JCL CONVERSION */ &JOBNAME = EXTIVP* &STMT_TYPE = EXEC
THEN SET &SCAN_STRING1 = EXTBR14
SET &REPL_STRING1 = IEFBR14
*****************************************************************
/* SAMPLE RULE TO CONTROL WAIT/CANCEL STATUS FOR NONSPECIFIC OFFLINE DEVICE REQUESTS THAT WOULD OTHERWISE REQUIRE WTOR REPLY.
THE IEF_ALLC_OFFLN EXIT MUST BE ACTIVATED IN THE EXTINIT DIF PARMLIB MEMBER.
IVPEXTAO USED TO TEST THIS EXIT FUNCTION.
*/
*****************************************************************
DEFRULE OFFLRULE
IF &ENV = ALLOC_OFFLINE &JOBNAME = EXTIVP*
THEN DO
IF &OK_ONLINE = YES THEN SET &ALLOC_ACTION = ONLINE
ELSE DO
IF &OK_WAIT = YES THEN SET &ALLOC_ACTION = WAIT
ISSUE WRITEMSG(WAITMSG)
ELSE SET &ALLOC_ACTION = CANCEL
WRITEMSG(CANMSG)
END
END
DEFMSG WAITMSG 'PRODUCTION JOB &JOBNAME WAITING FOR DEVICES'
DEFMSG CANMSG 'JOB &JOBNAME CANCELLED - DEVICES UNAVAILABLE'
*****************************************************************
/* SAMPLE RULE TO ALLOW JOBS TO WAIT FOR THE DEVICE SPECIFIED BY THE &UNITADDC VARIABLE (I.E., 0561), WITHOUT HOLDING RESOURCES
THE IEF_SPEC_WAIT EXIT MUST BE ACTIVATED IN THE EXTINIT DIF PARMLIB MEMBER.
IVPEXTAW AND IVPEXTW2 CAN BE USED TO TEST THIS EXIT FUNCTION.
*/
*****************************************************************
DEFRULE UNITRULE
IF &ENV = ALLOC_SPEC_WAIT &JOBNAME EQ EXTIVP* &UNITADDC = 0561
THEN SET &ALLOC_ACTION = WAITNOH
*****************************************************************
/* SAMPLE RULE TO ALLOW JOBS TO WAIT IN THE EVENT OF A VOLUME ENQ BY ANOTHER JOB
THE IEF_VOLUME_ENQ EXIT MUST BE ACTIVATED IN THE EXTINIT DIF PARMLIB MEMBER.
IVPEXTAV AND IVPEXTV2 CAN BE USED TO TEST THIS EXIT FUNCTION.
*/
*****************************************************************
DEFRULE VOLRULE
IF &ENV = ALLOC_VOL_ENQ &JOBNAME = EXTIVP*
THEN SET &ALLOC_ACTION = WAITVOLS
ISSUE WRITEMSG(M1)
DEFMSG M1
"JOB &JOBNAME WAITING FOR VOLUME &VOLSER"
*****************************************************************
Figure 3-1. IVREXT sample rule member
IVP Step 2 - Customize the EXTINIT and
EXTTERM
DTS Parmlib Members
The EASY or Exit environments receive control under the MVS Dynamic
Exits facility. In order for the EASY or Exit rules to receive control,
the exit points must be active and must have been enabled via a SETPROG EXIT operator
command. This command may be automatically issued at the time EASY or
Exit is started by including it in the EXTINIT member of the
data set allocated to the PARMLIB DD in the DIF started task
(DTS.R71.PARMLIB).
The following statements should be included in EXTINIT to enable the
EASY or Exit environments:
OPERCMD SETPROG EXIT,ADD,EN=SYS.IEFUTL,MOD=EXTUTL,FIRST
OPERCMD SETPROG EXIT,ADD,EN=SYS.IEFUSI,MOD=EXTUSI,FIRST
OPERCMD SETPROG EXIT,ADD,EN=SYS.IEFUJV,MOD=EXTUJV,FIRST
OPERCMD SETPROG EXIT,ADD,EN=SYS.IEFUJI,MOD=EXTUJI,FIRST
OPERCMD SETPROG EXIT,ADD,EN=SYS.IEFACTRT,MOD=EXTTRT,FIRST
OPERCMD SETPROG EXIT,ADD,EN=SYS.IEFUJP,MOD=EXTUJP,FIRST
OPERCMD SETPROG EXIT,ADD,EN=IEF_ALLC_OFFLN,MOD=EXTIEFO,FIRST
OPERCMD SETPROG EXIT,ADD,EN=IEF_SPEC_WAIT,MOD=EXTIEFW,FIRST
OPERCMD SETPROG EXIT,ADD,EN=IEF_VOLUME_ENQ,MOD=EXTIEFE,FIRST
To ensure that EXT's use of the exit points stops when EASY or
Exit is stopped, include the following statements in the
EXTTERM member of the DIF PARMLIB DD data set
(DTS.R71.PARMLIB):
OPERCMD SETPROG EXIT,DELETE,EXITNAME=SYS.IEFUTL,MOD=EXTUTL
OPERCMD SETPROG EXIT,DELETE,EXITNAME=SYS.IEFUSI,MOD=EXTUSI
OPERCMD SETPROG EXIT,DELETE,EXITNAME=SYS.IEFUJV,MOD=EXTUJV
OPERCMD SETPROG EXIT,DELETE,EXITNAME=SYS.IEFUJI,MOD=EXTUJI
OPERCMD SETPROG EXIT,DELETE,EXITNAME=SYS.IEFACTRT,MOD=EXTTRT
OPERCMD SETPROG EXIT,DELETE,EXITNAME=SYS.IEFUJP,MOD=EXTUJP
OPERCMD SETPROG EXIT,DELETE,EN=IEF_ALLC_OFFLN,MOD=EXTIEFO
OPERCMD SETPROG EXIT,DELETE,EN=IEF_SPEC_WAIT,MOD=EXTIEFW
OPERCMD SETPROG EXIT,DELETE,EN=IEF_VOLUME_ENQ,MOD=EXTIEFE
SMFPRMxx), specify the exit name (for example, IEFUSI) on
the EXITS option of either the SYS or
SUBSYS parameters, depending on the scope (system-wide or subsystem-wide)
the exit is to affect. It is recommended to use SYS unless specific needs
require otherwise. Example (system-wide):
SYS(EXITS(IEFUJP,IEFUSO,IEFUSI,IEFUJV))
Example (subsystem-only):
SUBSYS(ABCD(EXITS(IEFUJP,IEFUSO,IEFUJI,IEFUJV)))
For more information about coding the EXITS option, refer to the
description of SMFPRMxx in the MVS Initialization and Tuning Reference.
When changes are made to the SMFPRMxx parmlib member, make the updates
effective by issuing the MVS console command:
SET SMF=xx
If the Dynamic Install Facility (DIF) is not active on your system, issue the console command:
START DIF
The short form of the command is:
S DIF
For first-time installs, the installation facility activates and waits for command input.
Use the following console command to activate the EXT products and
options using the IVREXT rules for verification testing:
F DIF,START EXT IVREXT
START00 member in the parameter library to automatically activate
products during DIF initialization. The START00 member delivered in the
distribution library contains sample commands to activate each SCC product. IVP Step 4 - Run the EXT IVP Procedures
The following jobs can be used to verify that EXT is installed and
functioning properly. In IVP Step 1, the member IVREXT was modified to
perform product verification on a specific job name.
Modify the jobs' job cards to use the job name specified in the IVREXT
member found in the SCC rule library: DTS.R71.RULELIB.
The IVPEXTUS job verifies the EASY or ExitIEFUSI exit feature used to examine and override values in the
STEP_START environment. This sample job enforces the region size
parameter specification. After the job has run to completion, examine the
EXT messages produced in the job output.
Sample JCL:
//EXTIVP JOB MSG
//*
//* USE EXT TO CHANGE THE REGION SIZE FROM 0 TO 4M
//*
//STEP1 EXEC PGM=IEFBR14,REGION=0M
//ACCTEST DD DSN=&&EXT,UNIT=SYSDA,
// SPACE=(TRK,(1,1)),DISP=(,DELETE)
//EXTTRACE DD DUMMY
//
Figure 3-2. IVPEXTUS verification JCL
The IVPEXTJV job verifies the EASY or ExitIEFUJV exit feature used by the JOB_VALIDATE environment
to examine and modify the JCL prior to execution. This sample job changes the execution
program name. After the job has run to completion, examine the messages produced in the job
output.
Sample JCL:
//EXTIVP JOB MSG
//*
//* USE EXT TO CHANGE THE EXECUTION PROGRAM NAME TO IEFBR14
//*
//STEP1 EXEC PGM=EXTBR14,REGION=4M
//ACCTEST DD DSN=&&EXT,UNIT=SYSDA,
// SPACE=(TRK,(1,1)),DISP=(,DELETE)
//
Figure 3-3. IVPEXTJV verification JCL
The IVPEXTAO job verifies the EASY or ExitIEF_ALLOC_OFFLN exit feature used by the ALLOC_OFFLINE
environment whenever a device required for a job is offline. This job should run to
completion without operator intervention required to bring the offline device online.
UNIT=... in the following JCL to specify a valid offline
tape unit device number.
//EXTIVP JOB MSG
//*
//* USE EXT TO BRING AN OFFLINE DEVICE ONLINE
//*
//* WITHOUT THE NEED OF OPERATOR INTERVENTION
//*
//* NOTE: CHANGE THE UNIT=.... IN THE JCL BELOW
//* TO SPECIFY A VALID OFFLINE TAPE UNIT DEVICE NUMBER
//*
//STEP1 EXEC PGM=IEFBR14,REGION=1M
//ACCTEST DD DSN=&&EXT,UNIT=.........,
// SPACE=(TRK,(1,1)),DISP=(,DELETE)
//EXTTRACE DD DUMMY
//
Figure 3-4. IVPEXTAO verification JCL
The IVPEXTAW and IVPEXTW2 jobs verify the EASY
or ExitIEF_SPEC_WAIT exit feature used by the ALLOC_SPEC_WAIT
environment that receives control whenever a job must wait for a specific device to become
available. The IVPEXTAW job runs PGM=EXTWAIT, which will
wait for 5 minutes based on the PARM=300 statement and hold the specified
device. After submitting IVPEXTAW, submit the IVPEXTW2 job
which will wait for the device until IVPEXTAW completes.
IVPEXTW2 should run to completion without operator intervention.
UNIT=... in both jobs' JCL to specify the same tape unit
device number.
//EXTIVP JOB MSG,TIME=(,1)
//*
//* THIS JOB RUNS PGM=EXTWAIT, WHICH WILL WAIT
//* FOR 5 MINUTES BASED ON THE PARM=300 STATEMENT
//* AND HOLD THE SPECIFIED DEVICE. AFTER THIS JOB
//* IS SUBMITTED, SUBMIT THE IVPEXTW2 JOB WHICH WILL
//* WAIT FOR THE DEVICE IN USE UNTIL THIS JOB COMPLETES
//*
//* NOTE: CHANGE THE UNIT=.... IN THE JCL BELOW
//* TO SPECIFY A VALID TAPE UNIT DEVICE NUMBER
//*
//* CHANGE THE STEPLIB DD TO SPECIFY THE DTS LOADLIB
//*
//EXTWAIT EXEC PGM=EXTWAIT,PARM=300
//STEPLIB DD DSN=DTS.R71.LOADLIB,DISP=SHR
//SYSUT2 DD DSN=&&TEMP,DISP=(,DELETE),UNIT=.........,
// VOL=SER=DUMP01,LABEL=(1,SL)
//
Figure 3-5. IVPEXTAW verification JCL
//EXTIVP2 JOB MSG
//*
//* THIS JOB SHOULD BE SUBMITTED JUST AFTER THE IVPEXTAW JOB.
//* EXT WILL AUTOMATICALLY INTERCEPT THE REQUEST TO DETERMINE HOW
//* THE DEVICE INTERVENTION SHOULD BE HANDLED (WAIT).
//*
//* NOTE: CHANGE THE UNIT=.... IN THE JCL BELOW
//* TO SPECIFY A VALID TAPE UNIT DEVICE NUMBER
//* WHICH IS THE SAME DEVICE IN THE IVPEXTAW JOB
//*
//STEP1 EXEC PGM=IEBGENER,REGION=1M
//EXTTRACE DD DUMMY
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=SYS1.DUMP00,DISP=SHR
//SYSUT2 DD DSN=&&TEMP,DISP=(,DELETE),UNIT=.........,
// VOL=SER=DUMP00,LABEL=(1,SL)
//
Figure 3-6. IVPEXTW2 verification JCL
The IVPEXTAV and IVPEXTV2 jobs verify the EASY
or ExitIEF_VOLUME_ENQ exit feature used by the ALLOC_VOL_ENQ
environment that receives control whenever a job must wait for volumes to become available.
The IVPEXTAV job runs PGM=EXTWAIT, waits (based on
PARM=300), and ENQs the specified volume. After submitting
IVPEXTAV, submit IVPEXTV2 which will wait for the ENQed
volume until IVPEXTAV completes.
//EXTIVP JOB MSG,TIME=(,1)
//*
//* THIS JOB RUNS PGM=EXTWAIT, WHICH WILL WAIT
//* FOR 5 MINUTES BASED ON THE PARM=300 STATEMENT
//* AND ENQ THE SPECIFIED VOLUME. AFTER THIS JOB
//* IS SUBMITTED, SUBMIT THE IVPEXTV2 JOB WHICH WILL
//* WAIT FOR THE VOLUME IN USE UNTIL THIS JOB COMPLETES
//*
//* NOTE: CHANGE THE STEPLIB DD TO SPECIFY THE DTS LOADLIB
//*
//EXTWAIT EXEC PGM=EXTWAIT,PARM=300
//STEPLIB DD DSN=DTS.R71.LOADLIB,DISP=SHR
//SYSUT2 DD DSN=&&TEMP,DISP=(,DELETE),UNIT=CART,
// VOL=SER=DUMP00,LABEL=(1,SL)
//
Figure 3-7. IVPEXTAV verification JCL
//EXTIVP2 JOB MSG
//*
//* THIS JOB SHOULD BE SUBMITTED JUST AFTER THE IVPEXTAV JOB.
//* EXT WILL AUTOMATICALLY INTERCEPT THE REQUEST TO DETERMINE HOW
//* THE VOLUME ENQ SHOULD BE HANDLED (WAIT).
//*
//STEP1 EXEC PGM=IEBGENER,REGION=1M
//EXTTRACE DD DUMMY
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=SYS1.DUMP00,DISP=SHR
//SYSUT2 DD DSN=&&TEMP,DISP=(,DELETE),UNIT=CART,
// VOL=SER=DUMP00,LABEL=(1,SL)
//
Figure 3-8. IVPEXTV2 verification JCL