The Retrieve Library List command returns a single variable which
contains the libraries in the library list in the same sequence the
system will check them when *LIBL is used. RTVJOBA returns portions
of the library list, but not the complete list. The return variable
is large enough to account for additional growth.
A typical series of commands would be:
DCL &LIBLST *CHAR LEN(9999)
.
RTVLIBL LIBLST(&LIBLST)
Each library takes 11 bytes (library name followed by a blank).
Unused positions are filled with blanks. There is room for 909
libraries.
If the same library exists multiple times on the list, each
occurrence is returned.
Because the RTVLIBL command specifies TAATOOL as the product library
on CRTCMD, TAATOOL is not returned if TAATOOL is used as the first
part of the product library on the library list.
TAALICPC2 program for exact library list
----------------------------------------
The TAALICPC2 program is provided which is similar to the RTVLIBL CPP
with an exception.
** The TAATOOL library is not a special case for the Product
portion of the library list.
By using a CALL, you will see the library list as it exists for your
job.
See the following section on TAALICPC2 for sample code.
RTVLIBL escape messages you can monitor for
-------------------------------------------
None. Escape messages from based on functions will be re-sent.
Command parameters *CMD
------------------
LIBLST The return variable containing the current library
list. Each library takes 11 bytes (library name
followed by a blank). Any unused positions are set
to blanks.
If a library is specified multiple times on the
library list (such as the current library is also on
the user portion of the library list), each
occurrence is returned.
Because the RTVLIBL command specifies TAATOOL as the
product library on CRTCMD, TAATOOL is not returned
if TAATOOL is used as the first part of the product
library on the library list.
If used, the return variable must be specified as
*CHAR LEN(9999).
LIBLCNT The count of all libraries on the library list. If
used, the return variable must be specified as *DEC
LEN(5 0).
SYSCNT The count of the libraries on the system portion of
the library list. If used, the return variable must
be specified as *DEC LEN(5 0).
PRODCNT The count of the libraries on the product portion of
the library list. TAATOOL will be in the 1st
product portion of the list and is not considered.
Therefore, this can be a maximum of 1. If used, the
return variable must be specified as *DEC LEN(5 0).
CURCNT The count of the libraries on the current library
portion of the library list. This can be a maximum
of 1. If used, the return variable must be
specified as *DEC LEN(5 0).
USRCNT The count of the libraries on the user portion of
the library list. If used, the return variable must
be specified as *DEC LEN(5 0).
TAALICPC2 program for a direct call
-----------------------------------
Using a call to TAALICPC2 allows you to see the library list as it is
without the special case for the TAATOOL library in the product
portion of the library list.
The following code is in a format that may be copied to a CL program:
DCL &LIBLST *CHAR LEN(9999)
DCL &LIBCNT *DEC LEN(5 0)
DCL &SYSCNT *DEC LEN(5 0)
DCL &PRODCNT *DEC LEN(5 0)
DCL &CURCNT *DEC LEN(5 0)
DCL &USRCNT *DEC LEN(5 0)
.
CALL PGM(TAATOOL/TAALICPC2) PARM(&LIBLST &LIBCNT +
&SYSCNT &PRODCNT &CURCNT &USRCNT)
Restrictions
------------
The TAATOOL library is special cased if the RTVLIBL command is used
because TAATOOL will exist on the Product portion of the library
list.
Prerequisites
-------------
The following TAA Tools must be on your system:
RTVPRDLIB Retrieve product library
SNDESCINF Send escape information
Implementation
--------------
None, the tool is ready to use.
Objects used by the tool
------------------------
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
RTVLIBL *CMD TAALICP QATTCMD
TAALICPC *PGM CLP TAALICPC QATTCL
TAALICPC2 *PGM CLP TAALICPC2 QATTCL
|