z/OS TSO/E Customization
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Defining data sets in a logon procedure

z/OS TSO/E Customization
SA32-0976-00

Data sets required by the user can either be defined dynamically, through the ALLOCATE command or dynamic allocation, or they can be defined in a logon procedure. Defining the data sets in a logon procedure has the following advantages:
  • May improve on-line performance. Data sets required by a command or program do not have to be allocated each time the command or program is run.
  • Allows volumes to be mounted. If the data set is on an unmounted volume, the operator is notified. Ordinarily, unless the user is authorized to mount volumes, dynamic allocation requests do not allow volumes to be mounted. If the volume is not already mounted, the request fails.
  • Provides recovery from an off-line device condition. Messages tell the operator to vary the device on-line.

However, using DD statements in a logon procedure may increase the time it takes for users to log on. To improve the performance of the logon process, you may want to minimize the number of data sets you allocate in the logon procedure. For more information about the factors that improve logon performance, see Improving the performance of the logon process.

The following DD statements have special meaning and can be included in the logon procedure:
SYSEXEC
defines the current REXX exec library concatenation to the EXEC command when users use the implicit form of the command. By default, the system searches SYSEXEC first, followed by SYSPROC.
The data set described by this DD statement must be partitioned, and have a record format of V, VB, F or FB. Instead of allocating the REXX exec library in the logon procedure, you can allocate it dynamically using the ALLOCATE command. For example:
allocate da('rexx.proc.lib') f(sysexec) shr
SYSPROC
defines the current REXX exec or CLIST library concatenation to the EXEC command when users use the implicit form of the command. The data set described by this DD statement must be partitioned, and have a record format of V, VB, F or FB. Instead of allocating the REXX exec or CLIST library in the logon procedure, you can allocate it dynamically, by using the ALLOCATE command. For example:
allocate da('clist.proc.lib') f(sysproc) shr

To explicitly activate REXX execs or CLISTs, use the ALTLIB command. By using ALTLIB, you do not need to include all application-level REXX execs or CLISTs in the user's logon procedure. For information about the ALTLIB command, see . The search order for the user, application, and system libraries is shown and explained in Customizing the ALTLIB command.

By default, the system searches SYSEXEC first, followed by SYSPROC.

STEPLIB
defines a private step library, which can contain command processors. You should avoid using STEPLIB data sets in logon procedures, however, because they may adversely affect performance. Each time the user loads a module, the system searches the STEPLIB data set before searching any others. As an alternative, users can use the TSO/E TSOLIB command.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014