CA-Librarian (z/OS Only)

The Com-plete CA-Librarian interface, distributed as a feature of the Com-plete online editor utility in z/OS only, allows Com-plete's online editor to access files stored within CA-Librarian. However, before this interface can be used to access and modify CA-Librarian members, the following installation procedures must be performed.

Step 1: Link edit and zap the CA-Librarian module.

Two load modules containing the CA-Librarian access routines must be placed on the Com-plete STEPLIB library. The FAIR (File Access Interface Routine) load module is used for retrievals only; COMLIB is used for updating CA-Librarian members. Proceed as follows:

  1. Copy the FAIR load module.
    Using the IEBCOPY batch utility, copy the FAIR load module from the CA-Librarian local library to the Com-plete STEPLIB library COM.USER.LOAD. (FAIR is provided as part of CA-Librarian.) This routine is used as distributed to retrieve members from CA-Librarian libraries.

  2. Link edit COMLIB.
    Use the following linkage editor example to link edit the COMLIB load module into COM.USER.LOAD. COMLIB is used by UEDIT to update a CA-Librarian member when a SAVE command is entered to UEDIT.

    //COMLIB   EXEC PGM=IEWL,PARM='XREF,LIST,LET,NCAL' 
    //SYSLIB   DD DSN=librarian,DISP=SHR   CA-LIBRARIAN LOAD LIBRARY
    //SYSPRINT DD SYSOUT=A 
    //SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(1,1)) 
    //SYSLMOD  DD DSN=COM.USER.LOAD,DISP=SHR 
    //SYSLIN   DD * 
      INCLUDE SYSLIB(librarian) 
      ENTRY BEGIN 
      NAME COMLIB(R) 
    /*
  3. Zap the COMLIB load module.
    Zap the COMLIB load module produced in pint 2 above to change the DD names from SYSIN and SYSPRINT to LIBIN and LIBPRINT, respectively. To do this, use the linkage editor output from point 1 above to find the displacement of the references to "CARD" and "PRINTER". The external reference location is the beginning of the DCB for SYSIN and SYSPRINT. Add decimal 40 to these displacements in order to locate the DD names. Then, using the following superzap control statements, change the first three characters of the DD names from SYS to LIB.

    NAME COMLIB CS1500 
    VER XXXX E2E8E2 SYS SYSPRINT DD name 
    REP XXXX D3C9C2 LIB 
    VER YYYY E2E8E2 SYS SYSIN DD name 
    REP YYYY D3C9C2 LIB 

    where:

    XXXX is the displacement of the external reference to "PRINTER" plus decimal 40.
    YYYY is the displacement of the external reference to "CARD" plus decimal 40.
Step 2: Modify the Com-plete sysparms

The Com-plete sysparms must be modified, causing Com-plete to include FAIR and COMLIB as resident programs. Do this by adding the following statements to the SYSPARM member used to set Com-plete options:

RESIDENTPAGE=FAIR 
RESIDENTPAGE=COMLIB 

In addition, the CA-Librarian sysparm must be specified. See section Initialization - Com-plete Startup Procedure for more information on the sysparms used in the Com-plete startup procedure.

Warning:
Do not modify the COMLIB load module used by Com-plete while Com-plete is running. During normal use of the CA-Librarian interface by UEDIT, these modules are refreshed in the Com-plete resident program area. Increasing the amount of storage required by these modules can have catastrophic results.
Step 3: Set the spooling and printing options.

All error and informational messages issued by CA-Librarian while processing a member are spooled to the TID defined in the TIBTAB as the hardcopy device for the terminal using CA-Librarian. If no hard copy device is defined, the messages are spooled to the user's terminal.

By using superzap, the spooling of messages can be changed. To do this, obtain a linkage editor output for UEBP (or if a link edit was not done, use the HMBLIST batch utility to obtain a map of the UEBP load module). Using this map, find the entry point named "OPTION" in the CSECT U2EDCLIB. Using this displacement, use the following superzap control statements to set the desired spooling options.

NAME UEBP U2EDCLIB
VER XXXX 88   Default spool settings 
REP XXXX NN   Desired spool settings

where XXXX is the displacement within the U2EDCLIB CSECT to the entry named OPTION.

XXXX is the displacement within the U2EDCLIB CSECT to the entry named OPTION.
Option Value Function
x'80' 1... .... Spool all messages.
x'40' .1.. .... Spool only error messages.
x'08' .... 1... Spool to hard copy TID.
x'04' .... .1.. Spool to user's TID.
Step 4: Modify the Com-plete job stream JCL.

The two CA-Librarian load modules made resident within Com-plete require additional storage from within the Com-plete region. You must therefore increase the REGION parameter for the Com-plete job step. In the case of VS1, the size of the partition in which Com-plete runs must be increased. The increase in size should be the combined sizes of the two load modules.

The Com-plete execution procedure must be modified to include DD statements for the files required by CA-Librarian and also for each CA-Librarian library to be accessed by UEDIT.

CA-Librarian requires two files. The first is a sequential file (LIBIN) used to pass CA-Librarian control statements and modified source statements to the CA-Librarian interface module (COMLIB). This must be defined as an 80-byte fixed block file and must be large enough to contain the maximum number of control statements that will be passed to COMLIB.

The second sequential file (LIBPRINT) is used by COMLIB to pass informational and error messages back to UEDIT. This file must be defined as a 133-byte fixed block file with the first character of each record used for ANSI carriage control.

Either of the required files can be temporary files. The LIBPRINT file can be a dummy if no messages are desired. Note that LIBPRINT can not be defined as a SYSOUT file.

Examples of LIBIN and LIBPRINT DD statements are:

//LIBIN    DD UNIT=SYSDA,SPACE=(CYL,5), 
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120) 
//LIBPRINT DD UNIT=SYSDA,SPACE=(CYL,5), 
//            DCB=(RECFM=FB,LRECL=133,BLKSIZE=2660) 

or:

//LIBPRINT DD DUMMY 

Each CA-Librarian library to be used by UEDIT must be defined in the Com-plete job stream JCL and identified in the UEDIT table of library IDs and corresponding file names (UEDTB1). For CA-Librarian files in the UEDTB1 table, the file name field specifies the corresponding DD name in the Com-plete job stream JCL, not the file name.

An example set of UEDTB1 entries and JCL DD statements follows:

In the Com-plete JCL, add the DD statement:

//MYLIBLIB DD DSN=USER.LIB.MYLIB,DISP=SHR 

the corresponding UEDTB1 entry would be:

CMEDTB1 ID=ML,DSN=MYLIBLIB,ACM=LIBRARIAN 

Step 5: Name the user exit (optional)

An optional user exit is available that allows you to enforce installation standards for the CA-Librarian -SEL and -ADD control statements. This user exit must be named UXEEX4. Control is passed when the SAVE operation is started to inspect the -SEL or -ADD control statement.

See Security and User Exit Facilities for more information about the coding and installation of UXEEX4. In addition, an example of UXEEX4 is provided in the COM.SOURCE distributed library.