z/OS ISPF User's Guide Vol I
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Allocating required ISPF libraries

z/OS ISPF User's Guide Vol I
SC19-3627-00

The libraries described in Table 1 are partitioned data sets required for operation of ISPF in the MVS/TSO environment:

Table 1. Required Partitioned Data Sets
DDNAME Description RECFM LRECL BLKSIZE
ISPPLIB Panel Library FB 80 3120
ISPMLIB Message Library FB 80 3120
ISPSLIB Skeleton Library FB 80 3120
ISPTLIB Table Input Library FB 80 3120
ISPPROF User Profile Library FB 80 (see note)
SYSPROC Command Procedures Lib FB 80 3120
Note: The block size must be a multiple of 80. You can specify BLKSIZE=0 to use a system determined block size.

The panel, message, skeleton, and table input libraries are distributed with ISPF. As distributed, the libraries have the characteristics listed. These libraries can be reblocked by the installation to a larger block size. In addition, the panel, message, and skeleton libraries can be copied into a variable record format. The maximum length records supported are 160 for panels, 80 for messages, and 255 for skeletons. If data sets having unequal record lengths are to be concatenated, the record format must be variable. If you have preprocessed any panels in the panel library, they must be reprocessed using the ISPPREP utility after changing the panel library's record size or record format. Preprocessed panels will not function correctly if copied directly to a data set with a different record size or format.

Table 2 contains the LRECL limits which are enforced during ISPF initialization:

Table 2. LRECL Limits during ISPF Initialization
DDNAME Description RECFM Minimum LRECL Maximum LRECL
ISPPLIB Panel Library FB VB 80 84 160 164
ISPMLIB Message Library FB VB 80 84 80 84
ISPSLIB Skeleton Library FB VB 80 84 255 259

The VB libraries require the LRECL to contain 4 extra bytes for the record descriptor word.

Note: Use of the BUFNO parameter on allocation of ISPF libraries is not supported.

Problems can occur when using file tailoring services together with other services (EDIT, COPY, ...) that result in modifying the data set members in the ISPSLIB concatenation. ISPSLIB is the input skeleton library, and it is assumed to be a static library. FTINCL obtains existing DCB/DEB information based on the last OPEN done against ISPSLIB by ISPF.

It is recommended that applications that use file tailoring and that also modify members of ISPSLIB use the LIBDEF service for ISPSLIB to point to the application's skeleton library. Additionally, the application should check for any changes to the data set information (DCB/DEB) before invoking file tailoring services. If there has been a change, then the application should issue a NULL LIBDEF for ISPSLIB and then re-issue the original LIBDEF for ISPSLIB. This forces the ISPSLIB library to close and then re-open.

ISPF assumes that ISPSLIB is a static library. When you make allocations, consider limiting the possibility of extents by allocating the skeleton with the largest optimal block size.

There is a separate profile library for each end user. Its contents are dynamically generated and updated while ISPF is running. There is also a unique profile library for each national language version.

The recommended data set names for these libraries are shown here. Check with your ISPF system administrator to determine if these are the actual data set names used at your installation.

DDNAME
DSNAME
ISPPLIB
ISP.SISPPxxx
ISPMLIB
ISP.SISPMxxx
ISPSLIB
ISP.SISPSxxx ISP.SISPSLIB
ISPTLIB
ISP.SISPTxxx
ISPPROF
User-selected. Unique for each national language used.
SYSPROC
ISP.SISPEXEC ISP.SISPCLIB

xxx is a placeholder that represents the specific language you are using:

xxx
Language
ENU
US English
DES
Swiss German
DEU
German
JPN
Japanese
ENP
Uppercase English.
You should concatenate application libraries for panels, messages, skeletons, and tables ahead of the corresponding ISPF libraries using the ddnames shown. The application libraries must have the same data set characteristics as the required libraries, as described. For example, assume that application XYZ uses these partitioned data sets for panels, messages, skeletons, and tables:
XYZ.PANELS
XYZ.MSGS
XYZ.SKELS
XYZ.TABLES
You would issue these allocations:
//ISPPLIB  DD DSN=XYZ.PANELS,DISP=SHR
//         DD DSN=ISP.SISPPxxx,DISP=SHR

//ISPMLIB  DD DSN=XYZ.MSGS,DISP=SHR
//         DD DSN=ISP.SISPMxxx,DISP=SHR

//ISPSLIB  DD DSN=XYZ.SKELS,DISP=SHR
//         DD DSN=ISP.SISPSxxx,DISP=SHR
//         DD DSN=ISP.SISPSLIB,DISP=SHR

//ISPTLIB  DD DSN=XYZ.TABLES,DISP=SHR
//         DD DSN=ISP.SISPTENU,DISP=SHR

//ISPPROF  DD DSN=USERAA.ISPF.PROFILE,DISP=OLD

//SYSPROC  DD DSN=ISP.SISPEXEC,DISP=SHR
//         DD DSN=ISP.SISPCLIB,DISP=SHR

These allocations must be performed before you start ISPF. They can be done in the user's TSO LOGON procedure by using DD statements, as shown, or in a CLIST or REXX command procedure by using the corresponding TSO ALLOCATE commands.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014