Preface
This document contains information about installation and customization of INFOPAK VSAM, INFOPAK MVS, INFOPAK IMS, INFOPAK for DB2, INFOPAK IDMS and INFOPAK DATACOM.
A list of the required steps by product can be found in the section titled General installation outline.
Important UPGRADE Rules for
INFOPAK VSAM or MVS
<*IX T="MVS or VSAM UPGRADE">
If you do not have INFOPAK for MVS or INFOPAK for VSAM or both installed in production these rules do not apply. These rules are for testing a new version of INFOPAK, while using a different version in production.
INFOPAK VSAM and INFOPAK MVS utilize 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 of the test modules should be in a private library separate from the production system.
-
For testing all of the test modules identified by the ddnames MVSLOAD, MVSLINK, and MVSLPA can point at the same library, which must be authorized.
-
A STEPLIB statement must be included in all jobs that will run with 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, separate from production, must be used for the identification of the datasets used in testing the product. You should insure that the same dataset names are not used in production and test.
-
All executions of program INFVSUT1 in testing must include the PARM=DDN2 function. This will insure that the production system will not be de-activated 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.
Installation guide
Installation material
The installation material includes the files and documentation necessary for the installation and use of the product, divided into folders whose tree structure and contents are described below:
-
Installation
-
Files: files for the installation of the product
-
Instructions: instructions for installing the product
-
-
Documentation
-
Release-Guides: product version information
-
User's-Guides: documentation on the installation and use of the product
-
General installation outline
The installation of all INFOPAK product options includes the steps listed below and described in detail in dedicated chapters or subchapters.
Steps to perform
warning
If you have received a new confidential code to upgrade from a test version to a licensed version, to extend the use of a confidential code that has an expiration date, or to allow the use of INFOPAK on a new CPU, none of the following steps are required.
For an installation of a limited number of options, some steps do not apply. The following table is used to determine which steps to carry out depending on the product options.
Step vs Option VSAM/MVS DB2 DL1 IDMS DATACOM 1 * * * * *
2 *
3 *
4 *
5 * *
6 * *
7 * *
8 * *
9 * *
Step 1 - Unloading INFOPAK
All INFOPAK modules are created by this single unloading step, so there is no separate unloading of INFOPAK and TESTPAK.
Sample members for job steps 2 through 9 can be found in the INFOPAK samplib created by this step.
Installation JCL
The installation JCL uses the files transferred (see Transfer prior to unloading the product) from the system libraries and creates the libraries containing the product modules if the supplied confidential code allows this operation.
Confidential code
First installation of the product version
The provided installation JCL contains a confidential code. This code is generated from several pieces of information, including an expiration date corresponding to the end of the code's validity period. This may be the end of a test period, the end of a period of use at a backup site, or the date on which the confidential code must be renewed in the case of a production license.
The use of the Installation JCL is described later in this chapter.
Updating confidential codes after installation
A new confidential code is required in the following cases:
-
During a Disaster Recovery type test on a backup site.
-
When it is necessary to modify the list of authorized CPUs.
-
When the validity date of the confidential code is reached, whether the code explicitly authorizes one or more CPUs or not.
-
If the list of options of the product you own changes
caution
In the latter case (new list of options), an installation with the new confidential code must be performed.
This confidential code must be used:
-
in the installation JCL if a new installation is required.
-
to update already installed product modules using the PIN management application in batch or interactive mode (see Managing Confidential Codes).
-
warning
:
The supplied software shall only be installed at the site(s) indicated in the annex to the demonstration or supply contract.
Installation of the INFOPAK modules
Files provided for this step
The files required for the product unloading stage are:
-
the files contained in the "Installation/files" folder of the installation hardware, namely:
-
an object module of the installation program (file SYSLIN.bin),
-
a file containing all the modules necessary for the implementation of the product (file INSTALL.bin).
-
-
the product installation JCL provided to you by your Infotel correspondent.
Transfer prior to unloading the product
The file "installation-instructions.txt" contained in the folder Installation/instructions" of the installation package, gives the instructions to follow in order to transfer the two installation files to the host. These files are both of type FB80 and must imperatively be transferred in binary mode.
Libraries used by the installation JCL
The libraries used by the installation JCL are described below. For each DDNAME used by the installation JCL, the nature of the corresponding member and the associated ISPF library are shown.
note
If you install a new version of INFOPAK, save the former CLIST library so that it will not be overridden by the new one.
Input Libraries
{wrapper="1" role="DL"}
-
SYSLIB
ISPF library which contains the module ISPLINK.
This library is used during the generation of the INFOPAK ISPF modules.
If you do not have ISPF installed, create a module named ISPLINK and install it the library pointed by the SYSLIB DD. This will prevent a return code of eight from the linkedit.
During the installation of INFOPAK IMS, this library must point to the IMS library containing the IMS interface (ASMTDLI and CBLTDLI).
-
DB2LIB
This is the DB2 sub-programs library that contains the DB2 TSO interface (LOGON, etc.). DSNELI and DSNHLI are the language interface modules that must be in this library in order for TPAKDB2 to successfully linkedit.
Input Ddnames Used By Each Option:
DDNAME VSAM/MVS DB2 DL1 IDMS DATACOM SYSLIB * * * * *
DB2LIB *
Output Libraries
{wrapper="1" role="DL"}
-
MVSLOAD
Load module library of INFOPAK.
-
MVSLINK
APF authorized load-module library of INFOPAK. To be installed in LINKLIST in production.
-
MVSLPA
APF authorized library of the reentrant load-modules of INFOPAK. To be installed in LINKLIST or in LPA in production.
-
DB2LINK
is the DB2 modules library (DSNxxx.DSNLOAD) or another authorized library (for example DSNxxx.DSNEXIT) concatenated in the STEPLIB when starting DB2. The edit compression exit routine(s) of INFOPAK will be copied into this library. This can be a new data set.
-
DB2DBRM
is the library where the DBRM for TPAKDB2 will be copied. This can be a new data set.
-
IMSRES
is the IMS library where data compression exits will be copied. This library is usually IMS.RESLIB in production.
-
IMSMAC
is the IMS macro library used to assemble DBD's. The macro instruction INFCMP will be copied into this library. This can be a new data set.
-
IDMSSCRC
is the IDMS source library for the INFOPAK IDMS interface.
-
DTCLINK
This is the DATACOM/DB module library or another library concatenated in the STEPLIB when starting DATACOM/DB. The edit compression exit routine for DATACOM will be copied in this library.
-
INFSAMP
Library containing JCL to customize.
Output ISPF Libraries
{wrapper="1" role="DL"}
-
ISPLOAD
INFOPAK ISPF load module library. It must be concatenated in ISPLLIB for either batch or interactive processing.It contains the interactive tools of INFOPAK.
-
ISPCLIST
Library containing the CLISTs to customize and concatenate in SYSPROC:
-
ISPPANEL
ISPF panel and tutorial library to concatenate with ISPPLIB.
-
ISPMSGS
ISPF message library to concatenate with ISPMLIB.
-
ISPSKELS
ISPF SKELETON to concatenate with ISPSLIB.
note
The libraries ISPLOAD, ISPMSGS and ISPPANEL may be concatenated in the LOGON procedure or be allocated by the REXX procedure PAKSTAR and PASSTAR created under the ddname ISPCLIST (see Step 6 - Parmlib Customization).
Output Ddnames Used By Each Option:
DDNAME VSAM/MVS DB2 DL1 IDMS DATACOM MVSLOAD * * * *
MVSLINK *
MVSLPA *
DB2LINK *
DB2DBRM *
IMSRES *
IMSMAC *
IDMSSRC *
DCTLINK *
INFSAMP * * *
ISPLOAD * * * * *
ISPCLIST * * * * *
ISPPANEL * * * * *
ISPMSGS * * * * *
ISPSKELS * *
Table Library
The program managing confidential codes uses an ISPF table to save the list of the Infotel libraries containing load modules. It is necessary to allocate an ISPF table library in the start procedure PAKSTAR and PASSTAR (see Step 8 - Customizing the PAKSTAR Procedureand Step 9 - Customizing the PASSTAR Procedure (PASSTARC)).
This library must be allocated with the ddnames ISPTLIB and ISPTABL. It can be an INFOPAK library or any user library having the following characteristics:
LRECL=80,RECFM=FB,BLKSIZE=3120
Installation Control Table
Use this table to record the names used during installation in order to facilitate this task.
MVSLOAD
MVSLINK
MVSLPA
INFSAMP
DB2DBRM
DB2LINK
IMSMAC
IMSRES
IDMSSRC
DCTLINK
ISPLOAD
ISPCLIST
ISPMSGS
ISPPANEL
ISPSKELS
Library of ISPF tables
PARMLIB Infotel
Reference Cluster (Infopak VSAM and MVS)
Archive Cluster (Infopak VSAM, MVS and DB2)
Unload Procedure
This installation uses only standard IBM utilities such as (LOADER, LINKEDIT). SMP/E is not used. Please make sure that you are not using any non-standard utilities with those names. If you are, please include a STEPLIB DD statement to refer to the library that contains the actual IBM utilities.
Perform the following steps:
-
Create the JCL using the installation sheet as a model. Please verify that the CPU serial numbers on the installation sheet are correct.
-
Insert a JOB card in front of the deck.
-
Complete the installation sheet with the actual library names. If you are using temporary libraries, please ensure that all members are copied to the final libraries when making the permanent installation.
-
Change the name SYSDA (temporary files), if necessary.
-
Submit the job.
-
Check the return code (return code = 0).
-
Apply the PTFs.
If the job has abended there will usually be a self explanatory message in the SYSOUT. If this message indicates that an abnormal return code was issued by a utility program, an explanation will usually be found at the end of the listing (SYSPRINT).
The most common errors are:
-
an erroneous confidential code,
-
a misspelled DDNAME or DSNAME,
-
an insufficient region size (see EXEC card),
-
a SYSLIB DD card pointing to wrong library.
PTF Processing
Installing the PTF Processing Application
Creating the Data Sets
-
When installing the PTF Management Application for the first time the user must create a library that will contain all PTFs of the product.
The characteristics of this partitioned data set are described below:
-
LRECL=80
-
RECFM=FB
-
BLKSIZE unimportant but must be a multiple of LRECL
-
SPACE=(CYL,(1,1,80))
-
The dsname of this library must be entered into the PTFLIB field in the "Infotel PTF Management" panel described below.
-
Each time an installation or a reinstallation is performed, using the installation JCL, the user must create or recreate the application "log" data set for the PTFs. This sequential data set specifies which PTFs are already applied to the current version. It is important to keep this data set thus allowing the application to correctly select the PTFs that are to be applied.
Use the PTFLOG member from the INFSAMP library to create and initialize this data set.
The dsname of this library must be entered into the PTFLOG field of the "Infotel PTF Management" panel described below.
caution
:
This data set must not be recreated when you receive a new version of the PTFs dataset.
Loading the PTF Library
The PTFs are delivered as a sequential dataset.
The PTFLOAD member of the INFSAMP library contains the JCL to load the product's PTFs library from this sequential data set.
The SYSIN data set of this JCL is the sequential PTFs data set described above.
The SYSUT2 data set of this JCL must correspond to the PTF library described in chapter " Creating the Data Sets".
Applying the PTFs
In order to start the PTF Management Application, use the EXEC command to execute the PTF procedure that is to be found in the INFSAMP library.
This application provides information about the PTFs that are already applied, allows the user to select the new PTFs that are to be applied and to generate the JCL that will apply the PTFs. This JCL must be submitted to apply the PTFs.
After the start-up, a configuration panel is displayed:
PTFPAN2 \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- Infotel PTF Management \-\-\-\-\-\-\-\-\-\-\-\-\-\-- Row 1 of 21
Command ===\>
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- JCL Generation Information \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
JobCard ===\> //P390PTF JOB \' \',\'PTF\',MSGCLASS=H,NOTIFY=P390
===\>
===\>
===\>
Work Unit for temp file ===\> SYSALLDA
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- Dataset Name Information \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
Ddname Dsname
PTFLIB ===\> P390.TEST.PTF
PTFLOG ===\> P390.TEST.PTFLOG
MVSLOAD ===\> P390.TEST.LOAD
MVSLINK ===\> P390.TEST.LOAD
MVSLPA ===\> P390.TEST.LOAD
INFSAMP ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
INFPLIB ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
IMSMAC ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
IMSRES ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
IDMSSRC ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
DB2LINK ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
DB2DBRM ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
DTCLINK ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
ISPLOAD ===\> P390.TEST.LOAD
ISPCLIST ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
ISPMSGS ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
ISPPANEL ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
ISPSKELS ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
ISPTBL ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
SAPLINK ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
DMSLINK ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
TRASHMOD ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
TRASHOTH ===\> \...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\...\....
******************************* Bottom of data ********************************
Provide the appropriated values for the fields, then press PF3 to display the next panel.
-
Fill in the JOB card that will be used to generate the JCL.
-
The field "Work Unit for temp file" contains the name of the unit to be used in the generated JCL for the allocation of temporary data sets; the default value is SYSALLDA.
-
For the column "Dsname" of the "Dataset Name Information" part, you must provide the names of product's installation libraries for each ddname:
-
The ddnames PTFLIB and PTFLOG correspond to the library that contains the PTFs and to the sequential application "log" data set of the PTFs. (refer to chapter " Creating the Data Sets").
-
The ddnames TRASHMOD and TRASHOTH correspond to the backup libraries that contain the old version of members which are replaced by the PTF. These libraries have to be created before applying the PTF. TRASHMOD should be defined as PDSE if at least one of the product load-module libraries is defined as a PDSE. TRASHMOD, used for load modules, has to be created with RECFM=U. TRASHOTH, used for other member, has to be created with RECFM=FB,LRECL=80. After applying and validating a set of PTFs, the members from the backup library may be deleted (the library may be delete and recreated as well).
-
The other ddnames correspond to the product's installation JCL.
-
Only the ddnames corresponding to the products and options installed at your site should be specified.
-
The dsnames MUST NOT use quotes (' ').
-
Selecting the PTFs
After saving, the panel to select the PTFs is displayed:
PTFPAN1 \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- LIST OF PTF \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- Row 1 of 3
Command ===\> Scroll ===\> CSR
IMPORTANT
Do NOT select any MAN PTF w-o first calling the technical support center.
PTF are automatically selected, just hit the \'END\' pfkey to generate the JCL.
Line Commands:
S to Select U to Unselect V for Details
Cmd Name Type State Sel Title
. UT152000 AUTO ERROR Y ERROR IN CLAUSE DELETE WHERE
. UT152002 AUTO OK N ERROR CREATING INDEX
. UT152004 MAN N INVALID RETURN CODE
. UT152005 AUTO Y S001 ABEND ON WORK FILE
******************************* Bottom of data ********************************
This panel is used to select the PTFs that are to applied, either individually (line commands) or by group (command field). Only the PTFs that may be applied to the product and to the options that are installed on your site or that are already applied, are displayed.
Press PF3 to obtain the generated JCL.
There are two types of PTFs:the "automatic" that apply to all installations, and the "manuals" that allow or suppress a special function and that are peculiar to one or several sites.
By default, all "automatic" PTFs not yet applied will be selected. The "manual" PTFs must be selected individually.
The status OK is assigned to PTFs that are already applied. These PTFs are not selected automatically.
Be aware:the selection or the deselection of a PTF leads to a selection or a deselection of all PTFs that are related ("PreReq"). This means that the deselection of a PTF being followed by a selection of the same PTF may remove the application of some PTFs.
After having selected the PTFs, the generated JCL is displayed. Just submit this JCL to apply the PTFs.
****** ***************************** Top of Data ******************************
000001 //P390PTF JOB \' \',\'PTF\',MSGCLASS=H,NOTIFY=P390
000005 //* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
000006 //* PTF: UT152000
000007 //* TITLE: ERROR IN CLAUSE DELETE WHERE
000008 //* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
000009 //ERROR EXEC PGM=IEBGENER
000010 //SYSPRINT DD SYSOUT=*
000011 //SYSIN DD DUMMY
000012 //SYSUT2 DD DISP=MOD,DSN=P390.TEST.PTFLOG
000013 //SYSUT1 DD *
000014 UT152000 ERROR
000015 /*
000016 //P152000A EXEC PGM=AMASPZAP
000017 //SYSPRINT DD SYSOUT=*
000018 //SYSLIB DD DISP=SHR,DSN=P390.TEST.LOAD
000019 //SYSIN DD *
000020 NAME INFREORG ABCDEF
000021 VER 001B 0000,0000
000022 REP 001B 0010,0020
000023 CHECKSUM 03214560
000024 /*
000025 //ABEND EXEC PGM=XXXXXXXX,COND=(4,GE,P152000A)
000026 //P152000B EXEC PGM=AMASPZAP
000027 //SYSPRINT DD SYSOUT=*
000028 //SYSLIB DD DISP=SHR,DSN=P390.TEST.LOAD
000029 //SYSIN DD *
000030 NAME AUTREOMN ABCDEF
000031 VER 001B 0000,0000
000032 REP 001B 0010,0020
000033 CHECKSUM 03214560
000034 /*
000035 //ABEND EXEC PGM=XXXXXXXX,COND=(4,GE,P152000B)
000036 //OK EXEC PGM=IEBGENER
000037 //SYSPRINT DD SYSOUT=*
000038 //SYSIN DD DUMMY
000039 //SYSUT2 DD DISP=MOD,DSN=P390.TEST.PTFLOG
000040 //SYSUT1 DD *
000041 UT152000 OK
000042 /*
000043 //* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
000044 //* PTF: UT152005
000045 //* TITLE: S001 ABEND ON WORK FILE
000046 //* \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
000047 //ERROR EXEC PGM=IEBGENER
000048 //SYSPRINT DD SYSOUT=*
000049 //SYSIN DD DUMMY
000050 //SYSUT2 DD DISP=MOD,DSN=P390.TEST.PTFLOG
000051 //SYSUT1 DD *
000052 UT152005 ERROR
000053 /*
000054 //P152005A EXEC PGM=AMASPZAP
000055 //SYSPRINT DD SYSOUT=*
000056 //SYSLIB DD DISP=SHR,DSN=P390.TEST.LOAD
000057 //SYSIN DD *
000058 NAME INFREORG ABCDEF
000059 VER 001B 0000,0000
000060 REP 001B 0010,0020
000061 CHECKSUM 03214560
000062 /*
000063 //ABEND EXEC PGM=XXXXXXXX,COND=(4,GE,P152005A)
000064 //P152005B EXEC PGM=AMASPZAP
000065 //SYSPRINT DD SYSOUT=*
000066 //SYSLIB DD DISP=SHR,DSN=P390.TEST.LOAD
000067 //SYSIN DD *
000068 NAME AUTREOMN ABCDEF
000069 VER 001B 0000,0000
000070 REP 001B 0010,0020
000071 CHECKSUM 03214560
000072 /*
000073 //ABEND EXEC PGM=XXXXXXXX,COND=(4,GE,P152005B)
000074 //OK EXEC PGM=IEBGENER
000075 //SYSPRINT DD SYSOUT=*
000076 //SYSIN DD DUMMY
000077 //SYSUT2 DD DISP=MOD,DSN=P390.TEST.PTFLOG
000078 //SYSUT1 DD *
000079 UT152005 OK
****** **************************** Bottom of Data ****************************
Each PTF starts with an ERROR step informing the LOG data set that the PTF was not correctly applied (in case a problem occurs during its application).
Each step of the PTF (AMASPZAP, IEBUPDTE or IEWL) is followed by an ABEND step being executed in case an error occurs and that leads to a S806 abend that stops the execution of the JCL.
The PTF ends with an OK step informing the LOG data set that the PTF was correctly applied.
Just submit this JCL to apply the PTFs.
If an error occurs during the application of a PTF, the job will stop with an "abend" and no more PTFs will be applied. In this case you must view the output of this job, correct the problem and put the product's elements in the same state as before the abend. Just modify your JCL to restart from this point or generate another JCL to apply PTFs (the PTFs that were already applied will no longer be selected automatically).
Important:
Once all PTFs have been applied, display the PTFLOG data set and search for the instructions "INSTR" that inform you about further steps to do:
Example:
XX100022 OK 2 Jul 2002
XX100022 INSTR You must rebind the plan Infotel
XX100022 INSTR Submit the JCL in BINDPLAN member of INFSAMP library
INFOPAK IMS Modules
Modules unloaded under ddname IMSRES
INFOPAK IMS provides four compression levels. These four compression levels can be used on the same data base.
The four INFOPAK IMS compression modules are:
{wrapper="1" role="DL"}
-
INFCMPPE
The INFCMPPE compression module is used, in addition to IMS, for databases compression. The INFCMPPE module provides optimal compression.
-
INFFPCPE
The INFFPCPE module allows you to compress segments of variable length.
The INFFPCPE module also allows you to implement a user exit.
-
INFCMP00
The INFCMP00 module, like the INFCMPPE module, is used in addition to IMS for databases compression. The CPU consumption of the INFCMP00 module is much lower than the one of the INFCMPPE module, however the compression rate of the INFCMP00 module is still very attractive.
-
INFCMPS0
The INFCMPS0 module also is used in addition to IMS for databases compression. The INFCMPS0 module is a very fast algorithm version to compress segments that contain a high number of repetitive characters.
Modules unloaded under ddname MVSLOAD
{wrapper="1" role="DL"}
-
TESTPAK
The TESTPAK module is the batch module for compression simulation.
The INFOPAK DB2 Modules
Modules unloaded under ddname DB2LINK
In order to be taken into account by DB2, the following modules must be copied into the DB2 exits library:
{wrapper="1" role="DL"}
-
INFDBCPE
The INFDBCPE EDITPROC module provides compression/decompression of DB2 tables.
-
INFFECPE
The INFFECPE EDITPROC module provides compression/decompression of DB2 tables.
The INFFECPE module is able to make the difference between compressed rows and non-compressed rows. Its algorithm is compatible with the algorithm of the INFDBCPE module. The INFFECPE module performs compression on the fly, and in particular the compression of partitioned tables where the total compression is ensured as long as the different partitions are reorganised.
The INFFECPE module is only activated by using the INFOTOOL DB2 product (see documentation GI100).
-
INFDBCX0
The INFDBCX0 EDITPROC module makes compression/decompression of DB2 tables by using a simplified algorithm with small CPU consumption. The use of the INFDBCX0 module is recommended for tables which real compression rate is next to or higher than the one of the INFDBCPE module.
-
INFFECX0
The INFFECX0 EDITPROC module provides compression/decompression of DB2 tables.
The INFFECX0 module is able to make the difference between compressed rows and non-compressed rows. Its algorithm is compatible with the algorithm of the INFDBCX0 module. The INFFECX0 module performs compression on the fly, and in particular the compression of partitioned tables where the total compression is ensured as long as the different partitions are reorganised.
The INFFECX0 module is only activated by using the INFOTOOL DB2 product (see documentation GI100).
Modules unloaded under ddname MVSLOAD
{wrapper="1" role="DL"}
-
TPAKDB2
The TPAKDB2 module is the batch module for compression simulation.
Modules unloaded under ddname ISPLOAD
{wrapper="1" role="DL"}
-
TPAKDPKI
The TPAKDPKI module is the interactive module for compression simulation.
-
PAKISPF
The PAKISPF module is used to start the INFOPAK interactive application.
The INFOPAK DATACOM Modules
Modules unloaded under ddname DTCLINK
{wrapper="1" role="DL"}
-
INFDTCPE
The INFDTCPE load-module performs optimal compression and decompression of DATACOM databases.
The INFOPAK VSAM Modules
Modules unloaded under ddname MVSLPA
The following modules must be copied into SYS1.LPALIB, or into a library that is authorized in LINKLIST (to simplify test operating and to avoid IPL processing).
{wrapper="1" role="DL"}
-
INFIVCP0
The INFIVCP0 module is used in addition to the VSAM access method to perform optimal compression of VSAM KSDS and VSAM ESDS data sets. This module is reentrant and authorized.
-
INFIVRP0
The INFIVRP0 module is the secured version of the INFIVCP0 module. It also provides optimal compression but uses in addition 8 bytes per compressed record to avoid duplicate compression or to mix together compressed and non-compressed records.
-
INFIVCS0
The INFIVCS0 module as the INFIVCP0 and INFIVRP0 modules is used in addition to the VSAM access method to perform optimal compression of VSAM KSDS and VSAM ESDS data sets. This module is reentrant and authorized. The INFIVCS0 module provides lower compression rates than the INFIVCP0 module with a smaller CPU consumption.
-
INFIVRS0
The INFIVRS0 module is the secured version of the INFIVCS0 module. The INFIVRS0 module uses in addition 8 bytes per compressed record to avoid duplicate compression or to mix together compressed and non-compressed records.
-
INFIVCC0
The INFIVCC0 module is used in addition to the VSAM access method to perform compression and enciphering of VSAM KSDS and VSAM ESDS data sets. This module is reentrant, authorized, and is only delivered to sites using INFOPAK VSAM and INFOCRYPT VSAM.
-
INFIVAU0
The INFIVAUT0 module is used in addition to the VSAM access method to audit the use of VSAM KSDS or VSAM ESDS by user applications and to determine those VSAM clusters that must not be compressed. The INFIVAU0 module is reentrant and authorized.
Modules unloaded under ddname MVSLINK
The following modules must be copied into the LINKLIST.
{wrapper="1" role="DL"}
-
INFAMS
The INFAMS module strictly provides the same operating than IDCAMS except that it suspends compression and decompression during execution for all open VSAM clusters that are open in its address space. The INFAMS module is used to save and recover VSAM KSDS or ESDS that are in compressed format. The INFAMS module is not reentrant.
-
INFVSLSP
The INFVSLSP module serves as an anchor point to work areas related to the LSR option. The INFVSLSP module is reusable but not reentrant. This module is authorized and must be in LINKLIST even during tests.
-
INFVSUT1
The INFVSUT1 module is used to:
-
Add to or remove clusters from the list of clusters that are under control.
-
Add to or remove programs from the list of programs that suspend the Infotel OPEN interface.
-
Immediately activate the Infotel OPEN interface after IPL processing.
-
Deactivate the interface.
-
IPKAUTH
The IPKAUTH module is used to call modules that are authorized under ISPF.
The IPKAUTH module is an authorized module and must also be authorized under TSO. (see Step 4 - Authorizing INFOPAK Modules under TSO).
-
IPKCMD0
The IPKCMD0 module is used to do shift work regarding the functions that call TSO.
Modules unloaded under ddname MVSLOAD
{wrapper="1" role="DL"}
-
INFCMRE0
The INFCMRE0 module contains the INFCMR00 entry point.
-
INFVSDCP
The INFVSDCP module is used to decompress and decypher a VSAM cluster outside the Infotel OPEN interface thus allowing you to re-create clusters in comprehensible format even though the interface is deactivated.
-
INFVSQ0
The INFVSQ0 module is used to compress/decompress to cypher/decypher in storage VSAM records of INFOPAK formats.
-
INFVCFL0
The INFVCFL0 module is used to determine if a file is under control of the INFOPAK open interface.
-
TESTVPAK
The TESTVPAK module is the batch module for compression simulation.
Modules unloaded under ddname ISPLOAD
{wrapper="1" role="DL"}
-
INFVSxxx
The INFVSxxx modules are ISPF modules that are used by the INFOPAK Interactive Application.
-
TESTVPKI
The TESTVPKI module is the interactive module for compression simulation. Ce programme est le programme interactif de simulation de la compression.
-
PAKISPF
The PAKISPF module is used to start the INFOPAK interactive application.
INFOPAK MVS Modules
Modules unloaded under ddname MVSLPA
The following module must be copied into SYS1.LPALIB, or into a library that is authorized in LINKLIST (to simplify test operating and to avoid IPL processing).
{wrapper="1" role="DL"}
-
INFIQC00
The INFIQC00 module is used in addition to the QSAM, BSAM and BPAM access methods to perform compression and/or enciphering of sequential or partitioned data sets. This module is reentrant and authorized. The INFIQC00 module corresponds to an optimal and simplified compression of data sets.
Modules unloaded under ddname MVSLINK
The following modules must be copied into the LINKLIST.
{wrapper="1" role="DL"}
-
INFAMS
The INFAMS module strictly provides the same operating than IDCAMS except that it suspends compression and decompression during execution for all open data sets that are open in its address space. The INFAMS module is used to save and recover data sets that are in compressed format. This module is not reentrant.
-
INFVSUT1
The INFVSUT1 module is an authorized module and is used to:
-
Add to or remove clusters from the list of clusters that are under control.
-
Add to or remove programs from the list of programs that suspend the Infotel OPEN interface.
-
Immediately activate the Infotel OPEN interface after IPL processing.
-
Deactivate the interface.
{wrapper="1" role="DL"}
-
IPKAUTH
The IPKAUTH module is used to call the modules that are autorized under ISPF. The IKPAUTH module
-
IPKCMD0
The IPKCMD0 module is used to do shift work regarding the functions that call TSO.
Modules unloaded under ddname MVSLOAD
{wrapper="1" role="DL"}
-
INFCMRE0
The INFCMRE0 module contains the INFCMR00 entry point.
-
INFPCOPY
The INFPCOPY module is a utility allowing you to copy a partitioned data set into another one using the BPAM access method. This module allows you to compress partitioned data sets.
-
INFSORT/INFBSORT
The INFSORT and INFBSORT modules are interface modules that call the standard sort utility. These modules are used to perform sort processings of compressed or non-compressed data sets (these sort processings are transparent and compatible with INFOPAK MVS).
-
INFVSDCP
The INFVSDCP module is used to decompress and decypher a VSAM cluster outside the Infotel OPEN interface thus allowing you to re-create clusters in comprehensible format even though the interface is deactivated.
-
INFVSQ0
The INFVSQ0 module is used to compress/decompress to cypher/decypher in storage VSAM records and blocks of INFOPAK MVS format.
-
INFVCFL0
The INFVCFL0 module is used to determine if a file is under control of the INFOPAK open interface.
-
TESTVPAK
The TESTVPAK module is the batch module for compression simulation.
Modules unloaded under ddname ISPLOAD
{wrapper="1" role="DL"}
-
INFVSxxx
The INFVSxxx modules are ISPF modules that are used by the INFOPAK Interactive Application.
-
TESTVPKI
The TESTVPKI module is the interactive module for compression simulation.
-
PAKISPF
The PAKISPF module is used to start the INFOPAK interactive application.
Step 2 - BIND and GRANT of INFOPAK for DB2
BIND
Before executing TPAKDB2, it is necessary to create a DB2 execution plan. This is achieved by a BIND of the TPAKDB2 and IPKDYN0 members. Those DBRMS were unloaded in the library pointed to by the ddname DB2DBRM and a sample of bind is provided by the library INFSAMP (BINDPAK). The user who creates the execution plan must be authorized to use BINDADD.
note
TESTPAK for DB2 in both interactive and batch version use the same plan named TPAKDB2.
note
The BIND must be executed on each DB2 sub-system where TESTPAK is to be run.
A sample of BIND is as follows:
DSN SYSTEM (DB2-sub-system-name)
BIND PLAN(TPAKDB2)
MEMBER (TPAKDB2,IPKDYN0)
LIBRARY (DBRM-library-name)
ISOLATION (CS)
END
GRANT
Once bound, you must authorized the plan TPAKDB2 to all user of TESTPAK for DB2:
The following command may be used.
GRANT EXECUTE ON PLAN tpakdb2 TO user1 (, user2 ...)
or
GRANT EXECUTE ON PLAN tpakdb2 TO PUBLIC
The users of TESTPAK for DB2 must have SELECT authority on the following DB2 catalog tables:
-
SYSIBM.SYSTABLES
-
SYSIBM.SYSTABLESPACE
Step 3 - Define the Reference Cluster and Install the IPL Procedure
Define the Reference Cluster
This REFERENCE CLUSTER contains the names of the files that are compressed or are to be compressed and the names of the programs that will not use the compression system. The SYSTEM MUST be able to locate the REFERENCE CLUSTER thru the VSAM Master Catalog. JOBCAT and STEPCAT cards should not be used.
A single reference cluster MUST BE USED for INFOPAK VSAM and MVS if both functions are in production or both functions are in test and both products were installed from the same INFOPAK version with the same confidential code. If one function is in production and one function is in test then use a different reference cluster for test and production.
The reference cluster must be in the master catalog or pointed to by the master catalog or within the first catalog dataset of any jobcat or stepcat card.
//jobname JOB.............
//stepname EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEF CLUSTER -
( -
NAME(reference-cluster-name) -
INDEXED -
VOL (Volume-name) -
CYL(...,...) -
KEYS (44,0) -
SHR (3,3) -
) -
DATA ( -
NAME(data-component-name) -
RECORDSIZE (62,1200) -
) -
INDEX ( -
NAME(index-component-name) -
)
/*
//* ADD ENTRIES TO THE REFERENCE CLUSTER
//addentry EXEC PGM=INFVSUT1
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=Reference-cluster-name,DISP=OLD
//SYSIN DD *
A <ARCCTL XX
A <ADRDSSU XX
A <ADFMI002 XX
A <GVRESTOR EX
/*
//
Important note: In this JCL, the second step (addentry) not only adds entries into the reference cluster, but also activates the INFOPAK Interface to OPEN. If you don't want to activate this interface, do not execute this second step or include a third step with PARM=CANCEL stop the interface just after activation. See Below:
//jobname JOB.............
//* STOP the INFOPAK INTERFACE
//addentry EXEC PGM=INFVSUT1,parm=cancel
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=Reference-cluster-name,DISP=OLD
//
The entries in the second step should always be added to the reference cluster. If not now, then as soon as possible. These programs should not be used with INFOPAK active unless they are on the reference cluster.
Installing the IPL Procedure
Code a procedure to execute the INFVSUT1 utility program immediately after IPL and include a start command in SYS1.PARMLIB. This procedure must be executed without SYSIN. It activates compression and loads the reference cluster in CSA or ECSA and SQA, only runs for seconds.
//* START the INFOPAK INTERFACE
//STARTUP EXEC PGM=INFVSUT1
//PRINT DD SYSOUT=*
//SYSUT1 DD DSN=Reference-cluster-name,DISP=OLD
//
In production, this task is mandatory to insure that all compression modules are loaded before any OPEN on a compressed file occurs (for example before CICS).
However, in test mode, the interface may be activated without IPL.
At any given time only two versions of INFOPAK MVS and VSAM may be in use on a CPU. If you want to start INFOPAK VSAM and INFOPAK MVS separately, you can start one with no parm and the other with PARM=DDN2 using two different reference clusters. This is also true if you wish to start a production version of INFOPAK with a test version of INFOPAK.
Steps 4 to 8 - Customizing the INFOPAK Interactive Application
Before executing the interactive tools of TESTPAK, execute the following steps:
{wrapper="1" role="DL"}
-
Step 5
Create the archive cluster
-
Step 6
Customize the member INFOPAK in PARMLIB
-
Step 7
Tell Infotel programs the PARMLIB dsname
-
Step 8
Customize the REXX procedure PAKSTAR or the CLIST PAKSTARC
Before executing the interactive tools of INFOPAK VSAM/MVS, execute the following steps:
{wrapper="1" role="DL"}
-
Step 4
Authorize INFOPAK modules under TSO
-
Step 6
Customize the member INFOPAK in PARMLIB
-
Step 7
Tell Infotel programs the PARMLIB dsname
-
Step 8
Customize the REXX procedure PAKSTAR or the CLIST PAKSTARC
Step 4 - Authorizing INFOPAK Modules under TSO
The module IPKAUTH must be authorized to TSO for running the interactive version of INFVSUT1. It can be accomplished as follows:
-
Update the active member IKJTSOnn in SYS1.PARMLIB adding the name IPKAUTH:
a. to the list of authorized programs (AUTHPGM NAMES),
b. to the list of authorized programs via TSO call (AUTHTSF NAMES).
same definition as the IEBCOPY program.
The authorization is immediate with the ESA TSO command PARMLIB or after the next IPL.
The syntax of the PARMLIB command is as following:
PARMLIB UPDATE(nn)where nn is the value that was specified for IKJTSOnn.
or:
-
Update the member IKJEFTE8 of the SYS1.LINKLIB library adding the name IPKAUTH where the IEBCOPY is found.
The authorization is effective at the next IPL.
note
If you are using ACF2, then authorize IPKAUTH and IPKCMD0 as TSO command processors with ACF2.
Step 5 - Create the ARCHIVE Cluster
To archive TESTPAK compression results for VSAM/MVS and DB2, it is necessary to create an KSDS and specify its name in Infotel PARMLIB. This cluster contains one entry for each tested file.
The sample called DEFARC creates the archive cluster.
//**************************************************
//* Define archive cluster *
//**************************************************
//*
//jobname JOB \...\...\...\...\...\...\...\...\.....
//stepname EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEF CLUSTER
( -
NAME (cluster_name) -
SPEED -
VOL (volume-name) -
CYL (\...,\...) -
KEYS (65,0) -
) -
DATA ( -
NAME (date-component-name) -
RECORDSIZE (65,300) -
) -
INDEX ( -
NAME (index-component-name) -
)
/*
note
The cluster is not mandatory for the execution of TESTPAK VSAM/MVS and DB2. Statistics are not kept when this cluster is not defined.
Step 6 - Parmlib Customization
The Infotel Parmlib is a common library of all the products of Infotel. It contains the definition of the environment in which each product is executed.
INFOPAK VSAM/MVS and TESTPAK interactive require a member in PARMLIB. Create a member called INFOPAK in PARMLIB. This member is mandatory even if it is empty.
{wrapper="1" role="DL"}
For TESTPAK :
The member can contain:
{wrapper="1" role="DL"}
-
TPAKARC
Name of the ARCHIVE Compression Statistics dataset. (optional).
For INFOPAK VSAM/MVS :
The member can contain:
{wrapper="1" role="DL"}
-
REFPROD
Production reference cluster .
-
STEPPROD
Library which contains the authorized production load modules. Generally, the production load modules are in LINKLIST or LPA. This field is optional.
-
REFTEST
Test reference cluster.
-
STEPTEST
Library which contains the authorized test load modules. This parameter is required if test reference cluster specified.
-
ADMIN
TSO users authorized to activate and deactivate the interface. The syntax is like ADMIN=(ADMIN1,ADMIN2,...). Generally, they are called ADMINISTRATOR.
-
USER
TSO users authorized to update the reference cluster. The syntax is like USER=(USER1,USER2,...). Generally, they are called INFOPAK USER.
-
TEMPUNIT
Unit used for allocation of temporary files. This parameter is optional (default SYSALLDA).
note
It's mandatory to specify at least one reference cluster.
A sample of this member exists in the INFSAMP library with the name INFOPAK.
This sample is as follows:
****************************************************************
************ MEMBER INFOPAK OF THE Infotel PARMLIB *************
****************************************************************
*
*
* PARAMETERS OF TESTPAK INTERACTIVE:
*
* TPAKARC :DSNAME OF ARCHIVE FILE
TPAKARC = ????????????????????????????????????????????
*
* PARAMETERS OF INFOPAK INTERACTIVE:
*
* REFPROD :NAME OF THE REFERENCE CLUSTER OF PRODUCTION
REFPROD = ????????????????????????????????????????????
*
* STEPPROD:LIBRARY WHICH CONTAINS AUTHORIZED PRODUCTION MODULES
STEPPROD = ????????????????????????????????????????????
*
* REFTEST :NAME OF THE REFERENCE CLUSTER OF TEST
REFTEST = ????????????????????????????????????????????
*
* STEPTEST:LIBRARY WHICH CONTAINS AUTHORIZED TEST MODULES
STEPTEST = ????????????????????????????????????????????
*
* ADMIN :TSO USERS WHICH HAVE ADMINISTRATOR AUTHORITY
ADMIN = (???????,???????,???????,????????)
*
* USER :TSO USERS WHICH HAVE USER AUTHORITY
USER = (???????,???????,???????,????????)
*
* TEMPUNIT:ALLOCATION UNIT FOR TEMPORARIES FILES
TEMPUNIT = ????????
*
****************************************************************
**************************** END *******************************
****************************************************************
Step 7 - Identifying the Parmlib
The interactive INFOPAK modules use the Infotel parmlib created in the previous chapter. There are two ways to allow these modules to locate the parmlib:
-
allocate the Infotel PARMLIB to the ddname INFPLIB in the start procedure of INFOPAK interactive (member PAKSTAR or PAKSTARC of the library ISPCLIST).
-
Modify and run member INFPLIB from the INFSAMP dataset created by the installation JCL:
{wrapper="1" role="DL"}
For INFOPAK VSAM/MVS :
The following modules must be updated:
{wrapper="1" role="DL"}
-
TESTVPKI
-
INFVS000
-
INFVS500
For INFOPAK DB2 :
The following module must be update:
{wrapper="1" role="DL"}
- TESTDPKI
The member INFPLIB is as follows:
//INFPLIB JOB \...\...\...
// EXEC PGM=INFPLIB0
//STEPLIB DD DISP=SHR,DSNAME=??????.????????.???????? MVSLOAD
//SYSPRINT DD SYSOUT=*
//SYSUT2 DD UNIT=?,SPACE=(3120,910,10))
//SYSUT1 DD UNIT=?,SPACE=(3120,910,10))
//SYSLMOD DD DISP=SHR,DSNAME=??????.????????.???????? ISPLOAD
//SYSIN DD *
PL ????????.????????.???????? DSNAME OF INFOPAK PARMLIB
MN TESTVPKI FOR INFOPAK VSAM/MVS
MN INFVS000 FOR INFOPAK VSAM/MVS
MN INFVS500 FOR INFOPAK VSAM/MVS
MN TESTDPKI FOR INFOPAK DB2
//
Step 8 - Customizing the PAKSTAR Procedure
The PAKSTAR and PAKSTARC members were placed in the INFSAMP library by the installation JCL.
The REXX procedure PAKSTAR starts the interactive INFOPAK.
PAKSTARC is the CLIST version of PAKSTAR.
Library allocation
There are two ways to allocate the libraries for INFOPAK interactive:
{wrapper="1" role="DL"}
- In the REXX or CLIST procedure
Replace in the REXX procedure PAKSTAR (or CLIST PAKSTARC) the ???? fields by the library names. In this case, the allocation of the libraries is done when starting the INFOPAK application.
{wrapper="1" role="DL"}
- In the LOGON procedure
The modules which are in the ISPLOAD library named in the installation JCL, must also be in one of the concatenated libraries of the ISPLLIB card, the STEPLIB card of the LOGON procedure, or must be in LINKLIST.
The other libraries allocated under the ddnames ISPxxx, in the installation JCL, may be concatenated with corresponding libraries in the LOGON procedure.
The LIBDEF in the ISPF libraries and the corresponding FREE must be commented out or suppressed in the procedure PAKSTAR (or PAKSTARC).
note
The ISPTLIB and ISPTABL ddnames in the PAKSTARC and the PAKSTAR members refer to the same dataset. This dataset is a ISPF TABLE LIBRARY(BLKSIZE=3120 LRECL=80 RECFM=FB) and must be created.
Starting INFOPAK interactive
The member PAKSTAR (or PAKSTARC) contains the procedure which starts the interactive version of INFOPAK. It must be in a library concatenated under the ddname SYSPROC or SYSEXEC of the LOGON procedure.
Entering TSO PAKSTAR (or TSO PAKSTARC) in the command line of an ISPF panel, the INFOPAK panel is displayed. Pressing ENTER, the primary menu of INFOPAK is displayed.
INFOPAK interactive can be added to an existing menu specifying the procedure PAKSTAR (or PAKSTARC) in a CMD command.
note
See Manual HP101, HP102 or HP105 for more information about the use of TESTPAK.
Step 9 - Customizing the PASSTAR Procedure (PASSTARC)
This step is not necessary for testing the INFOPAK product. The initial installation and testing of INFOPAK will not normally use this function, however, you may complete this section if you wish.
The REXX procedure PASSTAR invokes the interactive confidential code application.
PASSTARC is the CLIST version of PASSTAR.
Library Allocation
There are two ways to allocate the libraries for the confidential code application:
{wrapper="1" role="DL"}
- In the REXX or CLIST procedure
Replace in the REXX procedure PASSTAR (or CLIST PASSTARC) the ???? fields by the library names. In this case, the allocation of the libraries is done when starting the INFOPAK application.
{wrapper="1" role="DL"}
- In the LOGON procedure
The modules which are in the ISPLOAD library named in the installation JCL, must also be in one of the concatenated libraries of the ISPLLIB card, the STEPLIB card of the LOGON procedure, or must be in LINKLIST.
The other libraries allocated under the ddnames ISPxxx, in the installation JCL, may be either concatenated with corresponding libraries in the LOGON procedure.
The LIBDEF of the ISPF libraries and the corresponding FREE must be put in comment or suppressed of the procedure PASSTAR (or PASSTARC).
Starting the Interactive Confidential Code Application
The member PASSTAR (or PASSTARC) contains the procedure which starts the interactive version of the confidential code. It must be moved in the library concatenated under the ddname SYSPROC or SYSEXEC of the LOGON procedure.
Entering TSO PASSTAR (or TSO PASSTARC) in the command line of an ISPF panel, the confidential code menu is displayed.
Managing Confidential Codes
Some modules of Infotel products are protected by a confidential code. This confidential code describes:
-
the type of product
-
the options of the product
-
the validity date of the code
-
the CPU(s) on which the product will be run
When the validity date or the CPU numbers of a version must be modified (examples: change from a test version to a licensed version, annual code renewal), your INFOTEL correspondent sends you a new confidential code. The implementation of this code can be done in BATCH by the program ILGMJCDB or under ISPF. It is of course also possible to reinstall the product using the new JCL and the installation material provided by INFOTEL.
Managing Confidential Codes under ISPF
There are two ways to access to the confidential code application:
-
Using the option P in the primary MENU of the product, if this option is available.
-
Using the TSO command PASSTAR or PASSTARC, if the Infotel product does not contain interactive application or if its primary MENU does not contain the specific option P.
Primary Menu
The following panel is displayed:
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- Infotel: CONFIDENTIAL CODE \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
Select one of the following options:
0 SELECT Infotel LIBRARIES
1 UPDATE CONFIDENTIAL CODES
T TUTORIAL
X FIN
Press END or RETURN to quit
Please define the libraries that contain the load modules of Infotel product, first.
Selecting Infotel Libraries (Option 0)
The following panel is displayed:
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- SELECT Infotel LIBRARIES \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\> SCROLL ===\> CSR
List of the Infotel load module libraries:
(A volume may be entered for uncatalogued libraries)
( I to add lines, D to delete lines)
S LIBRARY NAME VOLUME
. Infotel.ISPLLIB
. INFO0.TEST.MVSLOAD HSMX13
**********************************************************************
This panel allows you to add, suppress, and/or modify lines in the list of libraries that contain Infotel load modules.
The VOLUME field has to be entered only for non cataloged data sets.
No validity check is performed on this panel, another panel will list the allocation errors when accessing the libraries.
The command CAN allows cancellation of all modifications.
Updating The Confidential Code (Option 1)
The next panel is displayed:
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- UPDATE CONFIDENTIAL CODE \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\>
CONFIDENTIAL CODE ===\> 660C18,DBACBA,6EED80,4DB987
CPU NUMBER TO BE CONTROLLED:
(format: XXXXSSSSMMMM SSSS: serial number , MMMM: model)
( \'*\' to control your own CPU)
CPU 1 ===\> * CPU 2 ===\> CPU 3 ===\>
CPU 4 ===\> CPU 5 ===\> CPU 6 ===\>
CPU 7 ===\> CPU 8 ===\> CPU 9 ===\>
CPU 10 ===\> CPU 11 ===\>
The meaning of the different fields is as follows:
Description of Input Fields
{wrapper="1" role="DL"}
-
Confidential code
This field is the new confidential code to be used for the update.
-
CPU
It is possible to enter up to 11 CPU numbers in the confidential code. The value '*' tests the validity of the confidential code on the current CPU.
Allocation Error
If allocation errors occur, the next screen is displayed:
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- UPDATE CONFIDENTIAL CODE \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\> SCROLL ===\> CRS
PRESS ENTER TO CONTINUE, PF3 TO CANCEL
ERROR DURING ALLOCATION OF THE FOLLOWING LIBRARIES:
LIBRARY NAME VOLUME
INFO0.TEST.MVSLOAD HSMX13
***********************************************************************
By pressing ENTER, the search for modules continues in libraries that are correctly allocated. By pressing PF3, the search is canceled and the preceding screen is displayed.
List of Protected Modules
The list of modules containing the new confidential code is displayed on the following screen:
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-- UPDATE CONFIDENTIAL CODE \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\--
COMMAND ===\> SCROLL ===\> CSR
( S ALL!COMP!PART!INV for global modification)
List of Infotel protected modules:
( S to update a module)
S MODULE STAT LIBRARY VOLUME RESULT
. INFVCFL0 COMP Infotel.ISPLLIB UPDATED
. INFCMPS1 PART Infotel.ISPLLIB LEN. ERROR
. INFCMPS2 INV Infotel.ISPLLIB
*********************************************************************************
The meaning of the different fields is as follows:
{wrapper="1" role="DL"}
-
S
Selection field to update a module by entering S value.
-
Module
Name of an Infotel module accepting the new confidential code.
-
Stat
Compatibility of the module with the confidential code. It can be compatible (COMP) if options are equal, partially compatible (PART) if options are not the same, or invalid (INV) if the module contains a code non identifiable by the Infotel system.
-
Library
Name of the library that contains the module.
-
Volume
Volume name if the library is not cataloged.
-
Result
Result of the update. Possible values are:
-
UPDATED when the module has been updated
-
LEN.ERROR when the module cannot be updated because the new confidential code is too long. In this case, it is necessary to reinstall the product. The number of supported CPUs in a confidential code cannot be changed without reinstallation, in general.
-
NOT UPDATED when the module cannot be updated (for example if the module is RACF protected).
The following commands may be used for a global modification:
{wrapper="1" role="DL"}
-
S ALL
Update all the modules.
-
S COMP
Update all the compatible modules.
-
S PART
Update all the compatible modules and all the partially compatible modules.
-
S INV
Update all the invalid modules.
Managing Confidential Codes in BATCH mode
ILGMJCDB is a batch user program. It searches a list of user libraries for the Infotel protected modules for a specific Infotel product. It will update the confidential code in these load modules and present in a report the list of the protected modules, the status of the modules (compatibility) and/or the result of the update.
The installation process has placed the module ILGMJCDB in the MVSLOAD library.
Using ILGMJCDB
The program ILGMJCDB can be executed with the following JCL - an example is provided in the sample library (TSTCOD):
//jobname JOB \...\...\...\...\....
//stepname EXEC PGM=ILGMJCDB,PARM=\'action-code\[,confidential-code|ddd\[,expiration_rc\]\]\'
//STEPLIB DD DSN=library-which-contains-ILGMJCDB
//PRINT DD SYSOUT=*
//INFLIBxx DD DISP=SHR,DSN=library-name
//\...\...\...\...\...\...\...\...\...\...\...\...\...\...\.....
//INFLIBxx DD DISP=SHR,DSN=library-name
//SYSIN DD *
MOD module library
\...\...\...\...\...\....
CPU cpu-number
/*
Call Parameters
The confidential-code parameter of the Infotel JCL that you have received.
The confidential-code parameter corresponds to the confidential code specified on the Infotel JCL that you have received.
The action-code parameter can have the following values:
{wrapper="1" role="DL"}
-
V
To test the validity of a confidential code (syntax error) or to test it against a list of CPU serial numbers. A message is displayed in SYSOUT (invalid or valid confidential code) and the return code is set to 0 if the code is valid, or to 8 if not.
-
L
Tests the validity of a confidential code. Then searches for modules which correspond to the product that may accept this code. The list of modules is displayed in SYSOUT.
-
U
Performs the same functions as L and updates the confidential code in all fully compatible modules. A module is fully compatible when it contains the same options as those defined in the installation JCL. A non-zero returncode indicates that no update was performed.
A summary report is printed in SYSOUT.
-
P
Performs the same functions as U, the only difference being that the code is updated even if it is only partially compatible. A module is partially compatible when the confidential code of the installation JCL contains fewer options than the load module. The return-code from this option must be zero to indicate the change was done.
A report is printed in SYSOUT.
-
T[,ddd[,expiration_rc]]
The program verifies that a module (specified by the MOD card in the SYSIN) is allowed to be executed on a specific CPU (specified by the CPU card in the SYSIN).
The program can also verify whether the confidential code will expire in the near future.
ddd
Specifies a number of days. The valid values are positive integer. If the confidential code is not to expire within the next ddd days, a zero return code is issued. Otherwise, a return code 1 is issued unless the expiration_rc optional parameter was specified.
expiration_rc
Indicates the return code, from 1 up to 4095, to issue when the confidential code is to expire within the next ddd days.
Running ILGMJCDB with the T value in the PARM option of the EXEC card at IPL time on a regular base helps you be aware a confidential code upgrade is either required or to be considered by tracking non-zero return codes from this program. If the confidential code is about to expire and not valid for the CPU, the completion code is 4 unless value greater than 4 has been specified for expiration_rc.
example
Check the validity regarding the CPU only :
With the following JCL, you can check if the load module INFOMOD can be run on a CPU which serial number ends with 12342817.
//CPUONLY EXEC PGM=ILGMJCBD,PARM=\'T\'
//STEPLIB DD DSN=library-which-contains-ILGMJCBD
//PRINT DD SYSOUT=*
//INFLIB00 DD DISP=SHR,DSN= MY.Infotel.LIBRARY
//SYSIN DD *
MOD INFOMOD MY.Infotel.LIBRARY
CPU XXXX12342817
/*
example
Check the validity regarding the CPU and that no expiration is going to happen soon :
With the following JCL, you can check if the load module INFOMOD can be run on a CPU for at least the next two weeks (14 days)
//CPUTIME EXEC PGM=ILGMJCBD,PARM=\'T,14\'
//STEPLIB DD DSN=library-which-contains-ILGMJCBD
//PRINT DD SYSOUT=*
//INFLIB00 DD DISP=SHR,DSN= MY.Infotel.LIBRARY
//SYSIN DD *
MOD INFOMOD MY.Infotel.LIBRARY
CPU XXXX12342817
/*
If the confidential code in INFOMOD expires in less than 14 days, the step CPUNTIME ends with completion code 1. If INFOMOD cannot be run because its confidential code is not valid for the current CPU, the step ends with the completion code 4.
DDNAMEs Used
{wrapper="1" role="DL"}
-
SYSPRINT
Result data set. Receives execution messages of ILGMJC.
-
INFLIBxx
Library that contains load modules to be modified. The two characters xx may be any characters authorized in a ddname.
Each library has to be allocated under its own ddname (no concatenation).
-
SYSIN
Optional. Can contain MOD and/or CPU control cards. If the SYSIN is omitted, or does not contain MOD card, the processing will scan all the modules containing a confidential code in all INFLIBxx libraries.
The format of SYSIN cards is as follows:
MOD module library volume
CPU cpu-number
{wrapper="1" role="DL"}
MOD :
Control card describing a module to be updated. A MOD card is necessary for each module to be modified. Nevertheless, if one desires to modify all the modules that are compatible with the new confidential code in all INFLIBXX libraries, do not code MOD card in SYSIN.
{wrapper="1" role="DL"}
-
module
Name of the module to be updated.
-
library
Library containing the Infotel modules.
-
volume
Volume of the library if it is not cataloged.
-
CPU
Control cards describing a CPU serial number that has to be tested against the confidential code.
-
cpu number
A CPU number on 12 hexadecimal characters without comma. The value '*' allows you to test the validity of the code on the current CPU.
Example 1:
//jobname JOB \...\...\...\...\....
//STEP1 EXEC PGM=ILGMJCDB,PARM=\'U,120C18,025804,77ED80,4DB987\'
//STEPLIB DD DSN=Infotel.MVSLOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//INFLIB0 DD DSN=Infotel.ISPLLIB,DISP=SHR
//INFLIB1 DD DSN=INFO0.TEST.MVSLOAD,DISP=SHR,VOL=SER=HSMX13,
// UNIT=3380
//SYSIN DD *
MOD INFVCFL0 Infotel.ISPLLIB
MOD INFPCOPY INFO0.TEST.MVSLOAD HSMX13
CPU *
/*
In this example, ILGMJCDB updates the confidential code in the module INFVCFL0 that is found in the library Infotel.ISPLLIB, and in module INFPCOPY in the non cataloged library INFO0.TEST.MVSLOAD. The module is updated only if the new code is fully compatible with the old one, and if the new confidential code is valid on the current CPU.
note
Use of the MOD card restricts the update to specified modules of your Infotel product. The MOD card function should only be used after consulting with Infotel Technical Support.
Example 2:
//jobname JOB \...\...\...\...\....
//STEP1 EXEC PGM=ILGMJCDB,PARM=\'T\'
//STEPLIB DD DSN=Infotel.MVSLOAD,DISP=SHR
//SYSPRINT DD SYSOUT=*
//INFLIB0 DD DSN=Infotel.MVSLPA,DISP=SHR
//SYSIN DD *
MOD INFVCP0 Infotel.MVSLPA
CPU XXXX03149021
/*
In Example 2, ILGMJCDB checks the module INFIVCP0 in library Infotel.MVSLPA for a CPU with serial 0314, last four digits, and model 9021. A RETURN code of zero indicates INFIVCP0 will run on this CPU and a RETURN code of 4 indicates that INFIVCP0 will ABEND with a 4040 if executed on the 9021 with serial number 0314.
Results of ILGMJCDB
ILGMJCDB produces a report showing the result of the update (ddname SYSPRINT).
A sample report is reproduced below:
*****************************************************************************************************************
* Infotel LE 01/06/93 A 10:15 PAGE:1 *
* CONFIDENTIAL CODE REPORT *
*****************************************************************************************************************
* CONFIDENTIAL CODE:120C18,025804,77ED80,4DB987 *
*****************************************************************************************************************
* MODULE * LIBRARY * VOLUME * STATUS *
*****************************************************************************************************************
* * * * *
* INFVCFL0 * Infotel.ISPLLIB * * UPDATED *
* INFPCOPY * INFO0.TEST.MVSLOAD * HSMX13 * NOT UPDATED, THE CODE IS TOO LONG *
The second module is not updated because the new code is too long. In this case to update the modules, a new installation of the product is necessary.
************************************************************************************************************************************
* Infotel 07/11/14 13 : 09 PAGE : 1 *
************************************************************************************************************************************
* CONFIDENTIAL CODE REPORT *
************************************************************************************************************************************
* CONFIDENTIAL CODE : *
************************************************************************************************************************************
* MODULE * LIBRARY * VOLUME * STATUS *
* * * * *
* ADMICHAP * Infotel.MVSLOAD * * WILL EXPIRE ON 08/31/2014 ( IN 51 DAYS ) *
* ILGMJCDB * Infotel.MVSLOAD * * *
* MSTULOAD * Infotel.MVSLOAD * * ERROR CODE : CHECK THE AVAILABLE OPTIONS *
* AUTUTILR * Infotel.MVSLINK * * WILL EXPIRE ON 12/31/2015
Updating the Confidential Codes in Batch Mode
Use the sample (member TSTCOD) that is provided in the product's INFSAMP library. The following values must be inserted into the TSTCOD member:
-
Specify as STEPLIB the library that contains the ILGMJCDB module (MVSLOAD library of the installation JCL).
-
Specify in the DDNAMEs INFLIBxx (one ddname per library: INFLIB00, INFLIB01, ....) all libraries that contain load-modules of our products (perhaps the linklist).
-
Do not specify a SYSIN (SYSIN DD DUMMY): this way the "Confidential Code Management" utility will modify all load-modules that must be updated.
-
Submit a first job by specifying PARM='L,confidential code', thus allowing the utility to check if the confidential code is compatible with your installation. The output will be a listing that contains a list of modules with a status. If no error occurred, the execution result displays the status: CODE IS COMPATIBLE
-
If such is the case, submit a second job by specifying PARM='U,confidential code' thus allowing the update for all load-modules. Otherwise, please forward the execution output report for analysis to the Infotel Technical Support Center.
Validity of a confidential code
Validity criteria
The confidential code validity is based on:
-
a list of product options
-
a validity date
-
an optional list of authorized CPU's
The list of product options depends on the license you own and determines the features you are allowed to use.
The validity date is the date until which the product can be used. The validity date is set by INFOTEL and depends on the type of contract or intended use the confidential code is provided for.
The list of authorized CPUs is the list of CPUs the product can be run on. This optional list of CPUs systematically applies for a licensed version.
A new confidential code is required in the following cases:
-
During a "Disaster Recovery" type test on a backup site.
-
When it is necessary to modify the list of authorized CPUs.
-
When the validity date of the confidential code is reached, whether the code explicitly authorizes one or more CPUs or not.
-
If the list of options of the product you own changes
caution
In the latter case (new list of options), an installation with the new confidential code must be performed.
CPU checking
The CPU authorization check-up is based on the 8 final characters of the CPU identifier, that is 4 final characters of the CPU SERIAL NUMBER, followed by the machine model (example 11119673).
This number can be displayed by the command D M=CPU that produces an output as in the example below:
RESPONSE=P390
IEE174I 17.51.24 DISPLAY M 919
PROCESSOR STATUS
\>\>\> ID CPU SERIAL
0 + 010CA17060
CPC ND = 007060.P30.IBM.51.000000010CA1
CPC SI = 7060.P30.IBM.51.0000000000010CA1
CPC ID = 00
The last 8 characters of the SERIAL column (see the line starting with >>>) are used to check the authorization. In the example above, the corresponding code is 0CAI7060.