DFSMSrmm exits - 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
L1_Product_Gateway
Integrate
L2_Product_Segment
IBM Infrastructure
L3_Product_Brand
Precisely Syncsort
L4_Investment_Segment
Mainframe
L5_Product_Group
Mainframe Storage Optimization
L6_Product_Name
Syncsort Storage Management

The DFSMSrmm Environments

EASY/Exit can receive control and enforce policy rules for the DFSMSrmm tape management system exits, EDGUX100, EDGUX200, and EDGUX300. Rules processing in these exits can perform many different DFSMSrmm functions and can influence DFSMSrmm policy and the way DFSMSrmm deals with tape volumes and tape datasets.

EASY/Exit processing in DFSMSrmm might be used for tasks such as:

  • allowing DFSMSrmm to ignore a particular volume or set of volumes
  • providing VRS values or rack numbers
  • providing scratch volume pooling
  • allowing or rejecting certain volume mounts or expiration dates
  • allowing or suppressing LABEL processing
  • setting location or movement information
  • and many more

The DFSMSrmm exits may be invoked and the EASY/Exit policy rules are run multiple times during DFSMSrmm processing. At each of these entries, the exit parameter list from DFSMSrmm is converted to EASY/Exit variables and the updated results are returned to DFSMSrmm when EASY/Exit rules have run.

The value of the &ENV variable will be either EDGUX100, EDGUX200, or EDGUX300 depending upon which exit is being invoked by DFSMSrmm.

The DFSMSrmm exits receive control under the z/OS Dynamic Exits facility. For the EASY/Exit rules to receive control at these exit points, the exit points must be active and the EXTUXnnn (where nnn is 100, 200, or 300) must have been enabled via a SETPROG EXIT console command. This command may be automatically issued at the time EASY/Exit is started by including it in the EXTINIT member of the dataset allocated to the PARMLIB DD in the DIF started task.


OPERCMD SETPROG EXIT,ADD,EXITNAME=EDG_EXIT100,MOD=EXTUX100,FIRST
OPERCMD SETPROG EXIT,ADD,EXITNAME=EDG_EXIT200,MOD=EXTUX200,FIRST
OPERCMD SETPROG EXIT,ADD,EXITNAME=EDG_EXIT300,MOD=EXTUX300,FIRST
      
Note: Include the appropriate SETPROG EXIT,ADD statements in EXTINIT so the exits are enabled automatically when EASY/Exit starts.

To ensure that EASY/Exit's use of the DFSMSrmm exit points ends when EASY/Exit stops, corresponding SETPROG EXIT,DELETE statements should be included in the EXTTERM member of the DIF PARMLIB DD data set. For example:


OPERCMD SETPROG EXIT,DELETE,EXITNAME=EDG_EXIT100,MOD=EXTUX100
OPERCMD SETPROG EXIT,DELETE,EXITNAME=EDG_EXIT200,MOD=EXTUX200
OPERCMD SETPROG EXIT,DELETE,EXITNAME=EDG_EXIT300,MOD=EXTUX300
      
Note: Include corresponding SETPROG EXIT,DELETE statements in EXTTERM to remove the exits when EASY/Exit is stopped.

In addition to the Dynamic Exits environment, exit processing must be enabled in DFSMSrmm itself. The exits are typically loaded at DFSMSrmm startup. Thus, DIF should start before DFSMSrmm. However, if DFSMSrmm is started first, or if the exits were disabled via the DFSMSrmm ISPF interface, they can be restarted via a MODIFY command to DFSMSrmm:

F DFRMM,REFRESH EXITS

The status of the DFSMSrmm exits can be displayed via the DFSMSrmm ISPF interface (option 7.1 - CONTROL) and via the Dynamic Exits facility console command:

D PROG,EXIT,EN=EDG*,DIAG

Variables in the DFSMSrmm Environments

Variables for the EXTUX100 (EDG_EXIT100) environment

Table 12-1. Variables for the EXTUX100 (EDG_EXIT100) Environment

Name Values Description
ENV EDGUX100, EDGUX200, or EDGUX300 The DFSMSrmm exit point
RMM_IDENT EDGPL100, EDGPL200, EDGPL300 Parmlist identifier
RMM_VERNO Numeric Parmlist version
RMM_SUBPOOL Numeric Parmlist subpool id
RMM_CBLEN Numeric Parmlist length in bytes
RMM_OKIGNVOL Yes/No (read-only) Exit can request volume be ignored
RMM_OKVRS Yes/No (read-only) Exit can set VRS value
RMM_OKRACKNO Yes/No (read-only) Exit can set rack number
RMM_OKPOOL Yes/No (read-only) Exit can set pool name
RMM_ITSCLOSE Yes/No (read-only) Exit being called at CLOSE or EOV
RMM_INF_IGNORE Yes/No (read-only) Volume ignored by RMM
RMM_INF_NOTRMM Yes/No (read-only) Volume not RMM-managed
RMM_INF_DISPDD Yes/No (read-only) DISPDD entry processed
RMM_INF_CMOVE Yes/No (read-only) CMOVE required later
RMM_INF_UDATA Yes/No (read-only) Userdata provided
RMM_INF_MTL Yes/No (read-only) MTL tape drive allocated
RMM_INF_DISPLAB Yes/No (read-only) DISPDD requested label
RMM_INF_IGNRULE Yes/No (read-only) Ignore request to bypass rule
RMM_MNTVOL 1-6 chars (read-only) Mounted volume serial
RMM_REQVOL 1-6 chars (read-only) Requested volume serial
RMM_SET_IGNVOL Yes/No Ignore volume
RMM_SET_IGNMNT Yes/No Ignore mounted volume
RMM_SET_IGNREQ Yes/No Ignore requested volume
RMM_SET_IGNDS Yes/No Ignore dataset
RMM_SET_NOLABEL Yes/No Suppress sticky label
RMM_SET_POOL Yes/No Set pool name
RMM_SET_ACLOFF Yes/No Do not perform ACL load
RMM_SET_CMOVE Yes/No CMOVE required later
RMM_SET_NOCMOVE Yes/No Update volume location
RMM_SET_IGNSGN Yes/No Use system scratch pooling
RMM_SET_NOBYP8 Yes/No Do not bypass SAF RC=8
RMM_VRS 1-8 chars New VRS value
RMM_POOL 1-6 chars Scratch pool name
RMM_RACKNO 1-6 chars Rack number
RMM_ACCODE 1-8 chars ACCODE parameter

Table 12-1. Variables for the EXTUX100 (EDG_EXIT100) Environment

Name Values Description
RMM_LOCATION 1-8 chars Target location name
RMM_LOCTYPE LOAN, STORE, or LIBRARY Target location type
RMM_DDNAME 1-8 chars DD name
RMM_DISPDD 1-8 chars DISPDD name
LBL_DSN 1-44 chars Data set name
LBL_TYPE AL, UL, BLP, NSL, SL, or NL Label type
LBL_CRDT YYDDD Creation date
LBL_XPDT YYDDD Expiration date
LBL_OUTPUT Yes/No Dataset opened for output
LBL_EOV Yes/No Dataset EOV
LBL_VOLSER 1-6 chars Volser
LBL_JOBNAM 1-8 chars Job name
LBL_STPNAM 1-8 chars Step name
LBL_SYSTEM 1-8 chars System id
LBL_LRECL Numeric LRECL
LBL_BLKSI Numeric BLKSIZE
LBL_UNIT Numeric Unit address
LBL_BLKCNT Numeric No. of blocks written
LBL_FSCT Numeric Data set sequence number
LBL_RECFM Hex Record format
LBL_RECF_U Yes/No RECFM undefined
LBL_RECF_F Yes/No RECFM fixed
LBL_RECF_V Yes/No RECFM variable
LBL_RECF_O Yes/No RECFM track overflow
LBL_RECF_B Yes/No RECFM blocked
LBL_RECF_S Yes/No RECFM spanned or standard
LBL_RECF_A Yes/No RECFM ASA control chars
LBL_RECF_M Yes/No RECFM machine control chars
LBL_VOLSEQ Numeric Volume sequence number
LBL_DEN Numeric Density
LBL_MEDIA 1-8 chars Volume media name
LBL_CRDATE YYYYDDD Creation date
LBL_CRTIME HHMMSS Creation time
LBL_XPDATE YYYYDDD Expiration date
LBL_PREVOL HHMMSS Expiration time
LBL_CRJOB 1-8 chars Creating job name
LBL_TDSI1 Numeric TDSI information – recording mode
LBL_TDSI2 Numeric TDSI information – mediatype
LBL_TDSI3 Numeric TDSI information – compaction
LBL_TDSI4 Numeric TDSI information – special attrib

Variables for the EXTUX200 (EDG_EXIT200) Environment

Table 12-2. Variables for the EXTUX200 (EDG_EXIT200) Environment

Name Values Description
RMM_OKSCR Yes/No (read-only) Return to scratch can be performed
RMM_VOLSER 1-6 chars RMM-defined volser
RMM_RACKNO 1-6 chars RMM-defined rack number
RMM_MEDIA 1-8 chars Volume media name
RMM_LOCATION 1-8 chars Volume location
RMM_VOLSEQ Numeric Volume sequence number
RMM_DSNAME 1-44 chars First file data set name
RMM_SMSVOL Yes/No (read-only) Volume is SMS-managed
RMM_HOME_LDEF Yes/No (read-only) Volume in home location
RMM_MAN_SCR Yes/No (read-only) Volume in VLPOOL with AUTOSCR(NO)
RMM_SET_NOSCR Yes/No Do not return to scratch
RMM_SET_IGNDSN Yes/No Ignore data set information
RMM_DESCRIPTION 1-30 chars User description
RMM_OWNER 1-8 chars Volume owner id
RMM_CATSYSID 16 * 8 chars CATSYSID list for system

In addition to the variables in the charts above, as well as the standard DIF variables such as &JOBNAME, &STEPNAME, &SYSID, among others, additional variables may also be available during EASY/Exit processing for DFSMSrmm if certain control blocks such as the JFCB and the ACERO are available.

Variables from the JFCB

Variables from the JFCB may be available if a job is running in which the tape volume or dataset is referenced in a DD statement. These include all of the usual DD name variables such as &DSNAME, &VOLSER, &DISP, among others. These variables are documented in Table 6-2, "Symbolic Names for DD Fields" in the DIF Rules Language Guide.

If the DFSMS ACS routines are invoked by DFSMSrmm exit processing, the ACS read-only variables are also available to EASY/Exit. When invoked by DFSMSrmm, the DIF variable name is preceded by RMM_ (for example, &RMM_DSNAME). The ACS variables are documented in Table 6-1, "Symbolic Names for SMS Fields" in the DIF Rules Language Guide.

Examples for the DFSMSrmm Environments

In the following example, the EASY/Exit rules are used to set a scratch pool for a tape in the EXTUX100 (EDG_EXIT100) environment.


DEFENV EDGUX100 MODE(ACTIVE) RULES(ALWAYS) DEFRULE RMMRULE
IF &ENV = EDGUX100 && &JOBNAME = MYJOB && &RMM_OKPOOL = YES
THEN SET &RMM_POOL = 'SCR*'
     SET &RMM_SET_POOL = YES
      

Example 2 - Setting a VRS Value

In the following example, the EASY/Exit rules are used to set a new Vital Record Specification for a tape in the EDGUX100 (EDG_EXIT100) environment.


DEFENV EDGUX100 MODE(ACTIVE) RULES(ALWAYS) DEFRULE RMMRULE
IF &ENV = EDGUX100 && &JOBNAME = MYJOB && &RMM_OKVRS = YES
THEN SET &RMM_VRS = 'NEWVRS'