Product verification - syncsort_cobol_migration_manager - syncsort_clone_center - syncsort_space_recovery_system - syncsort_scc_monitor - syncsort_simulate_2000 - syncsort_allocation_control_center - Latest

Syncsort™ Storage Management Easy/Exit User Guide

Product type
Software
Portfolio
Integrate
Product family
Syncsort™ software
Product
Syncsort™ Storage Management > Syncsort™ Allocation Control Center
Version
Latest
ft:locale
en-US
Product name
Syncsort Storage Management
ft:title
Syncsort™ Storage Management Easy/Exit User Guide
Copyright
2025
First publish date
1991
ft:lastEdition
2025-12-05
ft:lastPublication
2025-12-05T05:07:50.930000

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:

  1. Customize the EASY or Exit Verification Rules
  2. Customize the EXTINIT and EXTTERM parmlib members
  3. Start DIF and EXT using the Verification Rules
  4. Run the EXT Product Verification (IVP) Jobs for z/OS and examine the output
Important: Before performing product verification, you must perform the installation steps found in the Product Installation Guide.

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 &REGION = 0
THEN SET &REGION_SIZE_LO = 4096
     ISSUE WRITEMSG(REGZERO)
DEFMSG REGZERO
'JOB &JOBNAME REQUESTED REGION=0M. CHANGED TO &REGION_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
      
Note: Some exits require entries in SMF. In the SMF parmlib member (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
Note: After performing product verification and customization, you can modify the 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.

Note: Change the 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.

Note: Change the 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