DIF TSO commands - 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 Product Installation Guide And DIF User Guide

Product type
Software
Portfolio
Integrate
Product family
Syncsort™ software
Product
Syncsort™ Storage Management > Syncsort™ Cobol Migration Manager
Syncsort™ Storage Management > Syncsort™ Clone Center
Syncsort™ Storage Management > Syncsort™ Space Recovery System
Syncsort™ Storage Management > Syncsort™ SCC Monitor
Syncsort™ Storage Management > Syncsort™ Simulate 2000
Syncsort™ Storage Management > Syncsort™ Allocation Control Center
Version
Latest
ft:locale
en-US
Product name
Syncsort Storage Management
ft:title
Syncsort™ Storage Management Product Installation Guide And DIF User Guide
Copyright
2023
First publish date
1991
ft:lastEdition
2026-01-22
ft:lastPublication
2026-01-22T05:50:39.722000
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 Dynamic Install Facility (DIF) has several TSO command processors used to control and manage products. These commands can be executed from TSO or a batch job. A DIF ISPF command interface for each command is also available.

DIFPOOL The DIFPOOL command has two functions:

  • List the names of the device pools used by a product.
  • List the devices in a specific pool.

The rules language for a product defines the device pools, and each product uses the device pools differently. For example:

  • ACC typically uses device pools to control where a data set is allocated, or which tape device is used by a job.
  • SRS uses the pool definitions to select a volume during SRS ADDVOL processing.
  • Monitor uses device pools to define volume groups.

DIFVAR The SCC Monitor can create and set variables that are stored in a VSAM file. These variables are used to communicate with tasks that perform automation functions. The DIFVAR TSO command can be used to display, update, and delete the DIF variables used by Monitor.

DIFTSO The DIFTSO command allows installations to issue the DIF console commands from TSO environments. If necessary, the command can even be executed as a batch job. This interface allows administrators to manage DIF without access to a console.
Note: The DIF console commands are documented in the previous chapter.

The DIF ISPF Interface

The DIF ISPF interface provides an easy interface to the DIF TSO commands. The ISPF panels can:

  • Issue DIF console commands (DIFTSO).
  • Display information about device pools used by SCC products (DIFPOOL).
  • Examine, update, and delete the system variables created by SCC Monitor (DIFVAR and DIFVARS).

For information about installing the ISPF interface, examine “Step 7 - Install the ISPF Interface” in the Product Installation Guide.

Figure 7-1. The DIF ISPF Interface

DIFPOOL - TSO interface

DIF contains a TSO command processor (DIFPOOL), which can be used to display information about the ACC, SRS, and Monitor device pools. This information can be very helpful when working with the rules language.

In the simplest form, the DIFPOOL command can be used to list the device pools defined by a product. For example, the following command displays the device pools for ACC:


DIFPOOL ACC
      

If a pool name is specified, the devices in the pool definition are listed. For example, the following command can be used to display the devices found in the STRPOOL pool definition in ACC:


DIFPOOL ACC STRPOOL
      

By default, the DIFPOOL command simply displays the pool definitions or information about the requested pool name. The command can also be placed in a monitor mode. The REPEAT parameter can be used to specify the number of iterations, and the number of seconds between iterations. For example, the following DIFPOOL command can be used to watch a specific pool for 10 minutes - 20 iterations at 30-second intervals:


DIFPOOL product poolname REPEAT(20 30)
      

Displaying a list of pool definitions

If the DIFPOOL command is issued without operands, a list of device pools will be displayed by the command. Please examine the sample screen that follows:

PRDPOOL STRPOOL DISK MAXSPACE FLOAT

Figure 7-2. DIFPOOL - Displaying a List of Pool Definitions

Each device pool displayed by this form of the command will contain:

  • The name specified on the DEFPOOL statement in the rules language.
  • The alternate pool name to use when no devices in the current pool are available for the allocation request or space recovery.
  • The device type: TAPE or DISK.
  • The algorithm used in device selection: SRM, MAXSPACE, or RESPTIME.
  • How ACC controls the specific volume request when a user specifies a volume.

CHKPOOL During a specific allocation request, ACC will allow the specific request only if the volume is within the pool definition. Volumes outside the current definition, or an alternate pool, will be removed. The allocation will then be treated as nonspecific, and float within the device pool. CHECKPOOL is the default for the SPECIFIC parameter on the DEFPOOL statement.

FLOAT ACC will always remove specific allocation requests when using a pool definition. The nonspecific request will float within the pool definition.

NOFLOAT ACC will never remove specific allocation requests when using a pool definition. If a request does not reside within the pool definition, the allocation request will fail.

  • A run-time compare flag (RTMCP). An expression used to define the pool definition makes use of information that is run-time related. DEFPOOL skipped the evaluation of the expression during pool definition. For example, the percentage of freespace available on a volume can only be evaluated at device selection time.
  • The RESTRICT field specifies whether the pool definition will allow non-ACC controlled allocations to use the devices within the pool definition. If NONE is displayed, non-ACC controlled allocations will be allowed to create data sets on the pool devices. NEW denies the creation of non-ACC controlled data sets on volumes within the pool definition. ALL denies all allocation by non-ACC controlled users - even existing data sets cannot be accessed.
  • The number of devices within the pool definition.
  • A MODE(WARN) flag. If the pool definition is in warning mode, ACC will not actually perform device pooling during allocation.

Displaying devices within a pool definition

When a pool name is provided as an operand to the DIFPOOL command, a list of devices within the pool will be displayed. The screen below lists the information about a pool of DASD devices.

If ALL is specified, all the pool definitions and all the devices are displayed. For example, DIFPOOL ACC ALL requests that all the definitions be listed.

Note: ACC pool definitions have several reserved names for restricted devices pool: RESTNEW and RESTALL. These pools are automatically generated by ACC. RESTNEW displays the volumes that non-ACC controlled allocations cannot use for data set creation. RESTALL lists the devices that cannot be accessed by non-ACC controlled allocations.

Figure 7-3. DIFPOOL - Displaying Devices in Pools

Each device in the pool definition displays the following information:

  • The volume name of the device.
  • The control unit address (CUU).
  • The ACC Dynapool Name assigned to the device.
    Note: The dynamic pooling facility is primarily used for TAPE devices. If the DYNAPOOL console command has been used to reserve the device, only pool definitions using the DYNAPOOL expression can access this device.
  • DISK ONLY - the current space information:
    • FCYL: number of free cylinders on the volume
    • FTRK: number of free tracks not associated with free cylinders
    • FEXT: number of freespace extents on the volume
    • LCYL: largest cylinder extent on the volume
    • LTRK: largest track extent on the volume
    • NCYL: total number of cylinders on the volume
    • %FREE: percent freespace on the volume
  • RSPTIME: response time in milliseconds (MS) over the performance window. The performance window defaults to the previous 5 minutes. For more information, examine “The KEEPAWAY Volume Selection Parameter” on page 4-39.

DIFPOOL ISPF interface

The DIFPOOL command can also be executed from the DIF ISPF interface. When the DIF ISPF interface is invoked from the primary panel, option 2 will display pool information for the specified product and optionally a specific pool name. For example, the following screen shows the device pools for ACC.

Figure. ISPF DIFPOOL - Displaying Device Pools

The DIF ISPF panels can also display information about the device pool. The following panel is an example of the Volume information (V option). The panels can also display SRS recovery options used by the device pool (R option), and display information about the pool (S).

Figure 7-5. ISPF DIFPOOL - Displaying Devices within a Pool Definition

The SCC Monitor can create and set variables that are stored in a VSAM file. These variables are used to communicate with tasks that perform automation functions. The DIFVAR TSO command can be used to display the current value of a DIF variable that was defined and set by the MONRUN program. The DIFVARS TSO command can be used to reset the variable’s current value to nulls or another value.

Before issuing these commands, the DIFVAR VSAM file must first be allocated to the TSO session. This can be accomplished with the following TSO command:


ALLOC F(DIFVAR) DSN(DTS.R71.DIFVAR) SHR
      

Display DIF variables

The following DIFVAR command displays all the variables contained in the DIFVAR VSAM file:


DIFVAR *
      

The following DIFVAR command displays all variables beginning with “COMPRESS”. This is useful to see which volumes had an action of compress initiated and to determine the status of the action taken.


DIFVAR COMPRESS*
      

The following DIFVAR command displays all variables beginning with “WORK01”. This is useful to see what the last action taken for a particular volume was and to see other current information collected for the volume.


DIFVAR WORK01*
      

Update DIF variables

The DIFVARS TSO command can be used to update a DIF variable. The variable can be set to nulls or another value. For example, the following DIFVARS command updates the value of variable COMPRESS-STOR02. The value of the variable will be set to END. Specifying the DIFVARS command without a value will set the variable to nulls.
Note: A unique entire variable name should be specified on DIFVARS - don’t use pattern matching characters.

DIFVARS COMPRESS-STOR02 END
      

Delete DIF variables

DIFVARS can be used to delete a DIF variable, by specifying DELETE as the third positional parameter. For example, the following DIFVARS command deletes the variable used in the previous example.
Note: A unique entire variable name should be specified on DIFVARS - don’t use pattern matching characters.

DIFVARS COMPRESS-STOR02 * DELETE
      

DIFVAR and DIFVARS - ISPF interface

The DIFVAR and DIFVARS commands can also be invoked from the DIF ISPF interface. When the DIF ISPF interface is invoked from the primary panel, option 3 VARIABLES will display the DIF variables and their values. The values can also be updated or deleted from the panel in which they are displayed.

Figure 7-6. ISPF DIFVAR - Displaying Variables

By default, the DIF console commands can only be entered from an operator console or via the PDS PARMLIB DD statement. The DIF TSO command interface can be enabled with the DIFTSO parameter in the DIF execution JCL. For information about enabling the DIFTSO interface, examine the DIF parameter “DIFTSO” on page 6-9.

This parameter assigns a TSO command name to the interface. After the next DIF shutdown/restart, the TSO command processor can then be used to enter DIF commands. The output from the commands is returned to the TSO user.

For example, if DIFTSO=DIFTSO has been specified in the DIF execution JCL, the following status command can be issued from TSO after DIF is active:

DIFTSO STATUS      

DIF TSO commands under ISPF - The DIF TSO command processor is loaded into extended CSA, and the command is added to the MLPA chain. By default, ISPF will not execute the command from the ISPF command line. However, the DIF TSO command can be added to the ISPF command table, or the TSOEXEC command interface can be used from the ISPF command line. For example, the following command will issue the DIF STATUS command from an ISPF command line:

TSOEXEC DIFTSO STATUS      
Warning: If the DIFTSO command interface has been enabled, you should use your security system to protect the DIF TSO command from unauthorized users.

DIFALIB - Authorized TSO Commands

An Alternate Way to Authorize TSO Commands

Several of the products contain TSO commands that must be executed as authorized commands. The installation sections of the DCC, DLimit, and ZCC manuals have installation steps that document the normal procedure used to authorize the TSO commands:

  1. Locate the active IKJTSOxx PARMLIB Member.
  2. Edit the IKJTSOxx PARMLIB Member.
  3. Activate the modified IKJTSOxx member.
  4. Add the DIF Load Library to the STEPLIB DD in a Logon Procedure.
Note: Unfortunately, many of the above steps may not be possible for the person installing the products, and other personnel have to be located and involved in the installation project to get the commands authorized.

To bypass this problem, there a developed DIFALIB facility. DIFALIB is a started component that adds a dynamic authorization interface for the TSO commands. To use the interface, the following DIF start command must be issued from the console or added to the DIF START00 member in the DTS.R71.PARMLIB dataset:

F DIF,START DIFALIB      

To use the DIFALIB dynamic authorization interface, a DIFALIB DD statement must be allocated to the user’s TSO session, and point to the DIF authorized load library - typically DTS.R71.LOADLIB. If the DD statement cannot easily be added to the ISPF logon procedure used by the TSO session, the allocation can also be performed using ISPF option 6:

ALLOC FI(DIFALIB) DA('DTS.R71.LOADLIB') SHR      

In the current SCC builds, the DIFALIB DD is automatically allocated in the CDIFINIT member in the ISPFLIB: DTS.R71.ISPFLIB(CDIFINIT). If required, the following statements in BOLD can be added to CDIFINIT to bypass the ISPF option 6 allocation request mentioned above:

ADDRESS TSO
"ALTLIB ACTIVATE DATASET('"HLQISPF".ISPFLIB') APPLICATION(CLIST)"
IF RC <> 0 THEN SIGNAL ERROR_DIF5
ADDRESS TSO
"ALLOC FILE(DIFALIB) DATASET('"HLQLOAD".LOADLIB') SHR"
IF RC <> 0 THEN SIGNAL ERROR_DIF5      
When DIFALIB is installed by the DIF started task, a small program is installed in CSA with aliases for all of the authorized TSO commands. If the program receives a command request, it first validates the passed command name is in the TSO command list and then elevates the current command task to an authorized state. Control is then passed to the same command name located in the authorized dataset allocated to the DIFALIB DD statement.
Warning: If a non-authorized library is allocated to DIFALIB, the operating system will fail the request. An authorized caller is not allowed to transfer control to a program residing in a non-authorized library.

ISPF Limitations If DIFALIB is used without any commands added to the IKJTSOxx PARMLIB member, or updates to the TSO logon proc to add the DIF load library to the STEPLIB DD statement, there are two limitations to using the authorized commands:

  • The authorized commands will not work via ISPF Option 6 or using the TSO command issued on the command line.
  • However, the authorized commands embedded in the panels will work correctly.
Note: To allow the authorized commands on ISPF option 6, the commands can be added to the ISPF ISPTCM table. Alternatively, the TSOEXEC command can be used instead of TSO on the command to issue authorized commands.

If DIFALIB is used and the authorized commands have been added to the IKJTSOxx PARMLIB member and activated from the TSO READY prompt, ISPF will allow execution of the authorized commands on both ISPF Option 6 and via the TSO command interface on the command line. No updates to the TSO logon proc to add the DIF load library to the STEPLIB DD statement are required.