Skip to main content

Preface

INFOPAK VSAM is a product that provides compression for KSDS or ESDS data sets in an MVS operating environment. It is CICS compatible and completely transparent to the application programs.

This document is intended primarily for database administrators and system administrators who want to:

  • evaluate the space savings they can expect from the use of INFOPAK, and

  • use the INFOPAK compression system.

INFOPAK VSAM overview

INFOPAK VSAM is a product that provides compression for KSDS or ESDS data sets in an MVS operating environment. It is CICS compatible and completely transparent to the application programs.

INFVSUT1 utility program

INFOPAK compression is activated using the INFVSUT1 utility. This utility has two functions:

  • initiating the INFOPAK compression system,

  • identifying compressed files to the compression system and synchronizing the compression for multi-CPU sites.

To initiate the INFOPAK compression system, INFVSUT1 creates a system exit called the OPEN pre-processor.

To identify compressed files to the compression system, INFVSUT1 maintains a list of the KSDS or ESDS data sets to be compressed in the INFOPAK cluster.

The INFOPAK cluster is a new KSDS data set that the user creates to hold the data set names.

INFVSUT1 reads any SYSIN cards supplied to add or delete entries on the INFOPAK cluster. It updates the INFOPAK cluster to reflect the SYSIN cards, then it builds a table in memory that contains a mirror image of the INFOPAK cluster. The SVC OPEN pre-processor references the table in memory. Finally, it initiates the SVC OPEN pre-processor if it is not already active. When used with the SYSIN DD card, if you use PARM=REFRESH on the EXEC card, it will keep multi-CPU compression datasets in sync.

The INFVSUT1 utility program must be executed immediately after IPL (with or without SYSIN) to build the table in memory and to initiate the SVC OPEN pre-processor. INFVSUT1 can be run at anytime with SYSIN to update the INFOPAK cluster and the table in memory.

INFOPAK and VSAM

When an application program issues an OPEN request to VSAM, the request is passed to the OPEN pre-processor. INFOPAK then examines the compressed file list in memory to see if the cluster is to be compressed. If the cluster is not on the list, INFOPAK turns control back to VSAM and the INFOPAK modules are not loaded. If the cluster is on the list, INFOPAK loads its interface module in the user region to compress or decompress the records and expand records each time a GET or PUT request is issued. To the application program opening the VSAM cluster, this interface will appear as VSAM. To VSAM, it will appear as the application program.

How INFOPAK handles keys

During compression, the uncompressed key(s) are saved in a separate work area. The remaining data portion of the record is compressed and placed into the compressed record. The keys are then inserted into the compressed record in the exact positions they occupied before. The new compressed record is then handed back to VSAM for physical storage.

If the compressed data does not fill out the record after insertion of the key(s) in their exact record positions, then the record is lengthened by adding bytes of binary zeros in order to obtain a minimum required record length.

The VSAM compression routine compresses records as illustrated on the next page.

Considerations with alternate keys .

The alternate keys and the PATHs of a cluster must be defined before the cluster is compressed.

VSAM needs uncompressed alternate keys to have access to the data component of the cluster.

INFOPAK VSAM options

The user is provided with an option that will bypass compression for a job, step, dd, or program. The INFVSUT1 utility also allows the user to specify the type of compression (maximum compression[hardware or software] or maximum performance) for each data set.

INFOPAK VSAM compression performance

Generally, with online applications, compression overhead will be offset with the gains realized in faster I/O times because less data is being transferred through the data channels. If the application is performing Random or Skip Sequential Reads, the probability of finding the requested record in the buffer instead of doing another physical read is increased.

Must the maximum record length be increased ?

Although rare, it is always possible that a record will not compress. The INFOPAK algorithm assumes any record that is at its maximum length as being uncompressed. Therefore, if the original records are known to have been of fixed length, decompression will be attempted on records which are less than maximum and this, of course, would be correct.

However, if the original records were variable length, it is possible to be less than the maximum length and still uncompressed. If INFOPAK is unable to compress a variable length record, a one byte indicator is attached. If the maximum length parameter is increased by two bytes this logic works for all possible situations.

If you do not wish to increase the maximum record size, INFOPAK correctly assumes that any maximum length record is uncompressed. A one byte indicator is attached to uncompressed records which are two or more bytes shorter than the maximum.

It is only the record that is exactly one byte shorter than maximum length and cannot be compressed that presents an unusual situation when the maximum record size is not increased. In this case, the compression routine attaches a zero byte at the end of the record. The decompression routine, then, sees a record of maximum length and does not, and correctly so, decompress the record.

Though this would be a rare case, the application program receives a record with an extra zero byte at the end. This should not cause a problem. However, if this is considered risky for a particular application, the maximum record length should be increased by two.

INFOPAK and CICS OSCOR

Version 3 of CICS allows the ACB to exist above the 16M line. INFOPAK will use this function and allocate its internal control blocks and buffers above the line also eliminating OSCOR problems.

The following information helps in calculating the memory size required for INFOPAK in OSCOR:

  • reserve (300 + n) bytes for each compressed file, where n is the record maximum length.

  • reserve (120 + m) * S bytes, where m is the length of the largest record of all compressed files and S is the maximum number of competing accesses to the files under control. An overvalue of S is the amount of the STRNO of each file under control. An adequate value of S is the number of compressed clusters.

  • reserve 30 K for each interface module (CP, CS) when these modules are not loaded in LPA.

INFOPAK VSAM restrictions

The current release of INFOPAK VSAM has two restrictions:

  • It will not compress VSAM clusters which are under IMS control. This feature is offered as an option of INFOPAK VSAM and DL1.

  • It may not function if the VSAM buffers have been modified without using the PUT macro (markbuffer out).

note

Compression is limited to KSDS and ESDS because only these files are able to handle records of variable length. Keys, including alternate keys, are not compressed. The rest of the record, including any user data preceding the key, is compressed.

Compression is done on ESDS clusters with the restriction that records must NOT be updated (even when keeping the same length), after initial loading.

Other physical VSAM organizations (RRDS or LDS) are NOT allowed for compression.

INFOPAK can NOT be used in the following cases:

  • Access under IMS control (SHISAM,HISAM)

  • Access using CI

  • VSAM buffer modifications without the use of the PUT macro. The audit command detects clusters having records which are directly updated in the buffers (INFOPAK VSAM).

  • Use of VSAM through ISAM Interface Program (IIP).

Interactive Compression Simulation

Execution of TESTPAK under TSO

The CLIST PAKSTAR should be in a library in the LOGON procedure (see installation manual: HP106) This CLIST, PAKSTAR, invokes the interactive part of INFOPAK.

Invoking PAKSTAR, displays the following screen:

Primary menu



\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- I N F O P A K \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Select one of the following options:
0 DEFAULTS
1 TESTPAK VSAM/MVS - Simulation of the compression
2 TESTPAK DB2 - Simulation of the compression NOT AVAILABLE
3 INFOPAK VSAM/MVS - Managing the reference cluster
P CONFIDENTIAL CODE
T TUTORIAL
X FIN
Press END or RETURN to terminate

note

NOT AVAILABLE appears for products that are not installed or that are not found in the specified libraries.

Defaults, (Option 0)

This option is used to list and modify the default parameters for each user.

TESTPAK uses two variables:

  • the JOB card for batch execution,

  • the default of the maximum number of records or blocks by file that TESTPAK read to evaluate a compression.

The following panel is displayed:


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- DEFAULT VALUES - INFOPAK \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Enter below the JOB card(s) for batch execution
===\> //JOB1 JOB \'TESTPAK\',MSGCLASS=S,NOTIFY=INFO0
===\> //*
===\> //*
===\> //*
Specific parameter for TESTPAK VSAM/MVS:
Maximum number of record/block to be read ===\> 10000

TESTPAK VSAM/MVS, (Option 1)

The following panel is displayed:


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- TESTPAK VSAM/MVS \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Enter below a dsname to select the file(s) to be tested
This dsname may be:
* a generic dsname when selecting cataloged files
* a full dsname to select a non-cataloged file
FILE(S) ===\> USER.TEST*
VOLUME ===\> (blank for cataloged file(s))
UNIT ===\> (blank for cataloged file(s))

This panel is used to select files for a compression simulation.

Description of input fields

The fields are described below:

{wrapper="1" role="DL"}

  • File(s)

    specifies the search criterion. A generic name may only be used for cataloged files.

    The generic character '*' may only be used at the end of the name.

  • Volume

    Name of the volume that contains the non cataloged file to be tested.

  • Unit

    Unit that contains the non cataloged file to be tested. Default SYSALLDA.

note

It is assumed that the ARCHIVE file exists. The creation of this file is described in the installation manual of INFOPAK.

When using file selection, a file list will be created as described below:

Cataloged files

The list of selected files contains:

  1. All cataloged files that match the selection criterion and are supported by INFOPAK (KSDS, ESDS, PDS and sequential files).

    If compression statistics exist for these files, they also will be displayed.

    The volume field name for these files is blank.

  2. Uncataloged files whose compression statistics have been stored in the archive file and that match the selection criterion.

    These files are displayed with the corresponding volume names.

  3. Erased or uncataloged files that match the selection criterion and still exist in the ARCHIVE file.

    The value of the volume field is '??????'.

Uncataloged file

The selection criterion of an uncataloged file must be the full dataset name as well as its volume name. The unit type is optional, the default value is SYSALLDA.

The list displayed contains only one entry.

If compression statistics exist for this file, they are displayed. The volume name is always displayed.

Selection panel

After validation of the selection, the following panel is displayed :


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- TESTPAK VSAM/MVS \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\> SCROLL ===\> CSR
FILE(S) : USER1.TEST*
Maximum number of records or blocs to be read ===\> 10000
Execution type , batch (B) or interactive (I) ===\> I
S: S select, ? information, E erase
S FILE NAME CP CS CP-LZ TYPE VOLUME
. USER1.TEST.CNTL 69.05 64.36 55.23 PDS
. USER1.TEST.ESDS ESDS
. USER1.TEST.KSDS 40.43 31.47 35.56 KSDS
. USER1.TEST.SEQ1 74.50 64.30 70.12 SEQ
. USER1.TEST.SEQ2 SEQ
. USER1.TEST.SEQ3 69.10 62.50 25.34 SEQ ??????
. USER1.TEST.SEQ4 70.84 64.25 65.98 SEQ TSO010
******************************** BOTTOM OF DATA *******************************

Description of input fields

The input fields are described below:

{wrapper="1" role="DL"}

  • Number of records

    Indicates the maximum number of records or blocks to be read for each selected file. This value is used in interactive and batch mode. A null value means that all records of the files are to be read. The default value is defined in the user profile, it can be modified with option 0 (default).

Execution type :

Indicates the execution mode of TESTPAK VSAM/MVS.

{wrapper="1" role="DL"}

  • (I)nteractive

    The simulation is processed for each selected file.

    A message shows the file name in process and the statistics are automatically updated.

    "I" is the default value.

  • (B)atch

    The JCL to execute all selected files will be displayed. Statistics are available at the end of the compression job and it is necessary to reselect the files in order to obtain the statistics (go back to the selection menu).

    If the archive file cannot be accessed (no archive file card) the statistics for each file will be put into the SYSOUT file of TESTPAK.

    The recommended method to use is batch mode if simulations are done for files containing a large number of records/blocks.

  • Selection code S

    Type 'S' to select a file to be processed. No selection is allowed if the volume field name is equal to '??????'.

    The code '?' displays more information about the file compression.

    The code 'E' will erase statistics in the archive file.

  • If the file is an uncataloged file (volume field equal to '??????' or volume name) then the line on the screen disappears and the corresponding record will be deleted from the archive file.

  • If the file is a cataloged file (volume field is blank), the record will be deleted from the archive file, the statistics will be erased on the screen, but the file is still displayed.

Output fields

The output fields are described below:

{wrapper="1" role="DL"}

  • File(s)

    Reminder of the selection criterion

  • CP

    Estimation of compression rate with the CP routine

  • CS

    Estimation of compression rate with the CS routine

  • CP-LZ

    Estimation of compression rate with the Lempel-Ziv (hardware) routine

  • Type

    File type: KSDS, ESDS, PDS, SEQ or MIGR for migrated files.

    note

:

A migrated file is assumed to be a sequential file.

  • Volume

    volume name/number for an uncataloged file.

    This field is blank for cataloged files.

    If any entries exist in the archive file, that represent deleted or uncataloged files, the volume field is set to '??????'.

Selection validation

The execution of command "?" or "E" is immediate when pressing ENTER, PF7 or PF8. PF3 cancels this operation. The validation of the command 'S' is different as shown below:

  1. In interactive mode.

    The execution is immediate for all selected files when pressing: ENTER, PF7 or PF8.

  2. In batch mode.

    After the selection, it is necessary to press PF3 to obtain the execution JCL. The user can submit this JCL, modify it or cancel the operation by pressing PF3.

The archive file

The archive rules are described below:

  • The compression simulation data is stored in a VSAM cluster, the ARCHIVE file (see installation manual)

  • The archive file name is defined in the INFOTEL PARMLIB member.

  • If the archive file is not available, statistics are not stored.

  • New statistics replace old statistics if they exist.

Additional information panel (Selection code ?)

The command (?) displays more information about a file. One of the following panels will be displayed:

For a VSAM cluster selection:


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- TESTPAK VSAM/MVS - INFORMATION \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
CLUSTER NAME : USER1.TEST.KSDS
VOLUME :
CLUSTER TYPE : KSDS
Minimum record length : 196
Maximum record length : 196
Number of records read : 62
Number of bytes before compression : 12 152
Comp. Rate NB of bytes after comp. CPU Comp. CPU Decomp.
CP 40.26 7 260 114 72
CS 31.28 8 351 57 24
CP-LZ 35.56 7 830 234 152

For a sequential file:


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- TESTPAK VSAM/MVS - INFORMATION \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
FILE NAME : USER1.TEST.SEQ1
VOLUME :
FILE TYPE : SEQ
Minimum bloc length : 3080
Maximum bloc length : 3080
Number of blocs read : 100
Number of bytes before compression : 308 000
Comp. Rate NB of bytes after comp. Optimum Blksize CPU Comp. CPU Decomp.
CP 74.50 78 540 30800 1195 667
CS 64.30 109 956 29876 421 125
CP-LZ 70.12 92 030 30300 2165 1003

TESTVPAK

TESTVPAK is a batch program which allows you to simulate the effects of the INFOPAK compression on your own sequential, partitioned, VSAM KSDS and ESDS files.

TESTVPAK does a partial or total read of one or several files and calls the three modes of compression (maximum compression, maximum performance and hardware compression) for each of the physical records read. TESTVPAK provides a statistical report showing the space gain that one will achieve on the selected files as a result of using the INFOPAK product.

note

If the hardware instruction is not present, TESTPAK will simulate the instruction.

note

TESTPAK can also be used to create custom external dictionaries, see HP121, Using external dictionaries.

TESTVPAK provides actual results which can be used to redefine the files that will be subject to compression.

The installation procedure places the TESTVPAK module in the library with the ddname MVSLOAD (see the "PRODUCT INSTALLATION JCL" delivered with the tape).

TESTVPAK Operation and Environment

The TESTVPAK program, which can be executed in pure batch mode, may be run with the following JCL:


// jobname JOB\...\...\...\...
// STEP1 EXEC PGM=TESTVPAK,PARM=\'CPU\'
// STEPLIB DD DSN=library containing TESTVPAK
// PRINT DD SYSOUT=*
// DDxx DD DSN=name of the first file to scan
// etc. etc.
// DDyy DD DSN=name of the last file to scan
// SYSIN DD *
Command cards for each file
etc\...
/*

note

PARM='CPU' provides information about CPU consumption of the compression modules.

The format of the SYSIN DD Command cards for each file is described below:

{wrapper="1" role="DL"}

  • OPERAND 1

    ddname of the file to be scanned

  • OPERAND 2

    (optional) number of records (or blocks) in this file to read for the compression report. If this parameter remains blank, TESTVPAK will read the entire file. For large files, it is recommended to limit the number of records in order to avoid excessive run times.

note

OPERAND 1 and OPERAND 2 must be separated by at least one space.

example

Example :


// jobname JOB \...\...\...\...\....
// STEP1 EXEC PGM=TESTVPAK,PARM=\'CPU\'
// STEPLIB DD DSN=library containing TESTVPAK
// PRINT DD SYSOUT=*,DCB=(LRECL=133,BLKSIZE=1330,
RECFM=FBA)
// DD1 DD DSN=FILE1.SEQ1
// DD2 DD DSN=FILE2.PDS
// DD3 DD DSN=FILE3.SEQ2
// DD4 DD DSN=FILE4.ESDS
// DD5 DD DSN=FILE5.KSDS
// SYSIN DD *
DD1 100
DD2
DD3
DD4
DD5 100
/*

TESTPAK will operate on these three files:

  • on the first one, called FILE1.SEQ1, INFOPAK will read 100 physical records (blocks),

  • INFOPAK will read all blocks of FILE2.PDS and FILE3.SEQ2.

  • INFOPAK will read all records of FILE4.ESDS and 100 records of FILE5.ESDS.

TESTVPAK Results

TESTVPAK provides, for the file or files selected and for the number of records requested, a report showing the space gains achieved. A representation of the TESTVPAK Report and the description of each report element is shown below:

 ************************************************************************************************************************************
* I N F O P A K V S A M / I N F O P A K M V S 04/05/93 16 H 47 PAGE : 1 *
************************************************************************************************************************************
* LIST OF CONTROL CARDS IN SYSIN *
************************************************************************************************************************************
DD1 100
DD2
DD3
DD4
DD5 100
************************************************************************************************************************************
* INFOPAK PROPERTY OF INFOTEL *
************************************************************************************************************************************
 ************************************************************************************************************************************
* I N F O P A K V S A M / I N F O P A K M V S 04/05/93 16 H 47 PAGE : 1 *
************************************************************************************************************************************
* FILE COMPRESSION STATISTICS *
************************************************************************************************************************************
! DDNAME ! RECORD LG ! NUMBER OF ! NB OF BYTES IN ! COMPR. ! NB OF BYTES ! COMPR. ! RECOMMENDED! CPU/OCC(MICS) !
! ! MIN / MAX !OCCURRENCES ! ! MODULE ! AFTER COMPR. ! GAINS ! BLKSIZE ! COMP ! DECOMP !
!+DD1 ! 3080 / 3080 ! 100 ! 308 000 ! CP ! 78 540 ! 74,50 % ! 30800 ! 1195 ! 667 !
! ! ! ! ! CS ! 109 956 ! 64,30 % ! 29876 ! 421 ! 125 !
! ! ! ! ! CP-LZ ! 115 316 ! 62,56 % ! 27800 ! 2565 ! 1267 !
!+DD2 ! 1520 / 3120 ! 16 ! 47 200 ! CP ! 14 480 ! 69,33 % ! 30560 ! 1531 ! 886 !
! ! ! ! ! CS ! 18 800 ! 60,17 % ! 29920 ! 483 ! 162 !
! ! ! ! ! CP-LZ ! 16 874 ! 64,25 % ! 30240 ! 3029 ! 1922 !
!+DD3 ! 400 / 4000 ! 65 ! 203 280 ! CP ! 64 080 ! 68,48 % ! 29760 ! 1795 ! 1035 !
! ! ! ! ! CS ! 91 520 ! 54,98 % ! 26160 ! 603 ! 215 !
! ! ! ! ! CP-LZ ! 80 906 ! 60,20 % ! 27600 ! 3402 ! 2212 !
! DD4 ! 196 / 196 ! 62 ! 12 152 ! CP ! 7 260 ! 40,26 % ! ! 114 ! 72 !
! ! ! ! ! CS ! 8 351 ! 31,28 % ! ! 57 ! 24 !
! ! ! ! ! CP-LZ ! 8 613 ! 29,12 % ! ! 250 ! 163 !
!*DD5 ! 4089 / 4089 ! 100 ! 408 900 ! CP ! 1 228 ! 99,70 % ! ! 214 ! 41 !
! ! ! ! ! CS ! 337 506 ! 17,46 % ! ! 318 ! 37 !
! ! ! ! ! CP-LZ ! 175 418 ! 57,10 % ! ! 447 ! 102 !
! ! ! ! ! ! ! ! ! ! !
!**** TOTAL **** ! 343 ! 979 532 ! CP ! 165 588 ! 83,10 % ! ! ! !
! ! ! ! ! CS ! 566 171 ! 42,20 % ! ! ! !
! ! ! ! ! CP-LZ ! 397 127 ! 59,46 % ! ! ! !
*NOTE: ABOVE MEASUREMENTS TAKE INTO ACCOUNT THE FACT THAT PRIMARY AND ALTERNATE KEYS MAY NOT BE
MOVED COMPRESSED OR ALTERED.
&ec_1; &ec_2; &ec_3; &ec_4; &ec_5; &ec_6; &ec_7; &ec_8; &ec_9;
************************************************************************************************************************************
* INFOPAK SOFTWARE PROPERTY OF INFOTEL *
************************************************************************************************************************************

note

The fact that primary and alternate keys are not compressed is accounted for in the DASD savings calculation. The character "*" appearing in front of the DDNAME indicates an ESDS file. The character "+" appearing in front of the DDNAME indicates a sequential file.

Each numbered square contains the information below:

  1. DDname of the file

  2. Minimum and maximum record lengths encountered

  3. Number of physical records read.

  4. Number of bytes accumulated before compression

  5. Compression Code: high performance (CS), high compression (CP) or Lempel-Ziv hardware compression (CP-LZ).

  6. Number of bytes accumulated after compression: this is the actual result of INFOPAK on each file.

  7. Compression gains: it is the percentage obtained from the equation: [7]=([4]-[6])/[4]

  8. Recommended BLKSIZE. This value may not look like a good BLKSIZE using conventional wisdom because it is specified in terms of uncompressed data. The recommended BLKSIZE should be used to maximize the benefit of compression on your DASD and TAPE datasets.

  9. CPU consumption: time in microseconds for compressing and decompressing a block (MVS) or a record(VSAM).

    This cpu time for hardware compression(CP-LZ) uses the following logic.

    • The CPU TIME is for actual use of the hardware if running under MVS 4.3 or later and is for software emulation if you are using a prior release of MVS, see manual HP120.

    • Starting with MVS 4.3, the CVT contains a bit which designates the availability, or absence, of the hardware compression microcode.

    • If hardware compression is requested, INFOPAK references this bit in the CVT and will automatically use the compression microcode if it is available, and the cpu time will reflect this.

    • If you are not using version 4.3 or later of MVS and you implement hardware compression then INFOPAK, believing that the hardware is not actually present, will use software emulation of the hardware microcode and the cpu time will reflect this.

    • If the hardware compression microcode is installed and MVS 4.3 is not in use, you may request a zap from Infotel to force the use of the microcode.

The indicated gain is a MAXIMUM gain because, of course, it does not take into account the length of disk control information, any "gaps", etc.

The exact gains achieved by INFOPAK (for example expressed in number of cylinders) can be determined after reloading the compressed file.

TESTVPAK Error Messages and Return Codes

The TESTVPAK return code is 0, except if the PRINT card is omitted; in this case it would be 8.

TESTVPAK can produce the following error message:

  • THE VALIDITY DATE HAS EXPIRED, EXECUTION STOPPED

Please contact your INFOTEL representative, when this happens.

INFOPAK Interface to OPEN

The compression of MVS or VSAM files requires the installation of the INFOPAK INTERFACE to OPEN. The role of this interface is to intercept the OPEN commands, to determine if the file being opened has to be compressed and to load the appropriate interface module (MVS, VSAM or VSAM/MVS).

To correctly install and maintain the interface, the following four steps must be taken:

  1. Define the "REFERENCE CLUSTER" (INFOPAK cluster),(see the installation manual)

  2. Put at least one entry into the reference cluster

  3. Create the IPL procedure (see the installation manual)

  4. Control the activation or deactivation of this interface

  5. Control the suspension of functioning of this interface

Important test rules for INFOPAK

INFOPAK VSAM and INFOPAK MVS use the OPEN INTERFACE for their respective control functions. If one or both of these products is in production and you wish to test a new version of one or both you should follow these general rules:

  • All test modules should be stored in a private library, separated from the production system.

  • For testing, all test modules identified by the ddnames MVSLOAD, MVSLINK, and MVSLPA can point to the same library that must be authorized.

  • A STEPLIB statement must be included in all jobs that will run to do compression or decompression in the test environment. This steplib should point to the authorized library created by the test install for the libraries referenced by ddnames MVSLINK and MVSLPA.

  • A test reference cluster, separated from production, must be used for the identification of the datasets used in testing the product. Make sure that the same dataset names will NOT be used in production and test environments.

  • All executions of program INFVSUT1 for testing purposes must include the PARM=DDN2 function. This will insure that the production system will not be deactivated by mistake.

If you follow the above steps, you will successfully protect the production system from the test system, and testing can be done isolated from production.

Use of INFVSUT1 to control the interface

One function of INFVSUT1 is the control of the INFOPAK INTERFACE to OPEN:

  1. Activate the interface.

  2. Update the table in memory

  3. Deactivate the interface

  4. Activate and deactivate compression for generic new datasets

  5. Control the interface status

Activate the interface

Activating the INFOPAK INTERFACE to OPEN consists of:

  1. Loading it into SQA (6 K bytes) (or ESQA with XA machines) and activating the OPEN intercept mechanism.

  2. Reading the reference cluster and loading it into CSA and SQA (or ECSA and ESQA with XA machines).

The reference cluster MUST NOT be empty because it is opened as input.

The interface for the reference cluster is activated by executing INFVSUT1. If the interface is already active, it will not be activated another time, unless one activation is no PARM and the other is PARM=DDN2.

It is mandatory that the interface is activated before any OPEN occurs on a compressed file, especially before the start of CICS.

note

During the test phase, it may be necessary to activate the INFOPAK interface to OPEN twice with different reference clusters (i.e. for sites having INFOPAK VSAM in production and wanting to test INFOPAK MVS). In this case, for testing, the module INFVSUT1 must be executed with the DDN2 parameter and a different reference cluster. The DDN2 parameter will be used each time the user wants to access the "test" interface and the "test" reference cluster.

note

When the number of files to be compressed is large (more than 500 entries in the reference cluster), increasing the size of the lookaside buffer for OPEN is recommended. This will improve the access time on the internal file search in CSA during the open processing. The default value of the buffer is 1k. The parameter LBSIZE is used to modify this value (from 1k up to 999k). The optimal value for LBSIZE is 1k for each 500 entries in the reference cluster.

  • Sample JCL to activate the interface

Running INFVSUT1 once will activate MVS and VSAM INFOPAK if both products are installed in the environment. This job is for running one copy of INFOPAK, so unless you are running two seperate copies of INFOPAK do not use parm=ddn2.


//stepname EXEC PGM=INFVSUT1
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=Reference-cluster-name,DISP=OLD
  • Sample JCL to activate a second interface for testing

Running INFVSUT1 once will activate MVS and VSAM INFOPAK if both products are installed. Be sure to use parm=ddn2 for testing a second copy.


//stepname EXEC PGM=INFVSUT1,PARM=DDN2
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=Test-reference-cluster-name,DISP=OLD
  • Sample JCL to activate the interface using a larger lookaside buffer

//stepname EXEC PGM=INFVSUT1,PARM=\'LBSIZE=4K\'
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=Test-reference-cluster-name,DISP=OLD

note

A message will be printed.

note

The size used in CSA (or ECSA if MVS/XA)

{wrapper="1" role="DL"}

  • *

    66 + 4*n bytes for each KSDS, ESDS, or PATH where

    n is the number of alternate keys of the basis cluster

  • *

    50 bytes for each sequential or partitioned entry

  • *

    50 bytes for each generic filename entry (INCLUDE or EXCLUDE)

  • *

    14 bytes for each program entry

note

The size used in SQA (or ESQA if MVS/XA)

{wrapper="1" role="DL"}

  • *

    50 bytes for each pattern-dsname (OS files only).

Update the table in core

At sites with several machines accessing the same cluster, the interface must be activated on each machine and the content of the tables must be identical. INFVSUT1 copies the contents of the reference cluster into the tables, but only for the machine where it runs.


//jobname JOB\...\...\...\....
//* ADD ENTRYs TO THE REFERENCE CLUSTER in MULTI-CPU SYSTEM
//addentry EXEC PGM=INFVSUT1,PARM=REFRESH
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=Reference-cluster-name,DISP=OLD
//SYSIN DD *
A \<ARCCTL EX
A \<GVRESTOR EX
/*
//

The tables must be updated from the reference cluster executing INFVSUT1 without a SYSIN DD statement. If the interface is already active, INFVSUT1 will update the contents of the tables and will print update messages.

Deactivate the interface

To execute particular operations (tests, ...), the deactivation of the interface is useful. This is done by executing INFVSUT1 with the parameter "CANCEL". The SYSIN card is not used. This option must be used carefully since after the deactivation no clusters are considered to be compressed.

  • Sample JCL to deactivate the interface

//jobname JOB \...\...\...\...\.....
//stepname EXEC PGM=INFVSUT1,PARM=CANCEL
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=Reference-cluster-name,DISP=OLD
  • Sample JCL to deactivate a test interface

//jobname JOB \...\...\...\...\.....
//stepname EXEC PGM=INFVSUT1,PARM=\'DDN2,CANCEL\'
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=Test-reference-cluster-name,DISP=OLD

note

A message is printed.

When the interface is deactivated, all files are assumed by the system to be uncompressed. Therefore, deactivation should only be done rarely.

The interface may be deactivated with the "CANCEL" parameter of INFVSUT1.

Deactivate and Activate compression for GENERIC entries

When the interface is first activated, the generic entries are also automatically activated.

PARM=GENSTOP will notify INFOPAK that GENERIC entries in the reference cluster are to be ignored by compression. Decompression will function normally. Sample JCL to deactivate GENERIC COMPRESSION


//jobname JOB \...\...\...\...\.....
//stepname EXEC PGM=INFVSUT1,PARM=\'GENSTOP\'
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=Test-reference-cluster-name,DISP=OLD
//*sysin not used

Sample JCL to deactivate GENERIC COMPRESSION in a test interface:


//jobname JOB \...\...\...\...\.....
//stepname EXEC PGM=INFVSUT1,PARM=\'DDN2,GENSTOP\'
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=Test-reference-cluster-name,DISP=OLD
//*sysin not used

PARM=GENSTART will notify INFOPAK that GENERIC entries in the reference cluster are to be used for compression. Sample JCL to activate GENERIC COMPRESSION


//jobname JOB \...\...\...\...\.....
//stepname EXEC PGM=INFVSUT1,PARM=\'GENSTART\'
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=Test-reference-cluster-name,DISP=OLD
//*sysin not used

Sample JCL to activate GENERIC COMPRESSION in a test interface


//jobname JOB \...\...\...\...\.....
//stepname EXEC PGM=INFVSUT1,PARM=\'DDN2,GENSTART\'
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=Test-reference-cluster-name,DISP=OLD
//*sysin not used

Determine the interface

status

To determine the status of the interface, execute INFVSUT1 with the "TEST" parameter. The SYSIN card is not used.

The SYSOUT file will indicate the status of the interface (active or not active) with a message and a return code (0 if the interface is active and 4 if the interface is not active).

Also, an appropriate message is displayed upon the system console.

  • Sample JCL to test the status of the interface

//jobname JOB \...\...\...\.....
//stepname EXEC PGM=INFVSUT1,PARM=TEST
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=Reference-cluster-name,DISP=OLD
  • Sample JCL to test the status of the test interface

//jobname JOB \...\...\...\...\.....
//stepname EXEC PGM=INFVSUT1,PARM=\'DDN2,TEST\'
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=Test-reference-cluster-name,DISP=OLD

Bypassing the interface

INFOPAK provides three facilities to bypass INFOPAK for a program:

  1. Using INFVSUT1

    The INFOPAK utility, INFVSUT1, will also allow you to add program names to the reference cluster. The programs in the reference cluster will be excluded from the compression/decompression exit when they are executed even though the files they are using are compressed.

    To bypass INFOPAK for a program, INFVSUT1 accepts a SYSIN parameter card with the name of the program to be excluded from the compression/decompression mechanism.

  2. Special step name

    Executing a STEP whose name begins with the six characters "INFAMS" will temporarily bypass the compression/decompression exit for every cluster being opened by the program executed.

    example

Example :


//INFAMSxx EXEC PGM=program-name
  1. Special ddname

    A ddname beginning with the six characters "INFAMS" will exclude the corresponding file from the compression/decompression process.

    example

Example :


//INFAMSxx DD DISP=SHR,DSN=data-set-name

note

When an INCLUDE or an EXCLUDE is processed by INFOPAK, the suspension of the interface is controlled as follows:

| Progname | Stepname | Ddname | File content | Result | | | | | before loading | | +=================+==========+==========+=================+=================+ | * | * | * | - Cluster or | - Include | | | | | file not | taken into | | | | | compressed | account during | | | | | | a reload | | | | | - An intention | | | | | | of | - Data | | | | | compression | compressed | | | | | (INCLUDE | during the | | | | | DSN)exists for | initial loading | | | | | this cluster or | | | | | | file | | | INFAMS or pgm | * | * | | - Include | | ex. | | | | taken into | | | | | | account during | | | | | | a reload | | | | | | | | | | | | - Data | | | | | | compressed | | | | | | during the | | | | | | initial loading | | * | INFAMSxx | * | | - Include | | | | | | taken into | | | | | | account during | | | | | | a reload | | | | | | | | | | | | - Data NOT | | | | | | compressed | | | | | | during | | | | | | the initial | | | | | | loading | | * | * | INFAMSxx | | - Include NOT | | | | | | taken into | | | | | | account during | | | | | | a reload | | | | | | | | | | | | - Data NOT | | | | | | compressed | | | | | | during the | | | | | | initial loading | | * | * | * | - Cluster | - Exclude | | | | | known as | taken into | | | | | compressed | account during | | | | | | a reload | | | | | - An intention | | | | | | of exclusion | - Data | | | | | (EXCLUDE | decompressed | | | | | DSN)exists for | during | | | | | this cluster | the initial | | | | | | loading | | INFAMS or pgm | * | * | | - Exclude | | ex. | | | | taken into | | | | | | account during | | | | | | a reload | | | | | | | | | | | | - Data | | | | | | decompressed | | | | | | during | | | | | | the initial | | | | | | loading | | * | INFAMSxx | * | | - Exclude | | | | | | taken into | | | | | | account during | | | | | | a reload | | | | | | | | | | | | - Data NOT | | | | | | decompressed | | | | | | during the | | | | | | initial loading | | * | * | INFAMSxx | | - Exclude NOT | | | | | | taken into | | | | | | account during | | | | | | a reload | | | | | | | | | | | | - Data NOT | | | | | | decompressed | | | | | | during the | | | | | | initial loading |

: INCLUDE / EXCLUDE

note

The DDNAME INFAMSxx overrides the STEPNAME INFAMSxx.

Use of INFVSUT1 to bypass the interface

INFVSUT1 interface functions for programs

INFVSUT1 provides the following functions:

  • Bypass compression/decompression for a program (ADD pgm XX)

  • Bypass compression/decompression for a program (ADD pgm EX) except for intents

  • Cancel the bypass request (DELETE pgm)

  • Interrogate the reference cluster (LIST pgm)

Programs to be excluded from compression

The FAVER reload module name "GVRESTOR" should be excluded with code EX or XX. This will make INFOPAK VSAM entirely compatible with FAVER. Thus, INFOPAK VSAM will not attempt to compress an already compressed file when doing a FAVER reload. If code XX is used, FAVER cannot be used to compress a new VSAM file even if there is an intent for compression for that file. With code EX, even if FAVER is excluded, intents will be take into account and FAVER will compressed the cluster using an uncompressed backup.

The HSM module "ARCCTL" should be excluded from compression/decompression using the code XX. "ARCCTL" is the only HSM module that opens datasets, therefore, it is the only HSM module that should be excluded. This will allow HSM to backup and restore compressed and uncompressed data unchanged.

The DFDSS module "ADRDSSU" should also be excluded from compression/decompression using the code XX. This will allow DFDSS to backup and restore compressed and uncompressed data unchanged.

INFVSUT1 can be requested to check the ability of a program to use a compressed file.

Bypass the Interface for a Program



\>\>\--+- ADD \--+\-\-\-\--+\-\-- \<pgmname \--+\-\-\-\-\-\-\-- XX \-\-\-\-\-\-\-\-\-\-\--\>\<
| | +\-\-- \<pgm* \-\-\-\--+
+\-- A \-\--+

The ADD (A) function with a program name (or generic program name) causes the total bypass of compression/decompression for this program. The function will be performed immediately, and the compression/decompression mechanism will not be invoked for any files used during the execution of this program.

This facility allows the performance of reorganizations (or backups) without the INFOPAK interface, and yields savings in both space and elapsed times. It is particularly recommended when using SAVE/RESTORE products. Reading the VSAM CI (excludes the INFOTEL interface) and writing records (with the interface) will cause double compression.

  • Description:

    {wrapper="1" role="DL"}

    • <pgmname

      Program name. The "<" indicates that this is the name of a program.

    • <pgm*

      Generic program name. All programs with this prefix excluded.

    • XX

      Function code indicating a total bypass of the interface

note

  • The program will always be excluded from compression if its name appears as the object of the "PGM=" parameter in the EXEC statement. But, for example if the program is called by a LOAD MACRO, it will not be excluded because it will not have a TCB that contains its name. (The TCB is the actual source of the program name which is compared to the INFOPAK CLUSTER).

  • This code XX is especially designed for programs like DFDSS(ADRDSSU) and HSM(ARCCTL).

  • The code XX deactivate "intent processing" for the program, that is, it is not possible to compress a file with such a program (see keyword EX).

    Example

  • Bypass the compression/decompression system during the execution of HSM

      A  <ARCCTL XX 
  • Bypass the compression/decompression system during the execution of programs with names starting with pgm2

      A <PGM2* XX 

Bypass the interface for a program except for intent



\>\>\--+- ADD \--+\-\-\-\--+\-\-- \<pgmname \--+\-\-\-\-\-\-\-- EX \-\-\-\-\-\-\-\-\-\-\--\>\<
| | +\-\-- \<pgm* \-\-\-\--+
+\-- A \-\--+

The ADD (A) function with a program name (or generic program name) causes the bypass of compression/decompression for this program. The function will be performed immediately, and the compression/decompression mechanism will not be invoked for any files used during the execution of this program.

The exclusion is not total, if a file with is to be compressed using an INCLUDE command (intent) will be compressed even if the program is excluded using code EX. This also applies to EXCLUDE commands.i

note

This code was specially designed for tools like FAVER, it can be used for compressing a VSAM for the first time using a non-compressed backup. Indeed, FAVER does backups using CI access (then always bypassing INFOPAK) and does restore using record access. This may cause double compression when the backup copy is a copy of a compressed VSAM.

note

For tools like HSM or DFDSS, use the code XX.

  • Description:

    {wrapper="1" role="DL"}

    • <pgmname

      Program name. The "<" indicates that this is the name of a program.

    • <pgm*

      Generic program name. All programs with this prefix excluded.

    • EX

      Function code indicating a bypass of the interface

    example

Example :

  • Bypass the compression/decompression system during the execution of PGM1

      A  <PGM1 EX 
  • Bypass the compression/decompression system during the execution of programs with names starting with pgm2

      A <PGM2* EX 

note

  • The program will always be excluded from compression if its name appears as the object of the "PGM=" parameter in the EXEC statement. But, for example if the program is called by a LOAD MACRO, it will not be excluded because it will not have a TCB that contains its name. (The TCB is the actual source of the program name which is compared to the INFOPAK CLUSTER).

  • The INFAMS program (supplied with the product) is automatically excluded from compression.

Cancel the bypass request



\>\>\--+- DELETE \--+\--+- \<pgmname \--+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| | +- \<pgm* \-\-\-\--+
+\-\-\-- D \-\-\--+

The DELETE (D) function with a program name deletes the program from the reference cluster. The suppression is immediate and the VSAM clusters read or written by the program are under the control of the compression mechanism.

  • Description:

    {wrapper="1" role="DL"}

    • <pgmname

      Program name. The "<" indicates that this name is the name of a program.

    • <pgm*

      Generic program name.

Interrogate the reference cluster by program name



\>\>\--+- LIST \--+\-\-\-\-\-\-\--+\-- \<pgmname \--+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| | | |
+\-\-- L \-\--+ +\-- \<pgm* \-\-\-\--+

The LIST (L) function with a program name or a generic program name provides all information about each entry.

  • Description :

    {wrapper="1" role="DL"}

    • <pgmname

      Program name. The "<" indicates that this is the name of a program.

    • <pgm*

      Generic program name corresponding to the root of the program entries.

note

  • With a program name, INFVSUT1 indicates if the program is included in the reference cluster and its function.

  • With a generic program name, INFVSUT1 lists the name of each program of the reference cluster beginning with the generic name and its function.

  • example

Examples :

  • To print PGM1 information

  • To print all information for all programs in the reference cluster

Finding programs using EXCP or VSAM CI processing

The INFOPAK modules will not compress or decompress files that are accessed with EXCP or VSAM CI processing. With the access method testing function turned on, the OPEN interface will notify you with a message sent to routcde 11 when a compressed file is processed with a unsupported access method. In most cases these jobs should be excluded. Please contact your InfoTel technical support if you need help to handle these jobs.

INFVSUT1 access method testing

INFVSUT1 has the following functions for testing access methods:

  • ADD a program or generic program name to the reference cluster to turn on the check for the use of an unsupported access method (EXCP or VSAM CI processing).

  • Turn off or stop checking for EXCP or VSAM CI processing for a program or generic program.

  • Interrogate the reference cluster(LIST pgm).

ADD a program for access method testing



\>\>\--+- ADD \--+\-\-\-\-\-\-\--+\-- \<pgmname \--+\-\-\-\-\-\-- IN \-\-\-\-\-\-\-\-\--\>\<
| | | |
+\-\-- A \-\--+ +\-- \<pgm* \-\-\-\--+

The ADD(A) function with a program name (or a generic program name) indicates to the open interface that during open processing of compressed files, by this program, it is to notify the system using routcde=11, if it detects the use of an access method that cannot support compression or decompression. The access methods that do not support compression and decompression are EXCP for MVS and CI processing for VSAM. This notification will include the DDNAME of the compressed dataset.

The message sent to routcde=11 is as follows:

VSUT1099: DDNAME ddname: NOT A SUPPORTED ACCESS METHOD

Description of ADD parameters:

{wrapper="1" role="DL"}

  • <pgmname

    Program name. The "<" indicates that this is the name of a program.

  • <pgm*

    Generic program name.

  • IN

    Function code.

note

The program name is tested only if its' name appears in the "PGM=" parameter of an EXEC statement. The TCB is the actual source of the name to be checked in the reference cluster. Programs that are called by the LOAD macro will not be tested.

  • example

Example :

  • The program named PGM1 will be tested during execution.

    • a <PGM1 IN
  • All programs that access compressed files will be tested.

    • a <* IN Remove a program from access method testing

Controlling the interface with an automatic JCL

Automatic update of the tables in core

When activating INFOPAK on several systems sharing the same reference cluster, an update of the reference cluster causes the automatic update of the tables in memory on the system where INFVSUT1 has been executed. Update of the other systems must be performed by execution of INFVSUT1 without SYSIN on the other systems, unless the EXEC card for INFVSUT1 contains PARM=REFRESH. In this case INFOPAK will initiate a refresh on the systems.

INFOPAK will itself initiate an update to the reference cluster on a system, if for example, a file is automatically compressed because of the presence of an INCLUDE entry when the file is reloaded. In this case, the user is not able to submit a JCL, therefore, in this case only, INFOPAK will submit a JCL through the internal reader. The JCL submitted is that which has previously been entered into the reference cluster.

Definition of JCL cards for the automatic update

INFVSUT1 supports the following commands:

  • ADD of a JCL card (ADD)

  • DELETION of a JCL card (DELETE)

  • MODIFICATION of a JCL card (REPLACE)

  • LIST of the reference cluster (LIST)

Add a JCL card



\>\>\--+- ADD -+\-\-- |number \-\-- GJ \-\-- card \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| |
+\-- A \--+

The ADD (A) command with its working code GJ allows to define a JCL card as well as its order number.

  • Description:

    {wrapper="1" role="DL"}

    • |number

      Is the order number of the JCL card. The JCL cards are submitted in ascending order of the order numbers. The order numbers need not be successive (they are interpreted as character strings). The "|" indicates an order number of a JCL card.

    • GJ

      Mandatory working code for JCL cards.

    • card

      Character string that will be submitted to the internal reader (according to the JCL syntax).

    • example

Example :


A |0010 GJ //INFOPAKP JOB \'REFRESH\',CLASS=C,
A |0011 GJ // MSGCLASS=S,NOTIFY=PAKADM
A |0020 GJ /*JOBPARM SYSAFF=MVSP
A |0030 GJ //STEP EXEC PGM=INFVSUT1
A |0040 GJ //SYSUT1 DD DSN=reference-cluster,DISP=OLD
A |0050 GJ //SYSPRINT DD SYSOUT=*
A |0110 GJ //INFOPAKT JOB \'REFRESH\',CLASS=C,
A |0111 GJ // MSGCLASS=S,NOTIFY=PAKADM
A |0120 GJ /*JOBPARM SYSAFF=MVST
A |0130 GJ //STEP EXEC PGM=INFVSUT1
A |0140 GJ //SYSUT1 DD DSN=reference-cluster,DISP=OLD
A |0150 GJ //SYSPRINT DD SYSOUT=*

Delete a JCL card



\>\>\--+- DELETE -+\-\-- |number \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| |
+\-\-- D \-\-\--+

The DELETE (D) command is used to remove a JCL card from the reference cluster JCL.

  • Description:

    {wrapper="1" role="DL"}

    • |number

      Is the order number of the JCL card to be deleted.

    • example

Example :

  • Delete card 0027 from the reference cluster JCL

     D |0027

Modify a JCL card



\>\>\--+- REPLACE -+\-\-- |number \-\-- GJ \-\-- card \-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| |
+\-\-\-- R \-\-\--+

The REPLACE (R) command replaces a JCL card in the reference cluster JCL.

  • Description:

    {wrapper="1" role="DL"}

    • |number

      Is the order number of the JCL card to be modified.

    • GJ

      Mandatory working code of the JCL card.

    • card

      Character string to submit to the internal reader (JCL syntax).

    • example

Example :

  • Replace the card 0010 in the reference cluster JCL

     R |0010 GJ //INFOPAKP JOB 'REFRESH',CLASS=V,

List an automatic JCL from the reference cluster



\>\>\--+- LIST -+\-\--+- |number \--+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| | | |
+\-- L \-\--+ +- |number* -+

The LIST (L) command followed by an order number of a JCL card or a generic order number provides the contents of the reference cluster that match the specification.

  • Description:

    {wrapper="1" role="DL"}

    • |number

      Is the order number of the JCL card whose listing is requested.

    • |number*

      This generic name specifies the root of the card(s) whose listing is requested.

    • example

Example :

  • List all information about the JCL cards stored in the reference cluster

     L |*

INFOPAK

INFOPAK VSAM allows the compression of KSDS or ESDS data sets running under MVS. It is completely transparent to the application programs.

Two compression routines are available with INFOPAK VSAM:

  • INFIVCP0 (CP compression code) supports maximum compression or hardware compression (see INFOPAK manual HP120)

  • INFIVRP0 (RP compression code) supports maximum compression or hardware compression (see INFOPAK manual HP120) using 8 bytes to tag each compressed record (smart compression)

  • INFIVCS0 (CS compression code) gives lower CPU consumption (but with a good compression rate)

  • INFIVRS0 (RS compression code) gives lower CPU consumption (but with a good compression rate) using 8 bytes to tag each compressed record (smart routine).

The compression is done on KSDS without restrictions.

Compression is done on ESDS clusters with the restriction that records must not be updated (even keeping the same length), after initial loading.

The keys and the alternate index are not compressed. But the rest of the record (including the part before the key) is compressed. If the compressed part has a smaller size than the part before the last key, it will be filled with binary zeros to obtain a record with the minimum size required.

The PATHs and AIXs that allow access to the cluster must be defined before compression to be under the control of the interface.

Smart compression

Smart compression routines (RP and RS) utilize different algorithms. RP provides maximum compression and RS provides low CPU consumption with good compression. Both algorithms use a tag at the end of each record to distinguish compressed records from uncompressed records. This principle avoids double compression, and also allows processing of clusters containing compressed and uncompressed records.

It is possible to compress VSAM clusters on the fly using the ADD command of INFVSUT1 even if the cluster is not empty. After being declared compressed, each record added or updated will be compressed by INFOPAK.

How To Compress a cluster

The activation of compression for KSDS and ESDS clusters requires the use of the standard program IDCAMS and the INFOTEL INFVSUT1 product. This activation also requires that the INFOTEL VSAM interface has been previously activated.

Activating compression for a cluster

To use the compression mechanism, perform the following steps:

  1. Unload the cluster

  2. Delete the cluster

  3. Redefine the cluster and the alternate index and the path

  4. Declare the cluster to be compressed using INFVSUT1, if it is to be compressed for the first time

    or

    Replace the cluster to be compressed using INFVSUT1, if its definition has changed in any way since last time it was compressed,

  5. Reload the cluster

  6. Build Alternate indexes (Optional)

note

When using smart compression code RP or RS, you can compress a cluster on the fly by adding its name in the reference cluster (ADD command). With RP or RS the DELETE, DEFINE, and RELOAD are unnecessary. New records and updated records will be compressed. Compression of the whole cluster will take place at the time of the next reorg.

Unload the cluster

Unload the KSDS or ESDS dataset to be compressed with IDCAMS REPRO. The sequential file produced will be used to reload the cluster.

Delete the cluster

Run IDCAMS DELETE to delete the KSDS or ESDS cluster.

Redefine the cluster

Run AMS DEFINE to redefine the cluster. (This assures that the cluster is empty at the time it is added to the reference cluster).

If the cluster to be compressed contains variable length records, it may be necessary to increase the maximum record length.

After these three steps, a sequential copy of the cluster has been created. The cluster exists, is empty, and has to be reloaded and compressed. This is performed by the following operations:

Declare the cluster to be compressed

Execute the INFVSUT1 utility to add the new dataset name to the reference cluster for compression. If you are changing the definition of the cluster by adding an alternate index, moving a index location, etc, then use the REPLACE function of INFVSUT1. A detailed discussion of the utility functions of INFVSUT1 follows this section.

Reload the cluster

Reload the cluster to be compressed with AMS REPRO. Rebuild the alternate indexes, if any.

Build the Alternate Index (optional)

After the load of the base cluster the alternate index, if required, should be built. The alternate indexes build should utilize the name of the base cluster and the name of the alternate index.

If the alternate indexes are built using the PATH name (not recommended) instead of the alternate index name, it is necessary to use PGM=INFAMS.

The cluster is now compressed and all application programs will process the compressed data set without any other modification.

note

These steps could be executed in a single JOB.

Controlling Compression with Cluster Names

INFVSUT1 use with dsname

The utility INFVSUT1 is used to enter a new compressed file. The INFOPAK reference cluster is updated with the new file name.

INFVSUT1 must be the only program used to update the reference cluster. The parameters are described in the SYSIN card image with the following format.

 //jobname   JOB   ..........
//stepname EXEC PGM=INFVSUT1
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=reference-cluster-name,DISP=OLD
//SYSIN DD *
command card
/*

The commands of INFVSUT1 are:

  • add an empty cluster for compression mode CS or CP to the reference cluster (ADD dsn) or add a cluster to the reference (ADD dsn) for compress in place, compression mode RS or RP

  • add a COMPRESSED cluster to the reference cluster (FORCE dsn) This cluster should already contain compressed data

  • delete an entry from the reference cluster (DELETE dsn)

  • delete generic entries from the reference cluster (DELETE dsn*)

  • replace a cluster in the reference cluster (REPLACE dsn)

  • identify a cluster for automatical compression (INCLUDE dsn)

  • identify a generic for automatic compression (INCLUDE dsn*)

  • exclude a cluster from compression (EXCLUDE dsn)

  • exclude a generic from compression (EXCLUDE dsn*)

  • remove an uncataloged entry from the reference cluster (PURGE dsn)

  • remove uncataloged entries corresponding to the generic name from the reference cluster (PURGE dsn*)

  • list a reference cluster entry (LIST dsn)

  • list a reference cluster using generic entry (LIST dsn*)

INFVSUT1 allows compression of generic entries.

The format of a generic name is as follows :



\>\>\--+\-\-\-\--+- GenS -+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--+-+\-\-\-\--+\--\>\<
| | | | | |
+- * -+ +- **. -+\-\-\-\-\-\-\--+-+ +- * -+
| |
+- GenS -+
GenS =
+\-\-\-\-\-\-\-\--\<\-\-\-\-\-\-\-\--+
| |
\>\>\-- ch -+-+\-\-\-\-\--+-+\-\-\-\-\--+-+\--\>\<
| | | |
+- ch -+ +- *. -+

Description:

{wrapper="1" role="DL"}

  • *

    In the beginning or at the end of a generic name, it specifies whatever character string with whatever length and with any number of qualifiers. In the middle of the generic name, it specifies whatever character string with whatever length but including only ONE qualifier. It must be followed by a point.

  • **

    stands for whatever character string with whatever length and with any number of qualifiers. It must be followed by a point.

  • ch

    is any part (not including ".") of a valid dsname.

A generic name is indicated by 'dsn*' in the rest of the manual.

Add a cluster to the reference cluster

Add an empty cluster for compression mode CS or CP to the reference cluster (ADD dsn) or add a cluster to the reference (ADD dsn) for compress inplace, compression mode RS or RP.


\>\>\--+- ADD \--+\-\-\-- dsname \-\-\--+\-- CS \-\-\-\-\--+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| | +\-- CP \-\-\-\-\--+
+\-- A \-\--+ +\-- CP(LZ) \--+
+\-- CP(HD) \--+
+\-- RS \-\-\-\-\--+
+\-- RP \-\-\-\-\--+
+\-- RP(LZ) \--+
+\-- RP(HD) \--+

The ADD (A) command with a dsname adds this cluster name to the reference cluster.

  • Description:

    {wrapper="1" role="DL"}

    • dsname

      Cluster name

    • CP

      Huffman optimal compression (maximum compression).

    • CP(LZ)

      Lempel Ziv optimal compression. If the hardware compression instruction is not present on the CPU, a software emulation will be used.

    • CP(HD)

      Harware Driven optimal compression. The compression code to force the use of the hardware compression instruction when it is supported by the CPU. Otherwise the standard Huffman compression(CP) is used.

    note

:

Options CP(LZ) and CP(HD) are available when INFOPAK is unloaded with the Lempel Ziv option.

  • CS

    Quick compression (less compression, less CPU).

  • RP

    Smart Huffman optimal compression (maximum compression).

  • RP(LZ)

    Smart Lempel Ziv optimal compression. If the hardware compression instruction is not present on the CPU, a software emulation will be used.

  • RP(HD)

    Smart Harware Driven optimal compression. The compression code to force the use of the hardware compression instruction when it is supported by the CPU. Otherwise the standard Smart Huffman compression(RP) is used.

INFOPAK is unloaded with the Lempel Ziv option.

  • RS

    Smart quick compression (less compression, less CPU).

note

  • The cluster must be a VSAM cluster, KSDS or ESDS and defined

  • Compression is done on ESDS clusters with the restriction that records must not be updated after initial loading

  • If compressed by CP or CS, the cluster must be empty

  • Its definition must be accessible by dsname

  • The cluster must not be opened

  • If it uses alternate indexes they must be defined as well as all the access paths.

  • It must not have been previously added with the ADD function.

  • If the entry was created by INCLUDE or EXCLUDE, these commands are canceled by the ADD command.

  • As soon as the ADD command is performed, the INFOTEL VSAM interface will be active for the cluster.

  • example

Examples :

{wrapper="1" role="DL"}

  • example 1

    Add the cluster DSN1 in compression mode CP

     A DSN1 CP
  • example 2

    Add the cluster DSN2 in compression mode CS

     A DSN2 CS

Add an already compressed cluster to the reference cluster

This can be used to add a renamed compressed cluster to the reference cluster. This cluster can be empty and may already contain compressed data.


\>\>\--+- FORCE \--+\-\-\-- dsname \-\-\--+\-- CS \-\-\-\-\--+\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| | +\-- CP \-\-\-\-\--+
+\-\-- F \-\-\--+ +\-- CP(LZ) \--+
+\-- CP(HD) \--+
+\-- RS \-\-\-\-\--+
+\-- RP \-\-\-\-\--+
+\-- RP(LZ) \--+
+\-- RP(HD) \--+

The FORCE (F) command with a dsname forces this cluster name to the reference cluster. This cluster may be empty, or may already contain data.

important

If the cluster is not empty:

  • the data must already be compressed

  • the compression code and the definition of the keys (primary and alternate) must be exactly the same in the new cluster as in the original cluster (the one that initially contained the compressed data).

Description:

{wrapper="1" role="DL"}

  • dsname

    Cluster name

  • CS/CP/RS/RP

    Compression mode (See ADD command).

note

  • The cluster must be a VSAM cluster, KSDS or ESDS and defined

  • Its definition must be accessible by dsname

  • The cluster must not be opened

  • If it uses alternate indexes they must be defined as well as all the access paths.

  • It must not have been previously added with the ADD function.

  • If the entry was created by INCLUDE or EXCLUDE, these commands are canceled by the FORCE command.

  • As soon as the FORCE command is performed, the INFOTEL VSAM interface will be active for the cluster.

  • example

Examples :

{wrapper="1" role="DL"}

  • example 1

    FORCE add the cluster DSN1 in compression mode CP

     F DSN1 CP
  • example 2

    FORCE add the cluster DSN2 in compression mode CS

     F DSN2 CS

Delete an entry from the reference cluster



\>\>\--+- DELETE \--+\-\-- dsname \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| |
+\-\-\-- D \-\-\--+

The DELETE (D) function with a dsname deletes this cluster name from the reference cluster.

  • Description:

    {wrapper="1" role="DL"}

    • dsname

      Cluster name

note

  • If the entry has been added with the commands INCLUDE or EXCLUDE and the cluster is not compressed, the delete is performed immediately.

  • If the cluster has been compressed (either by ADD or INCLUDE):

    • The cluster and its access paths must be defined

    • It must be empty

    • Its definition must be available with an ALIAS

    • The cluster must not be opened

    • The effect of the DELETE command is immediate

  • example

Example :

Delete the cluster DSN1 from the reference cluster

Delete of a generic entry from the reference cluster



\>\>\--+- DELETE \--+\-\-- dsn* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| |
+\-\-\-- D \-\-\--+

The DELETE (D) command with a generic dsname deletes this dsname from the reference cluster.

  • Description:

    {wrapper="1" role="DL"}

    • dsn*

      Generic cluster dsname

note

  • The delete is immediate and without restriction.

  • The deletion of a generic entry frees the eligible clusters from this entry and allows this cluster to be eligible for a higher entry if it exists.

note

Note : If an INCLUDE generic entry corresponds to a sub-definition of an EXCLUDE entry, the deletion of the INCLUDE entry may cause the deletion of clusters from the reference cluster.

example

Example :

Consider the following commands in the order shown:

  1. The generic entry created by the INCLUDE command:

    makes the cluster DSN1.IDX2.IDX3 eligible for CS compression mode

  2. The generic entry created by the EXCLUDE command:

      E DSN1*

    makes the cluster DSN1.IDX2.IDX3 not eligible.

  3. The generic entry created by the INCLUDE command:

    makes the cluster DSN1.IDX2.IDX3 again eligible for the CP compression mode. The first reloading of DSN1.IDX2.IDX3 will cause the cluster to be compressed.

  4. The deletion of the generic entry DSN1.IDX2:

    makes the cluster DSN1.IDX2.IDX3 again not eligible for compression because it was added after a generic inclusion. The first reloading of DSN1.IDX2.IDX3 will suppress this cluster from compression and decompress the compressed records of the loaded file. This operation prints the message VSUT2004.

    This operation will take effect only if all of the following are true:

    • The cluster has been implicitly added with a generic inclusion statement,

    • This generic inclusion statement no longer exists, and

    • The cluster is eligible for an exclusion statement.

      At the time of the reloading the condition of the EXCLUDE order is verified.

example

Example :

Remove the generic entry DSN1*

Replace a cluster in the reference cluster



\>\>\--+- REPLACE -+\-\-- dsname \-\--+\-- CS \-\-\-\-\--+\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| | +\-- CP \-\-\-\-\--+
+\-\-\-- R \-\-\--+ +\-- CP(LZ) \--+
+\-- CP(HD) \--+
+\-- RS \-\-\-\-\--+
+\-- RP \-\-\-\-\--+
+\-- RP(LZ) \--+
+\-- RP(HD) \--+

The REPLACE (R) command modifies a compressed file definition. This action may be used between the unloading and the reloading of a file when a new alternate index or path has been defined. REPLACE is also used to change the compression mode.

  • Description:

    {wrapper="1" role="DL"}

    • dsname

      Cluster name

    • CS/CP/RS/RP

      Compression mode (See ADD command)

note

  • The cluster must be a VSAM cluster, KSDS or ESDS and defined.

  • If the file is empty:

    • all compression modes are allowed to be applied and the cluster characteristics are allowed to be modified
  • If the file is not empty:

    • the file characteristics must be kept

    • the file must be compressed using either the Huffman or Lempel-Ziv compression mode (CP, CP5LZ), CP(HD), RP, RP(LZ) or RP(HD)

    • the new compression mode must also be either Huffman or Lempel-Ziv

    • it is not possible to switch from standard compression to secured compression and/or vice versa.

  • Its definition must be available with an ALIAS.

  • The cluster must not be opened.

  • If it uses alternate indexes they must be defined as well as all the access paths.

  • It must not have been previously added with the ADD command.

  • If the entry was created by INCLUDE or EXCLUDE, these commands are canceled by the ADD order.

  • The effect of the REPLACE command is immediate.

  • example

Example :

Modify the cluster DSN1 to compression mode CP

Declare intent to compress a cluster



\>\>\--+- INCLUDE -+\-\-- dsname \-\--+\-- CS \-\-\-\-\--+\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| | +\-- CP \-\-\-\-\--+
+\-\-\-- I \-\-\--+ +\-- CP(LZ) \--+
+\-- CP(HD) \--+
+\-- RS \-\-\-\-\--+
+\-- RP \-\-\-\-\--+
+\-- RP(LZ) \--+
+\-- RP(HD) \--+

The INCLUDE (I) declares an intent to compress a cluster. The compression will be performed when the cluster is next reloaded.

  • Description:

    {wrapper="1" role="DL"}

    • dsname

      Cluster name

    • CS/CP/RS/RP

      Compression mode (See ADD command).

    warning

:

The mechanism used to bypass compression is modified by this operation when the VSAM cluster is reloaded. Given this modification, only a step whose stepname is INFAMS will bypass the compression/decompression process on the initial load. On subsequent loads, the bypass mechanism will function as before.

note

  • Compression will take place on the next reload. That is, the first OPEN of the cluster after a DELETE/DEFINE operation (HURBA=0).

  • When the cluster is reloaded this will work the same as the ADD command.

  • INFVSUT1 must be available when the open occurs.

  • The message VSUT2008 will be printed

  • The entry must be a cluster if it already exists.

  • This command is ignored if an ADD command has been previously performed.

  • This command overrides any previous INCLUDE or EXCLUDE command.

  • example

Example :

Identify the cluster DSN1 for CP mode

  I DSN1 CP

Declare intent to compress a generic group of clusters



\>\>\--+- INCLUDE -+\-- dsn* \-\--+- CS \-\-\-\--+\-\-\--+\-\-\-\-\-\-\-\-\-\-\--+\--\>\<
| | +- CP \-\-\-\--+ +\-\-\-- XE \-\-\--+
+\-\-\-- I \-\-\--+ +- CP(LZ) -+ +\-\-\-- XK \-\-\--+
+- CP(HD) -+
+- RS \-\-\-\--+
+- RP \-\-\-\--+
+- RP(LZ)\--+
+- RP(HD)\--+
+- AU \-\-\-\--+

This INCLUDE (I) command declares an intention to compress or to audit the clusters with a dsname beginning with the generic dsname. If for compression, it will be performed on the first reloading of each cluster. If for audit, it will be performed immediately for each cluster.

  • Description:

    {wrapper="1" role="DL"}

    • dsn*

      Cluster generic dsname

    • CS/CP/RS/RP/AU

      (CS/CP/RS/RP) compression mode (See ADD command), (AU) audit

    • XE / XK

      Identifies types of clusters to be ignored by the INCLUDE command.

    • XE to exclude the ESDS clusters

    • XK to exclude the KSDS clusters

note

  • RRDS clusters are automatically excluded.

  • If the generic dsname has been used by INCLUDE or EXCLUDE, these commands are canceled and replaced with the current command.

  • INFVSUT1 must be available when the open occurs.

  • The eligible clusters are only:

    • Clusters with a dsname that begins with the same characters as the generic.

    • Clusters with no previous ADD, INCLUDE or EXCLUDE commands applied to their dsnames.

    • Clusters with no previous exclusion with the parameters XE or XK

  • Generic inclusion for compression

    • Clusters will be compressed on their initial load or on their next reload if they already exist.

    • If a cluster uses alternate indexes and access paths, they must be defined before the initial loading.

    • If the name of an opened cluster corresponds with several generic commands, the INFOPAK VSAM interface will keep the command with the longest dsname. (See generic exclusion)

    • When the cluster is reloaded, this will work the same as the ADD command.

    • Even though the program writing the cluster identified by the INCLUDE command may be excluded itself from compression, its output in this case will be compressed.

    • The message VSUT2008 is printed.

    • The use of generic commands is not advised for clusters shared between several machines unless INFVSUT1 is used with PARM=REFRESH The ADD command is executed only on one machine (The one which makes the open). Use the INFVSUT1 utility without SYSIN to update the other machines.

  • Generic inclusion for audit

    • Only loaded clusters are eligible.

    • The generic inclusion for audit will be performed immediately for each cluster.

    • It checks the access to the cluster to verify:

      • That there is no attempt to update an ESDS file.

      • That there is no direct update on VSAM buffers.

      • If one check is not satisfied, the cluster is excluded from generic inclusion for compression as in the EXCLUDE command.

    • The audit allows the user to test the generic command for compression, and to exclude the clusters accessed with a mode not permitted by INFOPAK. After performing the audit, the user may apply the compression to the same generic dsname.

    • The message VSUT2012 is printed.

warning

The mechanism used to bypass compression is modified by this operation when the VSAM cluster is reloaded. Given this modification, only a step whose stepname is INFAMS will bypass the compression/decompression process on the initial load. On subsequent loads, the bypass mechanism will function as before.

  • example

Examples :

{wrapper="1" role="DL"}

  • example 1

    Compress in CS mode the clusters beginning with DSN1.IDX2

      I DSN1.IDX2* CS

    After execution, the VSAM clusters beginning with DSN1.IDX2 (except the RRDS) will have CS compression applied at the time of the next reload.

  • example 2

    Compress in CP mode the clusters beginning with DSN2.IDX3 except the ESDS.

    After execution, the VSAM clusters beginning with DSN2.IDX3 (except the RRDS and ESDS) will have CP compression applied at the time of the next reload.

  • example 3

    Audit the clusters with dsname beginning with DSN3.IDX4

      I DSN3.IDX4* AU

    After execution, the use of each VSAM cluster beginning with DSN3.IDX4 will be audited.

Exclude a cluster from compression



\>\>\--+- EXCLUDE \--+\-\-- dsname \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| |
+\-\-\-- X \-\-\-\--+

The EXCLUDE (X) command excludes a cluster from compression.

If the cluster is already compressed, the effect of the EXCLUDE command is to identify it for decompression at its next reload. Otherwise, if the cluster exists, the exclusion is immediate.

  • Description:

    {wrapper="1" role="DL"}

    • dsname

      Cluster name

note

  • If the cluster is not compressed or if it does not include records:

    • The dsname entered must be a cluster if it already exists.

    • The cluster is immediately excluded from compression/decompression.

    • If the cluster dsname corresponds to a generic dsname added with the "INCLUDE dsn*" command, this cluster is excluded from that INCLUDE command.

  • If the cluster is compressed and includes records:

    • The cluster is put into exclusion pending mode.

    • The cluster stays under the control of the compression/decompression mechanism until the next reload.

    • Decompression will take place on the next reload.

    • If an error occurs during the reload, the cluster must be reset to the initial excluded status. This is accomplished by reprocessing an ADD followed by an EXCLUDE command.

    • Even though the program writing the cluster identified by the EXCLUDE command may be excluded itself from decompression, its output in this case will be decompressed.

    • INFVSUT1 must be available when the open occurs.

    • The message VSUT2012 will be printed.

  • example

Examples :

{wrapper="1" role="DL"}

  • example 1

    Exclude the compressed cluster DSN1

    After execution, the cluster DSN1 is put into exclusion pending mode. It stays compressed and will be excluded at the next reload.

  • example 2

    Exclude the cluster DSN2 (not compressed)

    After execution, DSN2 is excluded from compression and cannot be included for compression by a generic INCLUDE.

Generic exclusion of a group of clusters from compression



\>\>\--+- EXCLUDE -+\-- dsn* \-\-\-\-\-\-\-\-\--+\-\-\-\-\-\-\-\-\-\-\--+\-\-\-\-\-\-\-\-\-\--\>\<
| | +\-\-\-- XE \-\-\--+
+\-\-\-- X \-\-\--+ +\-\-\-- XK \-\-\--+

The EXCLUDE (X) command with a generic dsname is used to exclude families of files from compression. It excludes any cluster whose name begins with this dsname.

  • Description:

    {wrapper="1" role="DL"}

    • dsn*

      Generic cluster dsname

    • XE / XK

      Identifies file types not affected by this EXCLUDE command.

note

  • If the generic dsname has been entered by an INCLUDE or EXCLUDE, these commands are canceled and replaced with the current command.

  • If the name of an opened cluster corresponds to several generic commands, the INFOPAK VSAM interface will keep the command with the longest dsname.

  • example

Examples :

{wrapper="1" role="DL"}

  • example 1

    Compress in CS mode the clusters beginning with DSN1.IDX2 except the cluster beginning with DSN1.IDX21.

     I DSN1.IDX2* CS
     X DSN1.IDX21*

    After the execution, the VSAM clusters beginning with DSN1.IDX2, except those beginning with DSN1.IDX21, will be compressed in CS mode at the time of the next reloading.

  • example 2

    Compress in CP mode the cluster beginning with DSN2.IDX3 except the KSDS clusters beginning with DSN2.IDX31.

     I DSN2.IDX3* CP
     X DSN2.IDX31* XE

    After the execution, the VSAM clusters beginning with DSN2.IDX3, except the KSDS clusters beginning with DSN2.IDX31, will be compressed in CP mode at the next reloading.

Remove an uncataloged entry from the reference cluster



\>\>\--+- PURGE \--+\-\-- dsname \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| |
+\-\-- P \-\-\--+

The command PURGE (P) removes an entry from the reference cluster. The cluster represented by the entry being removed must not be cataloged. It is useful to delete a cluster entry or a path when the VSAM correspondent does not exist. DELETE requires the existence of the cluster and the paths.

  • Description:

    {wrapper="1" role="DL"}

    • dsname

      Cluster name

note

The entry in the reference cluster (cluster or path) is purged if it is not cataloged.

note

The PURGE command will remove only full filename entries. It will not remove INCLUDE or EXCLUDE commands nor program names.

  • example

Example :

Purge the cluster DSN1

Remove uncataloged generic clusters from the reference cluster



\>\>\--+- PURGE \--+\-\-- name* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| |
+\-\-- P \-\-\--+

The command PURGE (P) with a generic name removes all entries representing uncataloged clusters that correspond to that generic entry. It is used to delete a cluster entry or a path when the VSAM cluster does not exist.

  • Description:

    {wrapper="1" role="DL"}

    • name*

      Generic name

note

The purge will take effect for all cluster entries and paths with a dsname beginning with the generic dsname, added with the ADD command, and that are not referenced in the catalog with an ALIAS.

note

The PURGE command will remove only full filename entries. It will not remove INCLUDE or EXCLUDE commands nor program names.

  • example

Examples :

{wrapper="1" role="DL"}

  • example 1

    Purge the entries corresponding with the generic name DSN1

  • example 2

    Purge all unreferenced entries

List a reference cluster entry



\>\>\--+- LIST \--+\-\-- dsn \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| |
+\-\-- L \-\--+

The LIST (L) command lists information about the entry in the reference cluster.

  • Description:

    {wrapper="1" role="DL"}

    • dsname

      Cluster name

note

Shows in output:

  • If the entry is known

  • If the entry is excluded from the compression

  • The compression mode

  • If the entry is identified for inclusion or exclusion (INCLUDE or EXCLUDE)

  • example

Example :

List the information about DSN1

List clusters matching generic reference entries



\>\>\--+- LIST \--+\-\-- name* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| |
+\-\-- L \-\--+

The LIST (L) command with a generic name lists information about the cluster entries and paths in the reference cluster.

  • Description:

    {wrapper="1" role="DL"}

    • name*

      Generic name

note

  • Information about the generic entries:

    • If it is an INCLUDE or EXCLUDE entry
  • Information about the cluster entries or paths:

    • If it is excluded from compression

    • If it is compressed and its mode

    • If there is an intention for the entry (INCLUDE or EXCLUDE)

  • If the generic name is '*', INFVSUT1 will also give information about the program entries

  • example

Examples :

{wrapper="1" role="DL"}

  • example 1

    To list the information about the cluster entries, paths or generics beginning with DSN1*:

  • example 2

    To list the contents of the reference cluster:

Use of INFVSUT1 with dataclasses

INFVSUT1 can be used to compress multiple VSAM files belonging to the same dataclass. An entry in the reference cluster will be created automatically for each file that is to be compressed.

The following commands can be used:

  • Compression of VSAM files that belong to the same dataclass (INCLUDE :dataclas).

  • List information on entries in the reference cluster matching the dataclass (LIST :datacl*).

  • Remove a dataclass entry from the reference cluster (DELETE :dataclas).

Compression of VSAM files belonging to the same SMS dataclass



\>\>\--+- INCLUDE \-\--:dataclas CS \-\-\-\--+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| | +- CP \-\-\-\--+
+\-\-\-- I \-\-\--+ +- CP(LZ) -+
+- CP(HD) -+
+- RS \-\-\-\--+
+- RP \-\-\-\--+
+- RP(LZ) -+
+- RP(HD) -+

The INCLUDE (I) command is used to declare an intent to compress all VSAM files belonging to the same SMS dataclass.

Compression will take place separately for each of the designated VSAM files on its next reload.

  • Description

    {wrapper="1" role="DL"}

    • dataclas

      is the dataclass of files which will be compressed.

    • CS/CP/RS/RP

      is the compression option (See ADD command).

    • If the same dataclass was used previously in a command (INCLUDE), the entry is overridden with the new one.

    • Compression will take place only if the INFVSUT1 module can be called dynamically at the time of the OPEN.

    • The following files will be compressed:

      • Files that match the indicated dataclass.

      • Files which are under the control of SMS.

    • Compression will take place on the first reload of the VSAM file. An entry will be added in the reference cluster for this file.

    • When the first OPEN in LOAD MODE occurs, the VSAM file is considered as compressed by the compression system.

    • The mechanism for program exclusion from compression/decompression is modified during the reload: the execution of a step whose name begins with INFAMS is the only one which will temporarily bypass the compression/decompression exit.

    • A message is printed to report the add of the file to the compression system.

    • Dataclasses must be used with care at a multi-CPU site: when the command takes effect on a CPU, the tables of the other CPU will NOT be updated until INFVSUT1 is run without SYSIN on that CPU unless INFVSUT1 was invoked with PARM=REFRESH (see chapter Controlling the interface with an automatic JCL).

note

In order to control the number of files to be compressed, make sure to NOT use an existing dataclass but to create a new one.

note

Dataclasses have priority over generic intents. If a file is eligible both for a dataclass and a generic intent, the dataclass will dominate.

  • example

Example :

Compresses all files with option CS belonging to the dataclass DC1

 I :DC1 CS

As soon as the command is executed, VSAM files belonging to the specified SMS dataclass will be compressed on their first reload.

List dataclass entries from the reference cluster



\>\>\--+- LIST -+\-\-\-\-- :datacl* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| |
+\-- L \-\--+

The LIST (L) command is used to list information on entries in the reference cluster matching the specified dataclass.

  • Description

    {wrapper="1" role="DL"}

    • :datacl*

      is the generic dataclass name.

note

  • The information on the report for dataclasses is:

    • the name of the dataclass

    • its compression code: (CP/CS/RP/RS)

    • the compression restriction (XR, XE, etc...)

  • example

Examples :

{wrapper="1" role="DL"}

  • example 1

    Lists information about the specified dataclass DC1

     L :DC1
  • example 2

    Lists all dataclass entries from the reference cluster

     L :*

Suppression of a dataclass



\>\>\--+- DELETE -+\-- :dataclas \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--\>\<
| |
+\-\-- D \-\-\--+

The DELETE (D) command is used to remove a dataclass entry from the reference cluster.

  • Description

    {wrapper="1" role="DL"}

    • :dataclas

      is the name of the dataclass entry to be suppressed.

note

  • The entry is immediately suppressed.

  • example

Example :

Suppresses the dataclass entry DC1

 D :DC1

INFOPAK interactive

Primary menu

At this time, the steps in the INFOPAK installation manual should have been completed and the library containing the members PAKSTAR and PAKSTARC has been concatenated in your LOGON procedure under the ddname SYSPROC. (see installation manual: HP106).

These members invoke the interactive part of INFOPAK (PAKSTAR in REXX language, PAKSTARC in CLIST language).

INFOPAK VSAM/MVS interactive is an option of the primary menu of INFOPAK.

Primary menu of INFOPAK:


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- I N F O P A K \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Select one of the following options:
0 DEFAULTS
1 TESTPAK VSAM/MVS - Simulation of the compression
2 TESTPAK DB2 - Simulation of the compression NOT AVAILABLE
3 INFOPAK VSAM/MVS - Managing the reference cluster
P CONFIDENTIAL CODE
T TUTORIAL
X FIN
Press END or RETURN to terminate

Option 3 displays the INFOPAK VSAM/MVS menu.

Note: NOT AVAILABLE appears for products that are not installed or that are not found in the specified libraries.

INFOPAK VSAM/MVS MENU



\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Reference cluster : INFOTEL.PROD
Interface of : PRODUCTION
Select one of the following options:
0 PARAMETERS - interface activation parameters
1 INTERFACE - status, activation, deactivation, update table
2 FILES - compression, modify compression modes, etc\...
3 GENERIC ENTRIES - include, exclude generic group of files
4 PATTERNS - pattern dsname compression
5 JCL CARDS - definition of JCL cards for automatic update
6 PROGRAMS - exclude programs from compression
7 JOBS - include authorized job. CRYPT.
8 DATACLASS - include dataclass to compression

Option 7 is only available when INFOCRYPT VSAM/MVS is installed.

Description of output fields

{wrapper="1" role="DL"}

  • Reference cluster

    Name of the reference cluster corresponding to the current interface (test or production). The reference cluster names are defined in the PARMLIB INFOPAK member.

  • Interface of

    Current interface type (TEST or PRODUCTION). The interface may be changed using the option 0. TEST indicates that the parameter DDN2 is to be used for each call to INFVSUT1.

note

The variable names ADMIN and USER of the INFOPAK PARMLIB member provide the following authorization:

  • Only an ADMINISTRATOR can ACTIVATE or DEACTIVATE the interface and modify the NUMBER OF ESTIMATED FILES parameter (option 0) used at activation time.

  • The INFOPAK USERS can update the reference cluster (TEST or PRODUCTION). Using option 0, they can switch the current cluster type and the automatic update parameter.

  • Everyone has the authorization to LIST the entries of the reference cluster (TEST or PRODUCTION).

Parameters (Option 0)

When selecting option 0 of the INFOPAK VSAM/MVS menu, the following panel is displayed:


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - PARAMETERS \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Production cluster : INFOTEL.CLUSTER.REFERENCE
Test cluster : INFOTEL.CLUSTER.TEST
Select the reference cluster ===\> P (Production, Test)
Automatic update of the tables in core ===\> Y (Yes/No)
Number of estimated files (compressed) ===\> 500

Description of input fields

{wrapper="1" role="DL"}

  • Reference cluster

    This field indicates the type of cluster to be used. P indicates the production cluster and T indicates a test cluster.

  • Automatic update

    When activating INFOPAK on several systems sharing the same reference cluster, this field specifies for each command the automatic update of the other systems by submitting JCL. If the update is not automatic, it may be necessary to use the ADJUST command (option 1) to update the tables in each system.

  • Number of files

    This number is used to calculate the buffer size for the interface. This is necessary to improve the access to the file list in CSA during OPEN. 1k bytes for each 500 entries is recommended. The default value is 500 files.

Description of output fields

{wrapper="1" role="DL"}

  • Production cluster

    Displays the contents of the variable REFPROD of the INFOPAK PARMLIB. This is the name of the production reference cluster.

  • Test cluster

    Displays the contents of the variable REFTEST of the INFOPAK PARMLIB. This is the name of a test cluster.

Activation, Deactivation (Option 1)

When selecting option 1 of the INFOPAK VSAM/MVS menu, the following panel is displayed:


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - ACTIVATION/DEACTIVATION \-\-\-\--
COMMAND ===\>
Reference cluster : INFOTEL.PROD
Interface of : PRODUCTION
Interface status : ACTIVE
Generic status : ACTIVE
Use the following primary commands:
ACTIVE to activate the interface INFOPAK VSAM/MVS
CANCEL to deactivate the interface INFOPAK VSAM/MVS
ADJUST to update the tables in core
GENSTOP to deactivate generic entry compression
GENSTART to activate generic entry compression

Description of output fields

{wrapper="1" role="DL"}

  • Reference cluster

    Name of the current reference cluster. Cluster names are defined in the INFOPAK PARMLIB member.

  • Interface of

    Current interface type (TEST or PRODUCTION). It can be changed by selecting the option 0.

  • Status

    The value of this field can be ACTIVE if the interface is active or INACTIVE if it is inactive.

    The interface must be active to access to other options of the INFOPAK VSAM/MVS main menu.

Description of the primary commands

note

Only administrators of the product are authorized to execute these commands.

{wrapper="1" role="DL"}

  • ACTIVE

    to activate the interface.

  • CANCEL

    to deactivate the interface. A confirmation panel is displayed.

  • ADJUST

    to update the tables in core. When, for example, the reference cluster was updated on another system.

  • GENSTOP

    to deactivate compression for generic entries in the reference cluster for new datasets.

  • GENSTART

    to activate compression for generic entries in the reference cluster for new datasets.

note

GENSTART and GENSTOP do NOT apply to DECOMPRESSION!!

Confirmation of deactivation

The following panel is displayed when the command CANCEL has been entered:


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - CONFIRMATION PANEL \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Confirm deactivation of the PRODUCTION interface
Press PF3 to cancel or ENTER to confirm.

Type PF3 to cancel the deactivation.

Type ENTER to deactivate the interface.

The files (Option 2)

Option 2 of the INFOPAK VSAM/MVS menu allows to display lists of the file entries for the reference cluster as well as lists of the catalog.

File selection

A selection panel is displayed:


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - FILE SELECTION \-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Selection criteria ===\> INFO0.TEST*
List type ===\> CAT REF list of the reference cluster
CAT list of the cataloged files
Migrated files ===\> Y (Y/N) applicable if CAT selected
Note, use the primary command ACT to process any compression commands.

The selection criteria can be a full or a generic name. Its syntax is the same as that of PDF (3.4).

To list all entries of the reference cluster, enter '*' in the criteria field and specify REF in the list type field.

Description of input field

List type

The value can be one of the following:

{wrapper="1" role="DL"}

  • REF

    displays the entries contained in the reference cluster and matching the selection criteria (actual compressed files, intentions or exclusions).

  • CAT

    displays cataloged files matching the selection criteria and the contents of the reference cluster. The list can be limited to the unmigrated file by specifying the next parameter.

Migrated files

This field reduces the scope of cataloged files by not displaying migrated files. The default of this field is N (list without migrated files).

The primary command ACT displays the file command panel

File list

The following panel is displayed:


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - FILE LIST \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Criteria : INFO0.TEST*
List type : CAT
Use the command ACT or the following selection code:
A to add a file, ( F add force a file), D delete, P purge entry,
R change the compression, I declare intent, X exclude a file.
S File name Comp Mode Intention Ctlg Type
. INFOTEL.TEST1 NO CP INCLUDE PDS
. INFOTEL.TEST2 NO RP INCLUDE NO
. INFOTEL.TEST3 NO CS INC.GEN SEQ
A INFOTEL.TEST4 KSDS
. INFOTEL.TEST5 YES RP EXCLUDE MIGR
. INFOTEL.TEST6 YES CP SEQ
******************************** BOTTOM OF DATA *******************************

Commands

{wrapper="1" role="DL"}

  • ACT

    displays the file command panel.

  • LOCATE or L

    locates a specified file in the list.

  • SFILE

    sorts the list in ascending order using the file name.

  • SCOMP

    sorts the list in descending order using the compression field. The list begins with the compressed files.

  • SMODE

    sorts the list in ascending order using the compression mode.

  • SINC

    sorts the list in descending order using the intention. The list begins with the included files.

  • SEXC

    sorts the list in descending order using the intention. The list begins with the files without intention followed by the excluded files.

  • SCAT

    sorts the list in descending order using the cataloged status. The list begins with the uncataloged files.

  • STYPE

    sorts the list in ascending order using the file type.

Description of selection codes

Selection code S

The value can be one of the following:

{wrapper="1" role="DL"}

  • A

    adds a KSDS, ESDS or PDS to the reference cluster. The file must be empty when using CP or CS compression codes.

  • F

    forces to add a KSDS, ESDS or PDS to the reference cluster.

    Warning: Before using the FORCE command, refer to the chapter Add an already compressed cluster to the reference cluster for the usage restrictions.

  • D

    deletes the entry from the reference cluster. The entry must be an empty KSDS, ESDS or PDS. A confirmation panel is displayed.

  • P

    removes a non-cataloged entry from the reference cluster. A confirmation panel is displayed.

  • R

    modifies the definition of an empty KSDS, ESDS or PDS file which is already compressed. This action code is the way to change the compression option of a file.

  • I

    specifies an intent to compress a file. The compression will take place on the next reload of the file.

  • X

    excludes a file from compression. If the file is already compressed, the effect of the EXCLUDE is to identify it for decompression at its next reload. Otherwise, if the cluster does not exist, the exclusion is immediate.

note

Each value of the selection code corresponds to a batch command. For more information, see the manual HP102 for VSAM, HP105 for MVS.

Description of output fields

File name

Name of the entry.

Comp

If the value is YES, this field indicates that the entry is present in the reference cluster and that it is an actual compressed entry.

If the value is NO, this entry may be an intent (INCLUDE or EXCLUDE) or may be an uncompressed entry if CAT was selected.

Mode

Compression mode. The value can be one of the following:

{wrapper="1" role="DL"}

  • CP

    Huffman optimal compression.

  • CP(LZ)

    Lempel-Ziv optimal compression.

  • CP(HD)

    Hardware driven optimal compression.

  • RP

    smart optimal compression.

  • RP(LZ)

    Lempel-Ziv smart optimal compression.

  • RP(HD)

    Hardware driven smart optimal compression.

  • CS

    fast compression.

  • RS

    smart fast compression.

Intention

Indicates that an intent to compress corresponds to the file (value INCLUDE) or if the file is excluded (value EXCLUDE). The value INC.GEN specifies that the file is not contained in the reference cluster but it will be compressed because a generic intention exists.

Ctlg

The value NO indicates that the file is no longer cataloged. The selection code P removes the entry from the cluster.

Type

Displays the file type (SEQ PDS KSDS ESDS MIGR).

File commands

This panel may be displayed:

  • from the selection panel or from the file list panel, by entering the ACT command.

  • from the file list panel when using one of the following selection codes: A,D,P,R,I,X . In this case, the action code and the file name can not be modified.


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - FILE COMMANDS \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Action ===\> A
File name ===\> INFO0.TEST4
Compression mode ===\> Option ===\> (mode CP or RP only)
Action: A - compress a file D - remove compression (empty file)
P - purge non cataloged entry R - change the compression mode
I - add a compression intent X - exclude a file from compression
F - add force a file
Mode: CP - optimal compression RP - smart optimal compression
CS - fast compression RS - smart fast compression
Option: SD - standard (default) LZ - Lempel-Ziv HD - Hardware driven

Description of input fields

Action

The value can be one of the following:

{wrapper="1" role="DL"}

  • A

    adds an ESDS, KSDS, PDS to the reference cluster.

  • F

    forces to add an ESDS, KSDS, PDS to the reference cluster.

  • D

    deletes an empty file from the reference cluster. A confirmation panel is displayed.

  • P

    removes an entry from the reference cluster for a file which is no longer cataloged. A confirmation panel is displayed.

  • R

    modifies the definition of an empty compressed file.

  • I

    specifies an intent to compress a file. The compression will take place on the next reload of the file.

  • X

    excludes a file from compression. If the file is already compressed, the effect of the EXCLUDE is to identify it for decompression at its next reload. Otherwise, if the cluster does not exist, the exclusion is immediate.

File name

Name of the file.

Compression mode

The value can be one of the following:

{wrapper="1" role="DL"}

  • CP

    Huffman optimal compression.

  • RP

    smart optimal compression.

  • CS

    fast compression.

  • RS

    smart fast compression.

Option

The value can be one of the following (mode CP or RP only):

{wrapper="1" role="DL"}

  • LZ

    Lempel-Ziv optimal compression.

  • HD

    Hardware driven optimal compression.

  • SD

    This is the default value which indicates Standard Huffman compression.

Confirmation of the suppression

The following panel is displayed:

  • by the file list panel when the code D or P is selected.

  • by the command panel for D or P commands.


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - CONFIRMATION PANEL \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Confirm deletion of the entry:
File name Comp Mode Intention Ctlg Type
INFO0.TEST1 NO CP INCLUDE PDS
Press PF3 to cancel or ENTER to confirm

Type PF3 to cancel the suppression.

Type ENTER to resume processing.

Confirmation of the exclusion

The following panel is displayed:

  • by the list panel when selecting a compressed file with the code X. The corresponding line will be displayed.

\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - CONFIRMATION PANEL \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Confirm exclusion of the entry:
File name Comp Mode Intention Ctlg Type
INFOTEL.TEST6 YES CP SEQ
Press PF3 to cancel or ENTER to confirm

Type PF3 to cancel the exclusion.

Type ENTER to resume processing.

The generic entries (Option 3)

When selecting the option 3 of the INFOPAK VSAM/MVS menu, the list of the generic entries is displayed.

Generic entry list



\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - GENERIC ENTRIES \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Use the command ACT or the following selection code:
D to delete a generic entry, I add a generic intent, X add a generic exclude,
L list the corresponding files.
S Entry name Mode Intention Exclusion
. INFO0.TEST1* CP INCLUDE XK
. INFO0.TEST1.NCP* EXCLUDE
. SYST.TEST.* CS INCLUDE XE XR
******************************** BOTTOM OF DATA *******************************

Commands

{wrapper="1" role="DL"}

  • ACT

    displays the generic entry command panel.

  • LOCATE or L

    locates a specified generic entry in the list.

  • SFILE

    sorts the list in ascending order using the generic entry name.

  • SMODE

    sorts the list in ascending order using the compression mode.

  • SINC

    sorts the list in descending order using the intention. The list begins with the included generic entries.

  • SEXC

    sorts the list in descending order using the intention. The list begins with the excluded generic entries.

Description of input fields

Selection code S

The value can be one of the following:

{wrapper="1" role="DL"}

  • D

    deletes the entry from the reference cluster. A confirmation panel is displayed.

  • I

    adds an intent to compress for a generic group.

  • X

    excludes a file group from compression.

  • L

    lists the files matching the generic group.

note

Each value of the selection code corresponds to a batch command. For more information, see the manual HP102 for VSAM, HP105 for MVS.

Description of output fields

Name of the generic group

Mode: Compression mode. The value can be one of the following:

{wrapper="1" role="DL"}

  • CP

    Huffman optimal compression.

  • CP(LZ)

    Lempel-Ziv optimal compression.

  • CP(HD)

    Harware driven optimal compression.

  • RP

    smart optimal compression.

  • RP(LZ)

    Lempel-Ziv smart optimal compression.

  • RP(HD)

    Harware driven smart optimal compression.

  • CS

    fast compression.

  • RS

    smart fast compression.

  • AU

    audit.

Intention: Specifies if an intent to compress correspond to the file group(value INCLUDE) or if the file group is excluded (value EXCLUDE).

Exclusion: Specifies the file types which are ignored by the intention. The value can be XK for KSDS, XE for ESDS or XR for RRDS.

Generic group commands

This panel is displayed from the generic group list panel:

  • by entering the ACT command.

  • by selecting a generic group with the selection codes D I X. The action code and the generic group name can not be modified.


\-\-\-\-\-\-\-- INFOPAK VSAM/MVS\-\-- GENERIC ENTRY COMMANDS \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Action ===\> A
Generic group name ===\> INFO0.TEST5*
Compression mode ===\> CS Option ===\> (mode CP or RP only)
Exclusion ===\> ===\> (XK ex. KSDS, or XE ex. ESDS)
Action: I - add an intent to compress . X - exclude a generic group
D - delete an intention
Mode: CP - optimal compression RP - smart optimal compression
CS - fast compression RS - smart fast compression
AU - audit
Option: SD - standard (default) LZ - Lempel-Ziv HD - Hardware driven

Description of input fields

Action

The value can be one of the following;

{wrapper="1" role="DL"}

  • I

    to add an intent to compress a file group.

  • X

    to exclude from compression a group file.

  • D

    to delete an intention from the reference cluster. A confirmation panel is displayed.

Name of the generic group

specifies the name of the generic group.

Compression mode

The value can be one of the following:

{wrapper="1" role="DL"}

  • CP

    Huffman optimal compression.

  • RP

    smart optimal compression.

  • CS

    fast compression.

  • RS

    smart fast smart.

  • AU

    audit.

Option

The value can be one of the following (mode CP or RP only):

{wrapper="1" role="DL"}

  • LZ

    Lempel-Ziv optimal compression.

  • HD

    Hardware driven optimal compression.

  • SD

    This is the default value which indicates Standard Huffman compression.

Exclusion

Specifies the file types which are ignored by the intention. The value can be one of the following: XE to exclude ESDS, XK to exclude KSDS. The RRDS files are automatically ignored.

Confirmation of the suppression

The following panel is displayed:

  • from the generic group list panel, selecting a generic group with the code D.

  • from the generic group command panel, entering D in the action code.


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - CONFIRMATION PANEL \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Confirm deletion of the entry:
Name of the generic entry: Mode Intention Exclusion
INFO0.TEST1* CP INCLUDE XK
Press PF3 to cancel or ENTER to confirm

Pressing PF3, the suppression is canceled.

Pressing ENTER, the action is processed.

The pattern-dsname (Option 4)

When selecting the option 4 of the INFOPAK VSAM/MVS menu, the list of the pattern-dsnames is displayed.

Pattern-dsname list



\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - LIST OF PATTERN-DSNAME \-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Use the command ACT or the following selection code:
D to delete
S Name of the pattern-dsname Mode
. INFO0.% CP
. SYST.INFOTEL.% CS
******************************** BOTTOM OF DATA *******************************

Commands

{wrapper="1" role="DL"}

  • ACT

    displays the pattern-dsname command panel.

  • LOCATE or L

    locates a specified pattern-dsname in the list.

  • SPATT

    sorts the list in ascending order using the pattern-dsname.

  • SMODE

    sorts the list in ascending order using the compression mode.

Description of input fields

Selection code S

The possible value is:

{wrapper="1" role="DL"}

  • D

    to remove a pattern-dsname from the reference cluster. A confirmation panel is displayed.

note

Each value of the selection code corresponds to a batch command. For more information, see the manual HP102 for VSAM, HP105 for MVS.

Description of output fields

Name of the pattern-dsname

specifies the name of the pattern-dsname.

Mode

Compression mode. The possible values are:

{wrapper="1" role="DL"}

  • CP

    Huffman optimal compression.

  • CP(LZ)

    Lempel-Ziv optimal compression.

  • CP(HD)

    Hardware driven optimal compression.

  • RP

    smart optimal compression.

  • RP(LZ)

    Lempel-Ziv smart optimal compression.

  • RP(HD)

    Hardware driven smart optimal compression.

  • CS

    fast compression.

  • RS

    smart fast compression.

Pattern-dsname commands

This panel is displayed from the pattern-dsname list panel by entering the ACT command.


\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - PATTERN-DSNAME COMMANDS \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Action ===\> A
Pattern-dsname ===\> INFO0.T%
Compression mode ===\> CS Option ===\> (mode CP or RP only)
Action: A - add a pattern-dsname D - delete a pattern-dsname
Mode: CP - optimal compression RP - smart optimal compression
CS - fast compression RS - smart fast compression
Option: SD - standard (default) LZ - Lempel-Ziv HD - Hardware driven

Description of input fields

Action

The possible values are:

{wrapper="1" role="DL"}

  • A

    to add a pattern-dsname in the reference cluster.

  • D

    to remove a pattern-dsname from the reference cluster. A confirmation panel is displayed.

Pattern-dsname

specifies the name of the pattern-dsname.

Compression mode

The possible values are:

{wrapper="1" role="DL"}

  • CP

    Huffman optimal compression.

  • RP

    smart optimal compression.

  • CS

    fast compression.

  • RS

    smart fast compression.

Option

The value can be one of the following (mode CP or RP only):

{wrapper="1" role="DL"}

  • LZ

    Lempel-Ziv optimal compression.

  • HD

    Hardware driven optimal compression.

  • SD

    This is the default value which indicates Standard Huffman compression.

Confirmation of the suppression

The following panel is displayed:

  • from the pattern-dsname list panel, selecting a pattern-dsname with the code D.

  • from the pattern-dsname command panel, entering D in the action code.


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - CONFIRMATION OF THE SUPPRESSION \-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Confirmation of the suppression from compression of the pattern-dsname:
INFO0.T%
Press PF3 to cancel or ENTER to confirm

Pressing PF3, the suppression is canceled.

Pressing ENTER, the action is processed.

List of JCL cards (Option 5)

When selecting the option 5 of the INFOPAK VSAM/MVS menu, the list of the JCL cards is displayed. Only the administrator can modify it.

JCL cards list

The following screen is displayed:


\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - JCL CARDS \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Use the command CAN to cancel.
The selection codes follow the ISPF syntax.
*******************************************************************************
\.... //INFOPAKP JOB \'REFRESH\',CLASS=C,MSGCLASS=S,NOTIFY=PAKADM
\.... //STEP EXEC PGM=INFVSUT1
\.... //SYSUT1 DD DSN=INFOTEL.PROD,DISP=OLD
\.... //SYSPRINT DD SYSOUT=*
******************************** BOTTOM OF DATA *******************************

The TSO command COPY can be used to copy a JCL member of a library.

note

The command CANCEL allows to cancel the update.

The programs (Option 6)

When selecting the option 6 of the INFOPAK VSAM/MVS menu, the list of the programs is displayed.


\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - PROGRAM LIST \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Use the command ACT or the following selection code:
D to delete a program
S Program name Function code
. INPR100 IN
. GVRESTOR EX
. ADRDSSU XX
. ARCCTL XX
. JSXMAIN XX
******************************** BOTTOM OF DATA *******************************

Commands

{wrapper="1" role="DL"}

  • ACT

    displays the program command panel.

  • LOCATE or L

    locates a specified program in the list.

  • SPROG

    sorts the list in ascending order using the program name.

  • SMODE

    sorts the list in descending order using the function code.

Description of input fields

Selection code S

The possible values are:

{wrapper="1" role="DL"}

  • D

    to remove a program from the reference cluster. A confirmation panel is displayed.

note

Each value of the selection code corresponds to a batch command. For more information, see the manual HP102 for VSAM, HP105 for MVS.

Description of output fields

Program name

specifies the name of the program. It can be a full or a generic name.

Function code

The possible values are:

{wrapper="1" role="DL"}

  • IN

    to specify that, during the execution of the program, the access method to the compressed files will be tested.

  • XX

    to specify the full bypass of the interface during the execution of the program.

  • EX

    to specify the bypass of the interface during the execution of the program except for intent processing.

Program commands

This panel is displayed from the program list panel when entering the ACT command.


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - PROGRAM COMMANDS \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Action ===\> A
Program name ===\> PROGA
Function code ===\> IN IN inclusion (test access method),
EX exclude except for intents,
XX full exclude
Action: A - add a program D - delete a program

Description of input fields

Action

The possible values are:

{wrapper="1" role="DL"}

  • A

    to add a program in the reference cluster.

  • D

    to remove a program from the reference cluster. A confirmation panel is displayed.

Program name

specifies the name of the program.

Function code

The possible values are:

{wrapper="1" role="DL"}

  • IN

    to specify that during the execution of the program the access method to the compressed files will be tested.

  • XX

    to specify the full bypass of the interface during the execution of the program.

  • EX

    to specify the bypass of the interface during the execution of the program except for intent processing.

Confirmation of the suppression

The following panel is displayed:

  • from the program list panel, selecting a program with the code D.

  • from the program command panel, entering D in the action code.


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - CONFIRMATION OF THE SUPPRESSION \-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Confirmation of the suppression from compression of the program:
INFTPR
Press PF3 to cancel or ENTER to confirm

Pressing PF3, the suppression is canceled.

Pressing ENTER, the action is processed.

The dataclasses (Option 8)

When selecting option 8 of the INFOPAK VSAM/MVS menu, the list of dataclasses will be displayed.

Dataclass list



\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - DATACLASS \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\> SCROLL ===\> CSR
Interface : PRODUCTION
Use the command ACT or the following selection code:
D delete a dataclass entry, I add a dataclass intent, ? information
S Dataclass Mode Intention Exclusion
. DTCLASS1 CP INCLUDE XK
. DTCLASS3 CS INCLUDE XE XR
******************************** BOTTOM OF DATA *******************************

Commands

{wrapper="1" role="DL"}

  • ACT

    displays the dataclass command panel.

  • LOCATE or L

    locates a specified dataclass in the list.

  • SDATA

    sorts the list in ascending order using the dataclass name.

  • SMODE

    sorts the list in ascending order using the compression mode.

Description of input fields

Selection code S

The value can be one of the following:

{wrapper="1" role="DL"}

  • D

    deletes the entry from the reference cluster. A confirmation panel will be displayed.

  • I

    adds an intent to compress for a dataclass.

  • ?

    displays information about the dataclass.

note

Each value of the selection code corresponds to a batch command. For more information, see the manual HP102 for VSAM, HP105 for MVS.

Description of output fields

Name of the dataclass

specifies the name of the dataclass.

Mode

specifies the compression mode. The value can be one of the following:

{wrapper="1" role="DL"}

  • CP

    Huffman optimal compression.

  • CP(LZ)

    Lempel-Ziv optimal compression.

  • CP(HD)

    Harware driven optimal compression.

  • RP

    smart optimal compression.

  • RP(LZ)

    Lempel-Ziv smart optimal compression.

  • RP(HD)

    Harware driven smart optimal compression.

  • CS

    fast compression.

  • RS

    smart fast compression.

  • Intention

    specifies that all files that match the dataclass will be compressed at the next reload.

  • Exclusion

    specifies the file types which are ignored by the intention. The value can be XK for KSDS, XE for ESDS or XR for RRDS.

Dataclass commands

The following panel will be displayed when the ACT command or the selection code I have been entered on the dataclass list panel :


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - DATACLASS COMMANDS \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Action ===\> I
Name of the dataclass ===\> DTCLASS4
Compression mode ===\> CS Option ===\> (mode CP or RP only)
Key version ===\> (encryption only)
Key ===\> (encryption only)
Exclusions ===\> ===\> ( XK ex. KSDS, or XE ex. ESDS)
Action: I - add a dataclass intent
D - delete a dataclass entry
Mode: CP - optimal compression RP - smart optimal compression
CS - fast compression RS - smart fast compression
CX - external compression RX - smart external compression
Option: SD - standard (default) LZ - Lempel-Ziv HD - Hardware driven

Description of input fields

Action

The value can be one of the following;

{wrapper="1" role="DL"}

  • I

    to add a dataclass intent.

  • D

    to delete a dataclass entry. A confirmation panel will be displayed.

Name of the dataclass

specifies the name of the dataclass.

Compression mode

The value can be one of the following:

{wrapper="1" role="DL"}

  • CP

    Huffman optimal compression.

  • RP

    smart optimal compression.

  • CS

    fast compression.

  • RS

    smart fast compression.

Option

The value can be one of the following (mode CP or RP only):

{wrapper="1" role="DL"}

  • LZ

    Lempel-Ziv optimal compression.

  • HD

    Hardware driven optimal compression.

  • SD

    This is the default value which indicates Standard Huffman compression.

Exclusion

specifies the file types which are ignored by the intention. The value can be one of the following: XE to exclude ESDS, XK to exclude KSDS. The RRDS files are automatically ignored.

Confirmation of the suppression

The following panel will be displayed:

  • from the dataclass list panel, selecting a dataclass with the code D.

  • from the dataclass command panel, entering D in the action code.


\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- INFOPAK VSAM/MVS - CONFIRMATION PANEL \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Interface : PRODUCTION
Confirm deletion of the dataclass:
Dataclass Mode Intention Exclusion
DTCLASS1 CP INCLUDE XK
Press PF3 to cancel or ENTER to confirm.

Pressing PF3, the suppression is canceled.

Pressing ENTER, the action is processed.

Security recommendations

This section provides a list of recommendations to be followed when installing and using INFOPAK in MVS environments. The purpose of these recommendations is to prevent incidents which may affect the integrity of the data.

General recommendations

  • The reference cluster and program INFVSUT1 should be protected with your security system, ACF2, RACF, ETC...

  • The reference cluster should be included in your backup procedures.

  • To protect the reference cluster : the reference cluster contains the list of compressed files. No programs other than INFVSUT1 should be authorized to update this cluster.

  • To protect from unauthorized use of INFVSUT1 : this program provides the INFOPAK activation and deactivation mechanism. Therefore, it should be used by authorized personnel only.

  • Never inadvertently deactivate INFOPAK : when INFOPAK is in a deactivated state, the system assumes all files are uncompressed. Therefore, access to compressed files will almost always result in an abend.

In production be sure to include an activation procedure in the IPL. Never deactivate the INFOPAK OPEN interface except to apply maintenance to INFOPAK.

When using multiple systems with shared disk

  • Use only one reference cluster shared by all systems.

  • Updates to the reference cluster automatically update the system on which the update is processed. The other systems must be updated as soon as possible by executing INFVSUT1 without input (SYSIN).

Decompressing a file with the interface deactivated

The INFVSDCP module allows decompression of VSAM, PDS or sequential files when the compression interface is deactivated. If you wish to use the program INFVSDCP when the compression interface is active, use a STEPNAME of INFAMS. The use of INFVSDCP for PDS and sequential files requires INFOPAK MVS, while the use of INFVSDCP for VSAM files requires INFOPAK VSAM and the VSAM files must be on DISK.

INFVSDCP use

To decompress a file when the INFOPAK cluster is available and contains the entry for the cluster to be decompressed, execute INFVSDCP as follows:

 //jobname  JOB ................
//stepname EXEC PGM=INFVSDCP
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=reference-cluster-name,DISP=OLD
//SYSUT2 DD DSN=file-to-decompress,DISP=OLD
//SYSUT3 DD DSN=output-file-name,DISP=NEW,....
 ************************************************************************************************************************************
* INFOTEL I N F O P A K V S A M / I N F O P A K M V S 08/15/90 : 16 H 47 PAGE : 1 *
* VERSION : *
************************************************************************************************************************************
nnnnnnn RECORDS DECOMPRESSED BY INFVSDCP
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
. .
************************************************************************************************************************************
* INFOPAK SOFTWARE PROPERTY OF INFOTEL *
************************************************************************************************************************************

To decompress a file when the INFOPAK cluster is NOT available, execute INFVSDCP as follows:

 //jobname  JOB ................
//stepname EXEC PGM=INFVSDCP,PARM='p1'
//PRINT DD SYSOUT=*
//SYSUT2 DD DSN=file-to-decompress,DISP=OLD
//SYSUT3 DD DSN=output-file-name,DISP=NEW,....

The parameters are defined as follows:

{wrapper="1" role="DL"}

  • p1

    Cluster compression code (CS,CP,RP,RS).

     ************************************************************************************************************************************
    * INFOTEL I N F O P A K V S A M / I N F O P A K M V S 08/15/90 : 16 H 47 PAGE : 1 *
    * VERSION : *
    ************************************************************************************************************************************
    INPUT PARAMETER : cc
    nnnnnnn RECORDS DECOMPRESSED BY INFVSDCP
    . .
    . .
    . .
    . .
    . .
    . .
    . .
    . .
    . .
    . .
    . .
    . .
    . .
    . .
    . .
    . .
    ************************************************************************************************************************************
    * INFOPAK PROPERTY OF INFOTEL *
    ************************************************************************************************************************************

note

If the wrong compression option is selected in the above step, data will be decompressed but, of course, will be in error. If the option is used, the decompressed data should be viewed for accuracy before being used in processing.

note

The file SYSUT3 is a sequential file and will contain, after the execution, the SYSUT2 records in decompressed format.

note

If the file SYSUT2 is a sequential file (PDS) the file SYSUT3 must be a sequential file (PDS) whose characteristics must be the same as that of SYSUT2 (BLKSIZE, LRECL, RECFM).

Using INFVSQ0

INFVSQ0 is an interface which allows decompression of VSAM compressed records (MVS blocks) or creation of VSAM compressed records (MVS blocks). The purpose of this interface is the management of VSAM records containing both compressed fields (data) and uncompressed fields (key, alternate keys) or blocks compressed according to INFOPAK MVS.

For example, it may be used when working with a sequential copy of the compressed VSAM file. It may also be used when reading a compressed FAVER backup copy with a COBOL program.

INFVSQ0 includes four entry points for use by user applications:

  • ICVOPEN: creates a pointer to the description of the file (KEYs LOCATION, RECSIZE, BLKSIZE, RECFM ETC).

  • ICVGET: decompresses a record/block using the pointer created by ICVOPEN.

  • ICVPUT: compresses a record/block using the pointer created by ICVOPEN.

  • ICVCLOSE: frees the description of the file using the pointer created by IVCOPEN.

  • A user program would contain the following macros as an example: OPEN, ICVOPEN, GET, ICVGET, ICVPUT, PUT, ICVCLOSE, and CLOSE.

ICVOPEN

This is the initialization procedure of the interface. The compression/decompression requires a model in order to decompress or compress a record/block. The purpose of this procedure is the acquisition of information about the model either in the reference cluster or in the VSAM catalog (VSAM only).

Call parameters :

  1. Fullword pointer to Address of description to the file (ADV).

  2. DSNAME:pointer to a 44 byte dataset name. This is the dsname of the file that will be used as a model during compression or decompression of the records/blocks. Information about this dsname can be found either in the reference cluster (if an entry for the dsname is present) or in the VSAM catalog (VSAM file only).

  3. WC pointer to 3 bytes:

    the Working Code(3 bytes) contains one of the values listed below:

    • DDN indicates that the parameter NAME contains the ddname of the reference cluster. This parameter should be used when the reference cluster is available and when the dsname specified by the DSNAME parameter is listed as a compressed file in that cluster. In this case information about dsname is extracted from the reference cluster and NOT from the VSAM catalog.

    • DSN indicates that the parameter NAME contains the dsname of the reference cluster. The same restrictions as those for DDN apply to this option.

    • CP indicates that the high compression/decompression module will be used to process the record/block and information about the record will be extracted from the VSAM catalog (VSAM only). When decompressing a record/block, be sure that the correct compression level is specified.

    • CS indicates that the low CPU compression/decompression module will be used during the process of the records/blocks. The same restrictions as those for CP apply to this option.

    • RP indicates that the smart version of the high compression module will be used to process the records/blocks. The same restrictions as CP apply to this option.

    • RS indicates that the smart version of the low CPU compression module will be used during the process of the records/blocks. The same restrictions as CP apply to this option.

    • The smart compression modules RP and RS can differentiate between compressed and uncompressed records/blocks and invoke decompression and compression only as required. This prevents inadvertent decompression of uncompressed data and compression of compressed data. This also allows compressed and uncompressed data to exist in the same dataset. A dataset that uses the RP or RS smart compression supports gradual compression through updates or inserts.

  4. Pointer to 8 or 44 byte ddname or dsname of the reference cluster depending on the value of the parameter WC. Irrelevant if WC= CP, CS, RP or RS

  5. PARM for VSAM record: pointer to fullword containing Maximum length (uncompressed) of the records to compress or decompress.

    PARM for MVS blocks, pointer to 5 bytes which contain: BLKSIZE(2 bytes)+LRECL(2 bytes)+RECFM(1 byte) of the model file

example

Assembler example :

CALL ICVOPEN,(ADV,DSNAME,NAME,LGMAX),VL

note

if WC= CP, CS, RP or RS do not code the parameter NAME.

ICVOPEN return code :

  • 0 --> OK

  • 4 --> trial expired

  • 8 -->

    • R0=0 3 parameter (WC) incorrect.

    • R0=4 error during allocation of the reference cluster.

    • R0=8 error during open of the reference cluster.

    • R0=12 dsname not listed in the reference cluster or declared as an intent to compress.

    • R0=16 catalog access error.

ICVCLOSE

This procedure ends the use of the interface for a particular file. It frees the data areas associated with the file.

Call parameter :

  • Address of the description of the file.

    the pointer that was assigned by ICVOPEN

example

Assembler example :

CALL ICVCLOSE,(ADV),VL

ICVCLOSE return code :

  • 0 --> OK

ICVGET

This is the procedure used to decompress a record/block.

Call parameters :

  • Address of the description of the file.

    the pointer that was assigned by ICVOPEN

  • address of the INPUT data area to be decompressed.

  • pointer to LINPUT (1 word) length of the data area to be decompressed.

  • pointer to OUTPUT buffer that will receive the decompressed record/block.

  • pointer to fullword containing(1 word) maximum length of the output buffer.

example

Assembler example :

CALL ICVGET, (address,INPUT,LINPUT,OUTPUT,LOUTPUT),VL

ICVGET return codes :

  • 0 --> OK

  • 8 --> Output buffer too small (truncation)

ICVPUT

This is the procedure used to compress a record/block.

Call parameters :

  • Address of the description of the file.

    the pointer that was assigned by ICVOPEN

  • pointer to INPUT data area to be compressed.

  • pointer to LINPUT (fullword) length of the data area to be compressed.

  • pointer to OUTPUT buffer that will receive the compressed record/block.

  • pointer to LOUTPUT (fullword) maximum length of the output buffer.

example

Assembler example :

CALL ICVPUT, (address,INPUT,LINPUT,OUTPUT,LOUTPUT),VL

ICVPUT return codes :

  • 0 --> OK

  • 8 --> Output buffer too small (truncation)

Using INFVCFL0

This utility is used to indicate if a file is under control of INFOPAK VSAM/MVS. Under control means that the requests for writing (OUTPUT) or reading (INPUT) will be intercepted and processed according to the specifications defined in the previous chapters.

For example, if an intent to compress is defined for a cluster, this cluster:

  • is not under control during a read or an update (MODE INPUT),

  • will be under control at the next reload (MODE OUTPUT).

This program may be called using three different methods:

  • program call,

  • JCL or CLIST/REXX call or

  • Called under ISPF

Program call

All parameters are optional.

Call parameters

TYPE (3 characters)

contains one of the following values:

{wrapper="1" role="DL"}

  • DDN

    indicates that the file(s) to be tested are allocated by a ddname.

    DDN is the default value.

  • DSN

    indicates that a dsname of the file to be tested is specified.

NAME (8 or 44 characters)

depending on the value of the first parameter (TYPE), NAME contains a ddname or dsname.

This parameter is mandatory if TYPE=DSN was specified.

The default value is INFTST if TYPE=DDN.

MODE (1 character)

this parameter specifies the mode in which the selected file(s) will be tested. If coded, it contains one of the following values:

{wrapper="1" role="DL"}

  • I

    the file(s) will be tested in the conditions of read or update access.

    I is the default value.

  • O

    the file(s) will be tested for pending total reload.

Assembler sample


CALL INFVCFL0,( TYPE , NAME , MODE ),VL

JCL or CLIST/REXX call

INFVCFL0 may also be called by JCL. When called without parameters, it assumes the default values as the three parameters:

  • TYPE=DDN ddname specified.

  • NAME=INFTST, a DD card for this ddname must be specified.

  • MODE=I the ddname INFTST will be tested for open input or an open for update.

The default values TYPE and NAME may be changed by using the parameter option of the JCL (REXX/CLIST). The syntax is as follows:

{wrapper="1" role="DL"}

  • PARM='DDN,ddname'

    to test a ddname allocated by the JCL or CLIST/REXX program.

  • PARM='DSN,dsname'

    to test a dsname.

example

Examples :

Test the ddname INFTST containing two dataset names.


//jobname JOB \...\...\...\...\...\...\...;
//stepname EXEC PGM=INFVCFL0
//STEPLIB DD DSN=library-name-containing-INFVCFL0
//INFTST DD DSN=dsname1-to-be-tested,DISP=SHR
// DD DSN=dsname2-to-be-tested,DISP=SHR

Test the ddname SYSUT1.


//jobname JOB \...\...\...\...\...\...\...;
//stepname EXEC PGM=INFVCFL0,PARM=\'DDN,SYSUT1\'
//STEPLIB DD DSN=library-name-containing-INFVCFL0
//SYSUT1 DD DSN=dsname1-to-be-tested,DISP=SHR

Test the dsname USER1.FILE1


//jobname JOB \...\...\...\...\...\...\...;
//stepname EXEC PGM=INFVCFL0,PARM=\'DSN,USER1.FILE1\'
//STEPLIB DD DSN=library-name-containing-INFVCFL0

Calling INFVCFL0 under ISPF

If the open interface is active and if INFVCFL0 is called under ISPF with a dsname as a parameter, it returns three ISPF variables: PAKCOMP, PAKTCOMP and PAKOPCP. Return codes and reason codes are also returned. The content of those variables are as follows:

{wrapper="1" role="DL"}

  • PAKCOMP=Y

    the dsname is compressed.

  • PAKCOMP=N

    the dsname is not compressed.

  • PAKTCOMP=CP

    the compression method is CP.

  • PAKTCOMP=CS

    the compression method is CS.

  • PAKTCOMP=RP

    the compression method is RP.

  • PAKTCOMP=RS

    the compression method is RS.

  • PAKOPCP=LZ

    indicates Lempel-Ziv hardware compression (CP or RP only).

  • PAKOPCP=HD

    indicates Hardware driven compression (CP or RP only).

  • PAKOPCP=blank

    for other compression modes.

A sample of a REXX program using INFVCFL0 under ISPF was created at installation time in the library INFSAMP(member CFLSMP).

INFVCFL0 return codes

The return codes generated by INFVCFL0 are as follows:

0

the file will be under control of the INFOPAK open interface after the type of open specified by the MODE parameter.

{wrapper="1" role="DL"}

  • reason code = 1

    Indicates CS compression.

  • reason code = 2

    Indicates CP compression.

  • reason code = 5

    Indicates RS compression.

  • reason code = 6

    Indicates RP compression.

  • reason code = 255

    Indicates mixed compression or compressed and uncompressed datasets concatenated together.

4

the file will NOT be under the control of the INFOPAK open interface after the type of open specified by the MODE parameter.

{wrapper="1" role="DL"}

  • reason code

    Not relevant.

8

interface not active.

{wrapper="1" role="DL"}

  • reason code

    Not relevant.

12

parameter error.

16

the specified DDNAME is not allocated.

{wrapper="1" role="DL"}

  • reason code

    Not relevant.

ABEND 4002

the file specified is under control of more than one interface.

If a ddname is used with several dsnames, the ddname will be under control of the open interface if one of the dataset names is compressed or has to be compressed depending on mode.

The third parameter (MODE) has no effect on a PDS. Indeed, it is NOT possible to include or exclude a PDS.

How to remove compression from a cluster

The removal of compression for KSDS or ESDS clusters requires the use of the standard program IDCAMS and the INFOTEL INFVSUT1 product. This removal also requires that the INFOTEL VSAM interface be activated.

Removing compression from a cluster

To remove compression, perform the following steps:

  1. Unload the cluster

  2. Delete the cluster

  3. Redefine the cluster and the alternate index and the path

  4. Exclude the cluster using INFVSUT1

  5. Reload the cluster

  6. Build Alternate indexes(optional)

Unload the cluster

Unload the KSDS or ESDS dataset with IDCAMS REPRO. The sequential file produced will be used to reload the cluster.

Delete the cluster

Run IDCAMS DELETE to delete the KSDS or ESDS cluster.

Redefine the cluster

Run AMS DEFINE to redefine the cluster. (This assures that the cluster is empty at the time it is removed from the reference cluster).

After these three steps, a sequential copy of the cluster has been created. The cluster exists, is empty, and has to be reloaded. This is performed by the following operations:

Delete the cluster entry in using INFVSUT1

Execute the INFVSUT1 utility to remove the dataset name from the reference cluster.

Reload the cluster

Reload the cluster with AMS REPRO. Rebuild the alternate indexes, if any.

Build the Alternate Index (optional)

After the load of the base cluster the alternate index, if required, should be built.

The cluster is now decompressed.

note

If the INFOPAK interface is not active, INFVSDCP can be used to decompress the cluster.

note

See the list clusters command to identify cluster status, compressed, excluded, etc..

Special considerations

How and when to activate the INFOTEL OPEN INTERFACE ?

The interface may be activated at any time.

Activation at IPL time should be used for the product in production environments. The interface must be activated before the execution of any software that uses compressed files. For example, the INFOPAK interface should be activated before CICS activation.

In a test situation, the interface may be activated between IPLs.

Activation of the interface enables the compression mechanism for the files identified in the reference cluster.

Considerations with multiple systems ?

If the reference cluster is accessed by several systems, the CSA table must be identical for each system. Do as below:

  1. If the INFVSUT1 program is run with PARM=REFRESH, then the refresh is automatic if your reference cluster contains the jcl necessary for the notification.

  2. Execute INFVSUT1 on the reference system.

  3. Execute INFVSUT1 without SYSIN on the other systems to update the contents of the tables to the contents of the reference cluster.

note

Only one reference cluster must exist for the systems.

Under certain circumstances, INFOPAK may itself initiate an update to the reference cluster on one system. For example, this can occur when a file is automatically compressed because of the presence of an INCLUDE entry when the file is reloaded. In this case, the user is not able to submit JCL. Therefore, in this case only, INFOPAK will submit JCL through the internal reader. The JCL submitted is that which has previously been entered into the reference cluster.

How to bypass compression for a program ?

Execute INFVSUT1 to bypass the referenced program.

The interface mechanism will be suspended for each compressed file accessed by the program when the program is processed by an EXECUTE statement.

If the program to exclude is IDCAMS, use INFAMS. This program corresponds to IDCAMS without compression/decompression.

How to bypass compression for a jobstep or a file ?

Compression may be suspended for the execution of an entire jobstep.

Executing a STEP whose stepname begins with the six characters 'INFAMS' will temporarily bypass the compression/decompression exit for every file being opened by the program executed.

Also, a particular file whose DDNAME begins with INFAMS will also be excluded from the compression/decompression mechanism.

How to choose between the CP or CS options ?

The CP compression option produces the maximum compression rate, but with more CPU consumption than the CS option. For ANY file, when the rate produced by the CP option and the CS option are similar, use the CS option. In the other cases, the compromise between space saved and type of access is determinant.

About programming languages

The interface is transparent for all programing languages used in the MVS world (ASM, COBOL, etc...).

About dumps

The contents of the user areas are not modified by the product use. This information is decompressed.

The OS (VSAM) buffers contain compressed records.

Performing upgrade with compression modules in LPALIB.

Reinstalled INFOPAK and an IPL with a CLPA. If the activation of the OPEN interface is not included in your IPL procedure, reactivate the interface executing INFVSUT1 without SYSIN.

  • Deactivate the OPEN interface with the previous (old) version of INFOPAK making sure that jobs requiring compression or decompression are not active

  • Reinstall the INFOPAK product and issue the MODIFY LLA,REFRESH command.

  • Reactivate the open interface (INFVSUT1 without SYSIN) and resume normal processing.

How to modify the definition of a compressed cluster ?

Sometimes modifying the VSAM definition of a compressed cluster (modification of the offset or length of the key, adding of an alternate key, ...) requires a modification to the reference cluster entry corresponding to this cluster. Perform the following operations:

  1. Unload the cluster with REPRO IDCAMS (or other utility that decompresses the records).

  2. DELETE / DEFINE the cluster and its VSAM objects (AIX and PATH)

  3. Execute INFVSUT1 with one SYSIN card:

  4. Reload the cluster with REPRO IDCAMS

How to allocate space for a compressed cluster ?

The primary and secondary allocation parameters should be decreased proportionally to the DASD savings shown on the TESTVPAK report.

Must the maximum record length be increased ?

Although rare, it is always possible that a record will not compress. The INFOPAK algorithm assumes any record that is at its maximum length as being uncompressed. Therefore, if the original records are known to have been of fixed length, decompression will be attempted on records which are less than maximum and this, of course, would be correct.

However, if the original records were of variable length, it is possible to be less than the maximum length and still uncompressed. If INFOPAK is unable to compress a variable length record, a one byte indicator is attached. If the maximum length parameter is increased by two bytes this logic works for all possible situations.

If you do not wish to increase the maximum record size, INFOPAK correctly assumes that any maximum length record is uncompressed. A one byte indicator is attached to uncompressed records which are two or more bytes shorter than the maximum.

It is only the record that is exactly one byte shorter than maximum length and cannot be compressed that presents an unusual situation when the maximum record size is not increased. In this case, the compression routine attaches a zero byte at the end of the record. The decompression routine, then, sees a record of maximum length and does not, and correctly so, decompress the record.

Though this would be a rare case, the application program receives a record with an extra zero byte at the end. This should not cause a problem. However, if this is considered risky for a particular application, the maximum record length should be increased by two.

Considerations with alternate keys ?

The alternate keys and the PATHs of a cluster must be defined before the cluster is compressed.

VSAM needs uncompressed alternate keys to have access to the data component of the cluster.

INFOPAK and CICS OSCOR

Version 3 of CICS allows the ACB to exist above the 16M line. INFOPAK will use this function and allocate its internal control blocks and buffers above the line also eliminating OSCOR problems.

The following information helps in calculating the memory size required for INFOPAK in OSCOR:

  • reserve (300 + n) bytes for each compressed file, where n is the record maximum length.

  • reserve (120 + m) * S bytes, where m is the length of the largest record of all compressed files and S is the maximum number of competing accesses to the files under control. An overvalue of S is the amount of the STRNO of each file under control. An adequate value of S is the number of compressed clusters.

  • reserve 30 K for each interface module (CP, CS) when these modules are not loaded in LPA.

About save utilities

The interface must be suspended to execute certain programs. For example, a save program that unloads at the CI level but restores at the logical record level should be made to bypass the compression system completely. The CI access does not use the compression mechanism and the unloaded records stay compressed in the CI. At the time of the reload, the records are already compressed and must not be compressed again. This program must be excluded from compression.

About sort utilities

Some of the sort utilities can access to VSAM clusters with CI access. If the sort criteria are not limited to keys (primary and alternate), the result will be unpredictable, as the compressed records will not be decompressed.

To avoid this problem, it is necessary to customize the sort utility to use RECORD access instead of CI access. You can also specify this parameter directly in the job.

The parameter to use with DFSORT is NOCINV.

Open error code 100

The alternate index and PATH must be defined before the INFVSUT1 execution for the reference cluster.

An open error code of 100 when loading the compressed cluster is normal. The alternate index must be loaded with BLDINDEX or a user program after the compressed cluster loading. To suppress this error message, create the alternate index with the NOUPGRADE option, load the compressed cluster and, with the ALTER command, change the index in UPGRADE SET.

Restrictions on INFOPAK VSAM use

INFOPAK cannot be used in the following cases:

  • Access under IMS control (SHISAM,HISAM).

  • Access using CI.

  • VSAM buffer modifications without the use of the PUT macro. The audit command detects clusters having records which are directly updated in the buffers (INFOPAK VSAM).

  • Use of VSAM through ISAM Interface Program (IIP).