Example: XREF output: COPY/BASIS cross-references

The following example shows a sorted cross-reference of copybooks to the library-names and data-set names of the associated copybooks, produced by the XREF compiler option under z/OS®. Numbers in parentheses refer to notes after the example.


     
        COPY/BASIS cross-reference of text-names, library names
            
    (1)           (1)            (2)                     (3)         (4)  
  Text-name     Library       File name                 Concat      ISPF      
  (Member)      (DDNAME)      (Data set name)           Level       Created   
                                                          
  ACTIONS       OTHERLIB      USERID.COBOL.COPY           0        1992/07/11 
  ACTIONS       SYSLIB        USERID.COBOL.COPY           0        1992/07/11 
  CUSTOMER      ALTDDXXY      USERID.COBOL.LIB3           0        2007/06/01 
  CUSTOMER      SYSLIB        USERID.COBOL.LIB2PDSE       1        2007/06/07 
  HOUSE         ALTDDXXY      USERID.COBOL.LIB2           1        2007/06/07 
  HOUSE         SYSLIB        USERID.COBOL.LIB2PDSE       1            
  IMOTOR        SYSLIB        USERID.COBOL.LIB4X          3        2007/06/07 
  ISOVERFY      SYSLIB        USERID.COBOL.COPY           0         
  NSMAP         SYSLIB        USERID.COBOL.LIB3           2        
      
(1)
Text-name and library (an abbreviation for library-name) are from the statement COPY text-name OF library-name in the source, for example, Copy ACTIONS Of OTHERLIB.
(2)
The name of the data set from which the COPY member was copied.
(3)
Abbreviation for concatenation level. Indicates how many levels deep a given data set is from the first data set in the concatenation for a given ddname.

For example, four data sets in the example above are concatenated to ddname SYSLIB:


      
DDNAME       DSNAME                     (concatenation level) 
             
SYSLIB  DD   DSN=USERID.COBOL.COPY,             0  
        DD   DSN=USERID.COBOL.LIB2PDSE,         1  
        DD   DSN=USERID.COBOL.LIB3,             2 
        DD   DSN=USERID.COBOL.LIB4X             3 

Thus for example member NSMAP shown in the listing above was found in data set USERID.COBOL.LIB3, which is two levels down from the first data set in the SYSLIB concatenation.

(4)
Creation date is shown if the PDSE was edited with STATS ON in ISPF.
Tip: Under z/OS, if there is more than one data set in your SYSLIB concatenation, the COPY/BASIS cross-reference might in some cases be incomplete or missing. For details, see the related reference about the XREF compiler option.

If you compile in the z/OS UNIX shell, the cross-reference looks like the excerpt shown below.


        
         COPY/BASIS cross-reference of text-names, library names, and file names  
       
    (5)                     (5)                (6) 
 Text-name               Library-name         File name  
                                                                                                                                                               
'/copydir/copyM.cbl'    SYSLIB               /u/JSMITH/cobol//copydir/copyM.cbl 
'/copyA.cpy'            SYSLIB               /u/JSMITH/cobol//copyA.cpy 
'cobol/copyA.cpy'       ALTDD2               /u/JSMITH/cobol/copyA.cpy  
'copy/stuff.cpy'        ALTDD2               /u/JSMITH/copy/stuff.cpy 
'copydir/copyM.cbl'     SYSLIB               /u/JSMITH/cobol/copydir/copyM.cbl 
'copydir/copyM.cbl'     SYSLIB (default)     /u/JSMITH/cobol/copydir/copyM.cbl 
'stuff.cpy'             ALTDD                /u/JSMITH/copy/stuff.cpy 
"copyA.cpy"        (7)  SYSLIB (default)     /u/JSMITH/cobol/copyA.cpy 
"reallyXXVeryLongLon>   SYSLIB (default)  (8)<JSMITH/cobol/reallyXXVeryLongLongName.cpy
OTHERDD                 ALTDD2               /u/JSMITH//copy/other.cob  
. . .
   
Note: Some names were truncated.   > = truncated on right   < = truncated on left 

(5)
From the COPY statement in the source; for example the COPY statement corresponding to the third item in the cross-reference above would be:

COPY 'cobol/copyA.cpy' Of ALTDD2
(6)
The fully qualified path of the file from which the COPY member was copied
(7)
Truncation of a long text-name or library-name on the right is marked by a greater-than sign (>).
(8)
Truncation of a long file name on the left is marked by a less-than sign (<).

related references  
XREF