Statements/parameters for CSVLLAxx

LIBRARIES(libname1,libname2,...[-LNKLST-],...)
The LIBRARIES statement lists the names of libraries (libname1,libname2,...) that are to be added to LLA, if they are not already being managed by LLA, or selectively refreshed, if they are already being managed by LLA.

A library name must be 1 to 44 characters long.

-LNKLST- (the hyphens are coded) can be used to designate the whole LNKLST concatenation. It is a shorthand way to identify all the data sets in the LNKLST instead of listing each of them, that is: (-LNKLST-,non-LNKLST libname1,non-LNKLST libname2). In a Dynamic LNKLST environment, -LNKLST- designates a list of data sets compiled from all active LNKLST sets. When specified and a new LNKLST set is activated by the Dynamic Lnklst function, any data set in the new LNKLST set that is not currently managed is added to LLA's management. If a new LNKLST data set is the target of a prior REMOVE request, it is not dynamically added to LLA.

Default Value: None

MEMBERS(mmbr1,mmbr2,...)
The MEMBERS statement allows you to refresh dynamically members in the previously named production libraries.

Each MEMBERS statement must be preceded by a LIBRARIES statement that identifies the libraries that contain the new versions of the members.

The member names (mmbr1,mmbr2...) must be 1 to 8 characters long.

The LLA directory for each of the listed libraries is updated with the directory entries for the listed members found in each of the data sets. That is, LIBRARIES(LIB.1, LIB.2, LIB.3) MEMBERS(A,B,C) result in the LLA directory for LIB.1 being refreshed with directory entries found for members A, B and C in the DASD directory for LIB.1; the LLA directory for LIB.2 being refreshed with directory entries found for members A, B and C in the DASD directory for LIB.2, and so forth.

If -LNKLST- is in the LIBRARIES statement list, LLA will dynamically refresh the specified members in the LNKLST. All occurrences of the member name in the LNKLST concatenation are used to refresh the LLA directory. In a Dynamic LNKLST environment, the specified member is refreshed in all active LNKLST sets.

Default Value: None

LNKMEMBERS(mmbr1,mmbr2,mmbr3,...)
The LNKMEMBERS statement lists the member names (mmbr1,mmbr2,mmbr3...) that are in the LNKLST concatenation and that are to be selectively refreshed. LNKMEMBERS is equivalent to specifying LIBRARIES(-LNKLST-) MEMBERS(mmbr1,mmbr2,mmbr3...).

The member names (mmbr1,mmbr2,mmbr3...) must be 1 to 8 characters long.

Default Value: None

REMOVE(libname1,libname2,...)
The REMOVE(libname1,libname2,...) statement allows you to remove libraries from the list of libraries managed by LLA. That is, LLA will no longer be used to provide directory entries or staged modules for these libraries.

Specify REMOVE(-LNKLST-,...) to remove each of the specified LNKLST libraries from LLA management. Note that REMOVE(-LNKLST-,...) does not change the contents of the LNKLST concatenation. In a Dynamic LNKLST environment, this parameter designates a list of data sets compiled from all active LNKLST sets.

Libraries should be removed from LLA management before they are compressed. For LNKLST libraries, see Removing or compressing a data set in an active LNKLST set in PROGxx (authorized program list, exits, LNKLST sets and LPA). For non-LNKLST libraries, remove them from LLA management, compress the library, and add the library back to LLA management using CSVLLAxx.

Note: It is not valid to specify the following:
  • A library specified on the LIBRARIES statement or on the FREEZE|NOFREEZE option of this member or a member concatenated through use of the PARMLIB(dsn) SUFFIX(xx) statement.
  • A data set in the LNKLST if -LNKLST- is specified on the LIBRARIES statement of this member or a member concatenated through use of the PARMLIB(dsn) SUFFIX(xx) statement.
  • You cannot specify a library to be added to LLA management and designate it to be removed in the same operation.
Note: Start of changeWhen REMOVE is specified for a data set that is in a LNKLST, it does change how LLA provides the directory and module for any member on that data set. All data sets in the LNKLST concatenation, except those that were the target of a REMOVE statement, continue to get full LLA management. As the LNKLST concatenation is searched, I/O is done to DASD storage for members on REMOVEd data sets as required. In certain circumstances, this may have a significant performance impact.End of change

Default Value: None

GET_LIB_ENQ(YES|NO)
The GET_LIB_ENQ keyword specifies whether LLA obtains a shared enqueue for the libraries it manages.

If you specify GET_LIB_ENQ (YES), which is the default, LLA obtains a shared enqueue for the libraries it manages. The shared enqueue allows your job to read the libraries, but not to move or erase them. To update these libraries, you must first remove them from LLA management (through the REMOVE keyword).

If you specify GET_LIB_ENQ(NO), LLA does not obtain an enqueue for libraries it manages. Your installation's jobs can update, move, or delete libraries while LLA is managing them. GET_LIB_ENQ(NO) is generally not recommended, however, because of the risks it poses to data integrity. IBM® suggests that you use GET_LIB_ENQ (NO) only when necessary.

The system processes the GET_LIB_ENQ keyword only when LLA is started; you cannot set this value while LLA is active. If you attempt to do so (for example, by specifying the GET_LIB_ENQ value on an LLA UPDATE command), the system ignores the GET_LIB_ENQ value without issuing a corresponding message.

If you specify the GET_LIB_ENQ keyword multiple times in a CSVLLAxx member, the system uses only the first occurrence of the keyword and ignores subsequent occurrences without issuing a corresponding message.

Default Value: YES

PARMLIB(dsn)
SUFFIX(xx)
The PARMLIB (dsn) SUFFIX(xx) statement allows you to specify an additional CSVLLAxx member to be processed. The system processes this member completely when encountering this statement.

PARMLIB(dsn) identifies the data set where the CSVLLAxx member identified by (xx) should be found. Note that the PARMLIB keyword allows you to include CSVLLAxx members from data sets other than SYS1.PARMLIB, thereby allowing you to control LLA's specifications without having update access to SYS1.PARMLIB.

Default Value: None. No additional CSVLLAxx members are read.

FREEZE|NOFREEZE(libname1,libname2,...[-LNKLST-],......)
The FREEZE|NOFREEZE option allows you to specify for a library whether to have LLA use the directory it maintains in its own storage (FREEZE) or to use the directory on DASD storage (NOFREEZE). When a LLA library is specified with FREEZE, the installation takes full advantage of LLA's I/O reduction for directory search for the library and for fetching load modules.

References to members in the data sets of the LNKLST concatenation, when referenced via the appropriate LNKLST DCB, are always treated as FREEZE and cannot be changed by this parameter.

References to members in the data sets of the LNKLST concatenation, when referenced outside the LNKLST (that is, through JOBLIB, STEPLIB, or TASKLIB) are processed as individual libraries. This parameter changes how LLA provides the directory for those references.

-LNKLST- can be used to designate a list of data sets for this parameter, which is derived from all active LNKLST sets. When specified, LLA builds this list for you as part of its normal processing. It is a shorthand way to identify all of the data sets in the LNKLST instead of listing each of them using (-LNKLST-, non-LNKLST libname1, non-LNKLST libname2). As an example, specifying FREEZE (-LNKLST-) directs LLA to set each of the data sets in the LNKLST concatenations list in FREEZE mode. (LLA provides directories from the saved information in LLA storage for requests via JOBLIB, STEPLIB, or TASKLIB.) Specifying NOFREEZE (-LNKLST-) directs LLA to manage each of the data sets (in the LNKLST concatenations list) in NOFREEZE mode, whenever the data set is accessed outside of the LNKLST. That is, LLA provides directories by doing I/O to the DASD storage for these data sets specified via JOBLIB, STEPLIB, or TASKLIB. However, references to members via any active LNKLST concatenation are always provided from LLA storage, so NOFREEZE does not affect that request.

You can change the FREEZE|NOFREEZE status of a LLA library at any time by using the MODIFY LLA command.

For more information about using the FREEZE|NOFREEZE option, see z/OS MVS Initialization and Tuning Guide.

Default Value: By default, LNKLST data sets that are accessed through the LNKLST concatenation are in FREEZE mode and cannot be changed with this parameter. All other libraries (specified by -LNKLST- or individually by library name) are set to NOFREEZE by default. To take full advantage of LLA, it is recommended that all libraries be explicitly specified as FREEZE.

EXIT1(ON|OFF)
EXIT1 indicates whether the system is to add the CSVLLIX1 exit routine to the CSVLLIX1 dynamic exit.

The EXIT1 statement is processed only when LLA starts, otherwise it is ignored unless it is not syntactically correct.

When EXIT1(ON) is specified, or if EXIT1 is not specified, in the CSVLLAxx parmlib member used to start LLA, the system attempts to add the CSVLLIX1 exit routine to the CSVLLIX1 dynamic exit when no exit routines are already added by PROGxx or SETPROG processing.

If exit routines are already added by PROGxx or SETPROG processing, or if EXIT1(OFF) is specified, the system does not attempt to add the CSVLLIX1 exit routine. If you require an exit routine to be added, you must explicitly add the exit routine using PROGxx or SETPROG. If one of the already added exit routines is in the active state, LLA calls the CSVLLIX1 exit. To prevent an exit routine being called after it has been added, you can use the dynamic exit facility to change the state of the exit routine to be inactive.

You can use CSVLLIX1 to:
  • Monitor and collect fetch statistics
  • Control the 2000 fetch default limit
  • Cause staging to happen regardless of statistics for all libraries or even just one library

For more information about CSVLLIX1, see z/OS MVS Installation Exits.

Default Value: EXIT1(ON)

EXIT2(ON|OFF)
EXIT2 indicates whether the system is to add the CSVLLIX2 exit routine to the CSVLLIX2 dynamic exit.The EXIT2 statement is processed only when LLA starts, otherwise it is ignored unless it is not syntactically correct.

When EXIT2(ON) is specified, or if EXIT2 is not specified, in the CSVLLAxx parmlib member used to start LLA, the system attempts to add the CSVLLIX2 exit routine to the CSVLLIX2 dynamic exit when no exit routines are already added by PROGxx or SETPROG processing.

If exit routines are already added by PROGxx or SETPROG processing, or if EXIT2(OFF) is specified, the system does not attempt to add the CSVLLIX2 exit routine. If you require an exit routine to be added, you must explicitly add the exit routine using PROGxx or SETPROG. If one of the already added exit routines is in the active state, LLA calls the CSVLLIX2 exit. To prevent an exit routine being called after it has been added, you can use the dynamic exit facility to change the state of the exit routine to be inactive.

You can use CSVLLIX2 to:
  • Analyze fetch statistics provided in the LLA module staging parameter list
  • Influence the calculation of the LLA value (which determines if a module should be staged) by altering the weighting factors
  • Direct that the module must be staged or must not be staged by setting the appropriate return and reason codes.

For more information about CSVLLIX2, see z/OS MVS Installation Exits.

Default Value: EXIT2(ON)

PARMSUFFIX(xx)
The PARMSUFFIX statement allows you to specify an additional CSVLLAxx member to be processed. The system processes this member completely when encountering this statement.

This statement is very similar to the PARMLIB(dsn) SUFFIX(xx) statement. The difference is that instead of having to specify a data set name, PARMSUFFIX searches the logical parmlib for the CSVLLAxx member.

Default Value: None. No additional CSVLLAxx members are read.