Retrieving Information For Individual Members

This document covers the following topics:


Two Ways to Retrieve Information on Individual Members

Information on individual Natural members is either retrieved top-down or bottom-up. See also diagrams below. In both cases the retrieval starts with an individual member (program, data area, etc.):

  • Top-down Retrieval
    The functions look for objects that are used by a given member.

For example: The function Program using programs. A program is specified and all programs that are used by this program are shown.

  • Bottom-up Retrieval
    The functions look for objects that use a given member. The notation referenced in is always used in retrieval functions of this type. For example: The function Program referenced in programs. A program is specified and all programs that use this program are listed.

Note:
In the screens Data Areas and Variables and Copy Code only starting objects in the current library are taken into account.

Top-Down: Finding Objects that a Given Member is Using

Top-down retrieval provides answers to question such as these:

Bottom-Up: Finding Members that Reference a Given Object

Bottom-up retrieval provides answers to question such as these:

Information about Indirect Calls

Indirect references can be evaluated, for example, "Which programs refer to programs which refer to the program ABC?" Recursion can be extended up to seven levels to show the invocation structure of an application.

Which Invocation Methods are Evaluated

When Natural finds in a program a reference to another program, it stores not only the type and name of the program that is used but also how that program is invoked. The following invocation methods are reported by LIST XREF functions:

  • CALL statements to 3GL programs;

  • CALLNAT statements;

  • FETCH statements;

  • FETCH RETURN statements;

  • Assignment of a program to a function key (using a SET KEY PFn= statement);

  • INPUT USING MAP statements;

  • CALLDBPROC statements to SQL stored procedures;

  • Function call to Natural Functions;

  • REINPUT USING HELP statements or an assignment via session parameter HE in an INPUT statement or within a map;

  • PERFORM statements;

  • RUN statements;

  • STACK statements;

  • CREATE OBJECT statements;

  • SEND METHOD statements;

  • Open dialog;

  • SEND EVENT statements;

  • Using property;

  • Method implementation;

  • Calling an entry in a DBRM (database request module) - only for Natural programs that use static SQL;

  • Assignment of a program as an error transaction, a startup transaction or a restart transaction:

  • either by assignment in a Natural program (using a *ERROR-TA= or *STARTUP= statement)

  • or by definition in Natural Security for a Natural library or a special link to this library, provided that XREF for the application is set to either Y or F in Natural Security and that a user system file has been assigned to the library. These transactions are considered to be invoked by a dummy member *NSC (a program of type P) in the library.

  • INVESTIGATE statements (invocation of a Natural Expert model).

Invoked Programs

 15:59:18            *****  P R E D I C T *****                      2009-09-02
 Library: SYSDIC            - Invoked Programs -         DBnr:   180 Fnr:    64
                                                                               
                                                                               
                    Code Function                                              
                                                                               
                      D  Count references in program                           
                      C  Count references to program                           
                      U  Program using programs                                
                      R  Program referenced in programs                        
                      E  Program using programs recursively                    
                      I  Program referenced in programs recursively            
                      X  Xref program using programs                           
                      Y  Xref program referenced in programs                   
                Code: ?             Save set: N (Y,N)                          
       Using program:           Program type:   (?)                            
  Referenced program:           Program type:   (?) via:                (?)    
Subroutine/Entry/Class/Method/Property/Event:                                  
          Rec. depth: 7  (1-7)                                                 
          Set number:    (?)                                                   
Command ===>                                                                   
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
      Invp  GDAV  Quit  Sets  Rule  Copy  Xref  View  OSet  SPfk  Main  Exit   

The functions display active reference information about programs that are invoked from Natural programs. The input screen is displayed with code I in the XRef menu.

Code Function Answer to the question Comments
D Count references in program How many programs does the program ABC refer to? The total number of referenced programs is displayed and is listed for each invocation method
C Count references to program How many times is the program ABC referred to by programs The total number of references is listed for each invocation method.
U Program using programs Which programs does the program ABC refer to The invocation method is indicated. See also Effects of Steplib Support.
R Program referenced in programs Which programs refer to the program ABC The invocation method is indicated. See also Effects of Steplib Support.
E Program using programs recursively Which programs are referred to by the program ABC, or which programs are referred to by programs which are referred to by the program ABC, .... The output is structured to show the direct references to programs on the next level. See also Termination of Listing.
I Program referenced in programs recursively Which programs refer to the program ABC, or which programs refer to programs which refer to the program ABC, .... The output is structured to show the direct references to programs on the next level. See also Termination of Listing.
X XREF program using programs Which programs are referred to by the program ABC, or which programs are referred to by programs which are referred to by the program ABC, .... The total number of programs at each level is reported as well as the type and ID of each program. This function summarizes the output of the function with code E but omitsthe structural information.
Y XREF program referenced in programs Which programs refer to the program ABC, or which programs refer to programs which refer to the program ABC, .... The total number of programs at each level is reported as well as the type and ID of each program. This function summarizes the output of the function with code I but omits the structural information.

Termination of Listing

In certain circumstances, the listing of a LIST XREF function is terminated and marked as follows:

  • Recursion is marked with rec and the output is terminated.

  • The output can be truncated from a level (up to 7) specified by the user. Truncated output is marked with trunc.

  • The user can specify other parameters that limit the scope of the output, for example programs of a certain type or those with IDs that start with a particular character string. Output terminated in such a manner or due to a reference to a 3GL program is marked with stop.

  • If a program that has already been displayed in the invocation hierarchy reappears at a lower recursion level, the hierarchy is not displayed again. Instead the program is marked with suppr. (for suppressed).

  • If the called program is contained in another library, the output is stopped and the program is marked with steplib.

Save set

Any user defined in Predict can save the types and names of programs listed by functions U, R, X or Y in a set. See Using Sets.

Note:
Sets only contain the resulting objects of the called function.

Using program The meaning of this parameter depends on the function:
  • For the functions D, U, E and X, the ID of the program for which the function is to be executed.

  • For the functions C, R, I and Y, the program or programs that use the program for which the function is to be executed.

Asterisk notation is possible.

Note:
Enter *NSC to list members that are assigned in Natural Security as startup, restart, end or error transactions.

Program type The type of the Natural program specified as the Using program. One of the following values can be specified:
F function
H help routine
K ISPF Macro
M map
N subprogram
P Main program 
subroutine
T dialog
Y Natural Expert model
O command processor
4 class
Referenced program The meaning of this parameter depends on the function:
  • For the functions U, E and X: the ID of the programs that are used by the program for which the function is executed.

  • For the functions C, R, I and Y: the ID of the program for which the function is to be executed.

If asterisk notation is used, the function is applied to all programs which meet the given specification.

Note:
Enter *DYNAMIC to list all programs that invoke other programs via variables. An example: ASSIGN #A = 'SUB1' CALLNAT #A

Program type The type of the program specified as the Referenced program. See the list of program types above.
Via The method used to invoke programs. Valid values:
C CALL statement
CN CALLNAT statement
CP Command processor
CR CREATE OBJECT
F FETCH statement
FR FETCH RETURN statement
H REINPUT USING HELP statement or HE= assignment
I INVESTIGATE statement
IR Invoke return (stands for all methods that return control to the invoking program: CALL, CALLNAT, FETCH RETURN, Help, INVESTIGATE, Map, PERFORM and Static SQL).
K SET KEY statement
M INPUT USING MAP statement
ME Method implementation
O Open dialog
P PERFORM statement
PR Property
R RUN statement
S STACK statement
SE Send event
SM Send method
SQ Using static SQL
T Assignment to a Natural Security transaction
U Function

Subroutine/Entry/Class/ Method/Property/Event:

One of the following:
  • the function of a Natural subroutine that is performed, or

  • the point of entry into an external (non-Natural) program or DBRM that is called.

  • the class, method or property name.

This parameter applies when a program is invoked without using its member name. To identify the (non-Natural) program to which an external entry belongs, Predict uses information from Adabas Native SQL or the Predict Preprocessor. To identify the DBRM to which an external entry belongs, Predict uses information created by the function CREATE DBRM of Natural DB2.

Rec. depth The recursion depth for the functions E, I, X and Y. A number from 1 to 7.
Set number If a set number is specified, XRef data is only evaluated for those objects defined in the given set. All other search criteria are then ignored. Set numbers can not be used as input for Count functions.

Effects of Steplib Support

Steplib support affects Invoked Programs functions as follows. A distinction is made between Top-down and Bottom-up functions:

Top-down

Example: Function Program using program

     09:50:43            *****  P R E D I C T  *****              2007-05-31
     Library: PDLX              - Invoked Programs -         DBnr:   180 Fnr:    54
     Command: PROG * (*) USING PROG * (*) WITH * VIA *                   Page:    1
   
          T:Program                   using                         via
    ------------------------------------------------------------------------------
        1 P:ZPDFIELD                1 N:N-BUFEDT <<- nfnd           Callnat
   
        2 P:ZPDP0                   1 P:ZPDP1                       Fetch
                                    2 S:ZPDS1  (NEWDICLX,180,54)    Perform
                                      Function: SUB-IN-ZPDS
   
  

Comments :

Only programs in the current library that call other programs are displayed.

to 1 The note <<- nfnd means that the called program was not found within the structure specified. "Not found" in this context means that no XRef data is present.
to 2 If the called program is not contained in the current library, Library, DBnr, Fnr are displayed in parentheses.

Bottom-up

Example: Function Programs referenced in programs

     09:53:09            *****  P R E D I C T  *****              2007-05-31
     Library: PDLX              - Invoked Programs -         DBnr:   180 Fnr:    54
     Command: PROG * (*) REF PROG * (*) WITH * VIA *                     Page:    1
   
          T:Program                  referenced in                 via
     ------------------------------------------------------------------------------
        1 ?:*DYNAMIC
                                   1 P:ZPDP3                       Fetch
   
        2 ?:N-BUFEDT
                                   1 P:ZPDFIELD                    Callnat
   
        3 M:ZPDM1
                                   1 P:ZPDP1                       Map
                                   2 P:ZPDP2  (NEWDIC,180,54)      Map
   
        4 P:PGMCO002 (*SYSCOB*,255,255)
           Entry   : PGMCO002
                                   1 P:ZPDP1                       Call
                                   2 P:ZPDP2                       Call
                                   3 S:ZPDS1                       Call
   
  

Comments:

to 1 *DYNAMIC produces a list of all programs that call up other programs by means of variables:
ASSIGN #A = 'SUB1'
FETCH #A
to 2

The question mark means that the program N-BUFEDT was not found within the specified structure. "Not found" in this context means that no XRef data was found for the program object.

The program is, however, referenced by program P:ZPDFIELD via CALLNAT.

to 3 Member ZPDM1 was found within the current library.

If the called program is contained in the current library (here ZPDM1), programs not contained in the current library that call this program are also displayed (here ZPDP2 in Library NEWDIC). Library, DBnr, Fnr are displayed in parentheses.

to 4 The called program (PGMCO002) was found, but in another library within the structure (library *SYSCOB*). In this case only calling programs within the current library are displayed.

Example: Function Program referenced in programs recursively

    13:44:35            *****  P R E D I C T  *****              2007-05-31
     Library: NEWDICLX          - Invoked Programs -         DBnr:   180 Fnr:    54
     Command: PROG XHMENU10 (*) REF REC * (*) WITH * VIA *               Page:    1
              DEPTH 7
          1 M:XHMENU10
     1 ---------2 ---------3 ---------4 ---------5 ---------6 ---------7 ---------
     P:XPHELP   P:XPCIMPL  P:XPVERI   M:XMCIMP00 P:XPCIMPL  <--- rec
                                      M:XMREFE00 P:XPREFE   P:XPVERI   <--- rec
                                      P:XPCIMPL  <--- rec
                                      P:XPCMDP   M:XMCIMP00 <--- suppr
                                                 M:XMCONS00 P:XPVCONS  P:XPVERI
                                                                       <--- rec
                                                 M:XMCOPY00 P:XPCOPY   P:XPMENU
                                                                       <--- steplib
   

Comments:

The note <--steplib means that the evaluation was stopped at this point because the called program is contained in another library.

Data Areas and Variables

The functions display active reference information about data areas and variables. The input screen is displayed with code D in the XRef menu.

 16:25:15            *****  P R E D I C T *****                      2009-09-02
 Library: SYSDIC         - Data Area and Variables -     DBnr:   180 Fnr:    64
                                                                               
                                                                               
                   Code Function                                               
                                                                               
                     C  Count references to variable                           
                     U  Program using variables                                
                     R  Variable referenced in programs                        
                     D  Program using data areas                               
                     E  Data area referenced in programs                       
                                                                               
               Code: ?              Save set: N  (Y,N)                         
            Program:            Program type:    (?)                           
          Data area:          Data area type:    (?)                           
         Data block:                                                           
          Structure:                                                           
           Variable:                                                           
              Usage:    (?)                                                    
         Set number:  1 (?)                                                    
Command ===>                                                                   
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
      Invp  GDAV  Quit  Sets  Rule  Copy  Xref  View  OSet  SPfk  Main  Exit   

Note:
All functions use objects contained in the current library as starting objects. In the reports, on the left side only objects in the current library are listed, regardless of whether or not a library structure was specified.

Code Function Answer to the question...
C Count references to variable How many times is the variable ABC (contained in the current library) referred to by programs (contained in any library)
U Program using variables Which variables (contained in any library) does the program ABC (contained in the current library) refer to
R Variable referenced in programs Which programs (contained in any library) refer to the variable ABC (contained in the current library)
D Program using data areas Which data areas (contained in any library) does the program ABC (contained in the current library) refer to
E Data area referenced in programs Which programs (contained in any library) refer to the data area ABC (contained in the current library)

Effects of Steplib Support

Steplib support affects the above Data Area and Variable functions as follows.

For programs cataloged using Natural 4.1.1 or above on a Windows or UNIX platform or Natural 3.1.2 or above on the mainframe, additional XRef information about each referenced data area is stored: the library name, database number and file number. This information is used to determine the referenced data areas/variables. In addition, the specified library structure is used to determine the data areas/variables that will be used when objects will be cataloged a new.

For programs cataloged using an older version of Natural the additional XRef information is not available, therefore the specified library structure is used to determine the referenced data areas/variables.

Parameters Limiting the Scope of the Functions
Save set

Any user defined in Predict can save the types and names of programs listed by functions R or E in one or more sets (one set per library). See Using Sets.

Using function D, only types and names of the data areas will be included in the set(s).

Program The ID of the program for which the function is to be executed. Asterisk notation is possible.
Program type The type of Natural program for which the function is to be executed. One of the following values can be specified:
F function
H help routine
K ISPF Macro
M map
N subprogram
P main program
S subroutine
T dialog
4 class
*, blank All
Data area

The data area or data areas that are used by the program selected above. Asterisk notation is possible.

Note:
Enter *DYNAMIC to list all area independent variables (AIV).

Data area type Type of data area used by the program. One of the following three values can be specified:
G Global data area
L Local data area
P Parameter data area
Data block The data block used by the program.
Structure  For fields contained in a group, the group name has to be specified in addition to the field name to ensure uniqueness. For example, a group is defined as follows:

1 FULL-NAME 2 FIRST-NAME 2 LAST-NAME

To identify the variable LAST-NAME, the field name LAST-NAME has to be specified in the field Variable and the group name FULL-NAME has to be specified in the field Structure.

Variable The variable used by the program.

Note:
A counter field in a data area view has a name beginning with C*. Enter C** to specify all counter fields.

Usage Limits the function to variables that are used in a particular way:
M Modified by the program
U Used but not modified by the program
S Used for dynamic source code creation (see description of the RUN statement in the Natural Statements documentation)
  If nothing is specified, then all variables are shown.
Set number If a set number is specified, XRef data is only evaluated for those objects defined in the given set. All other search criteria are then ignored. Set numbers can not be used as input for Count functions.

Views and Their Fields

The functions display active reference information about views and fields. The input screen is displayed with code V in the XRef menu.

 16:47:51            *****  P R E D I C T *****                      2009-09-02
 Library: SYSDIC          -    Views and Fields   -      DBnr:   180 Fnr:    64
                                                                               
                                                                               
                 Code Function                                                 
                                                                               
                   C  Count references to view                                 
                   D  Count references to field of view                        
                   U  Program using views                                      
                   R  View referenced in programs                              
                   F  Program using fields of views                            
                   G  Field of view referenced in programs                     
                   A  Program using data area views                            
                   B  Data area view referenced in programs                    
             Code: ?                                   Save set: N (Y,N)       
          Program:                                 Program type:   (?)         
             View:                                                             
   Data area view:                                   View usage:   (?)         
            Field:                                  Field usage:   (?)         
       Set number:  1 (?)                                                      
Command ===>                                                                   
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
      Invp  GDAV  Quit  Sets  Rule  Copy  Xref  View  OSet  SPfk  Main  Exit   

Note:
In this section only, the term program applies to global and local data areas (types G and L) as well as to programs (types H, M, N, P and S).

Code Function Answer to the question...
C Count references to view How many times is the view ABC referred to by programs
D Count references to field of view How many times is the field ABC referred to by programs
U Program using views Which views does the program ABC refer to
R View referenced in programs Which programs refer to the view ABC
F Program using fields of views Which views does the program ABC refer to, and which fields of these views does it refer to
G Field of view referenced in programs Which programs refer to the field ABC
A Program using data area views Which data area views does program ABC refer to
B Data area view referenced in programs Which programs refer to data area view ABC
Parameters Limiting the Scope of the Functions
Save set Any user defined in Predict can save the types and names of programs listed by functions R, G or B in one or more sets (one set per library). See Using Sets.
Program The ID of the program (or data area) for which the function is to be executed. Asterisk notation is possible.
Program type The type of Natural program (or data area) for which the function is to be executed. One of the following values can be specified:
F function
G global data area
H help routine
K ISPF Macro
L local data area
M map
N subprogram
P main program
S subroutine
T dialog
*, blank All
View The view (DDMs) that are used by the program (or data area). Asterisk notation is possible.
Data area view

The data area view(s) used by the program or data area. Asterisk notation is possible.

Note:
Specify the string *DDM if direct use of a standard views (not via a data area view) in reporting mode is to be reported.

View usage How the view is used by the program (or data area). One of the following values can be specified:
A Defined in a data area
D Deleted
M Modified (either deleted, updated or stored)
N Stored
O Only read (neither deleted, updated nor stored)
P Database addr.
R Read, deleted or updated
T Coupled search
U Updated
*, blank All
Usage A is valid only for data areas. All other values are valid only for programs.
Field The field or fields used by the program (or data area). Asterisk notation is possible.
Field usage How the field is used by the program (or data area):
A Defined in a data area
C Used as a counter field
H Used in the WITH clause of a search criterion as hyperdescriptor search
L Used in the WITH clause of a search criterion as non descriptor search
M Stored or updated
N Stored
O Either used as a counter field or read (but not modified)
R Updated, used as a counter field or read
S Used in the WITH clause of a search criterion
T Used in the COUPLED clause of a search criterion
U Updated
*, blank All

Note:
Usage A is valid only for data areas. All other values are valid only for programs.

Set number If a set number is specified, XRef data is only evaluated for those objects defined in the given set. All other search criteria are then ignored. Set numbers can not be used as input for Count functions.

Copy Code

The functions display active reference information about Natural copy code (source code). The input screen is displayed with C in the XRef menu.

 16:48:49            *****  P R E D I C T *****                      2009-09-02
 Library: SYSDIC                - Copycode -             DBnr:   180 Fnr:    64
                                                                               
                                                                               
                                                                               
                    Code Function                                              
                                                                               
                      C  Count references to copycode                          
                      U  Program using copycodes                               
                      R  Copycode referenced in programs                       
                                                                               
                Code: ?              Save set: N (Y,N)                         
             Program:            Program type:   (?)                           
            Copycode:                   Usage:   (?)                           
          Set number:  1 (?)                                                   
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
Command ===>                                                                   
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
      Invp  GDAV  Quit  Sets  Rule  Copy  Xref  View  OSet  SPfk  Main  Exit   

Note:
All functions use objects contained in the current library as starting objects. In the reports, on the left side only objects in the current library are listed, regardless of whether or not a library structure was specified.

Code Function Answer to the question...
C Count references to copy code How many times is the copy code ABC (contained in the current library) referred to by programs (contained in any library)
U Program using copy codes Which copy codes (contained in any library) does the program ABC (contained in the current library) refer to
R Copy code referenced in programs Which programs (contained in any library) refer to the copy code ABC (contained in the current library)

Effects of Steplib Support

Steplib support affects the above Copy Code functions as follows.

For programs cataloged using Natural 4.1.1 or above on a Windows or UNIX platform or Natural 4.1.1 or above on the mainframe, additional XRef information about each referenced copy code is stored: the library name, database number and file number. This information is used to determine the referenced copy codes. In addition, the specified library structure is used to determine the copy codes that will be used when objects will be cataloged a new.

For programs cataloged using an older version of Natural the additional XRef information is not available, therefore the specified library structure is used to determine the referenced copy codes.

Parameters Limiting the Scope of the Functions
Save set Any user defined in Predict can save the types and names of programs listed by functions U or R in one or more sets. See Using Sets.
Program The ID of the program for which the function is to be executed. Asterisk notation is possible.
Program type The type of Natural program for which the function is to be executed. One of the following values can be specified:
F function
H help routine
K ISPF Macro
M map
N subprogram
P main program
S subroutine
T dialog
4 class
 *, blank All
Copy Code Only copy code with IDs beginning with a particular sequence of characters is included in the report.
Usage Usage Only copy code that is used by programs in a particular way is included in the report. The following values can be specified:
  D Direct use of copy code
  I Indirect use of copy code
  *, blank Both types of use
Set number If a set number is specified, XRef data is only evaluated for those objects defined in the given set. All other search criteria are then ignored. Set numbers can not be used as input for Count functions.

Error Numbers

The functions display active reference information about Natural error numbers. The input screen is displayed with code E in the XRef menu.

  16:49:37            *****  P R E D I C T *****                      2009-09-02
  Library: SYSDIC              - Error Numbers -          DBnr:   180 Fnr:    64
                                                                                
                                                                                
                                                                                
                   Code Function                                                
                                                                                
                     C  Count references to error number                        
                     U  Program using error numbers                             
                     R  Error number referenced in programs                     
                                                                                
               Code: ?               Save set: N (Y,N)                          
            Program:             Program type:   (?)                            
       Error number:      to:      Error type:   (?)                            
         Set number:  1 (?)                                                     
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Command ===>                                                                   
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Invp  GDAV  Quit  Sets  Rule  Copy  Xref  View  OSet  SPfk  Main  Exit   
Code Function Answer to the question...
C Count references to error number How many times is the error number ABC referred to by programs
U Program using error numbers Which error numbers does the program ABC refer to
R Error number referenced in programs Which programs refer to the error number ABC
Parameters Limiting the Scope of the Functions
Save set Any user defined in Predict can save the types and names of programs listed by function R in one or more sets. See Using Sets.
Program The ID of the program for which the function is to be executed. Asterisk notation is possible.
Program type The type of Natural program for which the function is to be executed. One of the following values can be specified:
F function
H help routine
K ISPF Macro
M map
N subprogram
P main program
S subroutine
T dialog
4 class
 *, blank All
Error number Only error messages in the range of error numbers are included in the report.

Finding error messages that are used dynamically:

Error number *DYN as input or output indicates an error number that is used dynamically, as in the following example:

VAR1(N4) = 1000 REINPUT WITH TEXT *VAR1

Error type Only error messages of the given type are included in the report. The following values can be specified:
  S Natural system messages
  U Error messages defined in SYSDIC
  *, blank Both types
Set number If a set number is specified, XRef data is only evaluated for those objects defined in the given set. All other search criteria are then ignored. Set numbers can not be used as input for Count functions.

Printers

The functions display active reference information about printers which are assigned in the OUTPUT statement of a DEFINE PRINTER statement. The input screen is displayed with code P in the XRef menu.

  16:50:16            *****  P R E D I C T *****                      2009-09-02
  Library: SYSDIC                -  Printers -            DBnr:   180 Fnr:    64
                                                                                
                                                                                
                                                                                
                      Code Function                                             
                                                                                
                        U  Program using printers                               
                        R  Printer referenced in programs                       
                                                                                
                  Code: ?               Save set: N (Y,N)                       
               Program:             Program type:   (?)                         
        Printer number:    to:      Printer name:                               
            Set number:  1 (?)                                                  
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Command ===>                                                                   
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Invp  GDAV  Quit  Sets  Rule  Copy  Xref  View  OSet  SPfk  Main  Exit   
Code Function Answer to the question...
U Program using printers Which printers does the program ABC refer to
R Printer referenced in programs Which programs refer to the printer ABC
Parameters
Save set Any user defined in Predict can save the types and names of programs listed by function R in one or more sets. See Using Sets.
Program The ID of the program for which the function is to be executed. Asterisk notation is possible.
Program type The type of Natural program for which the function is to be executed. One of the following values can be specified:
F function
H help routine
K ISPF Macro
M map
N subprogram
P main program
S subroutine
T dialog
4 class
 *, blank All
Printer name Only printers that meet the given name are included in the report. Asterisk notation is possible.
Printer number Only printers with numbers in the specified range are included in the report.
Set number If a set number is specified, XRef data is only evaluated for those objects defined in the given set. All other search criteria are then ignored.

Workfiles

The functions display active reference information about Natural workfiles. The input screen is displayed with code W in the XRef menu.

  16:51:39            *****  P R E D I C T *****                      2009-09-02
  Library: SYSDIC               - Work Files -            DBnr:   180 Fnr:    64
                                                                                
                                                                                
                                                                                
                      Code Function                                             
                                                                                
                        U  Program using work files                             
                        R  Work file referenced in programs                     
                                                                                
                  Code: ?             Save set: N (Y,N)                         
               Program:           Program type:   (?)                           
      Work file number:    to:           Usage:   (?)                           
            Set number:  1 (?)                                                  
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Command ===>                                                                   
 Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
       Invp  GDAV  Quit  Sets  Rule  Copy  Xref  View  OSet  SPfk  Main  Exit   
Code Function Answer to the question...
U Program using workfiles Which workfiles does the program ABC refer to
R Workfile referenced in programs Which programs refer to the workfile ABC
Parameters
Save set Any user defined in Predict can save the types and names of programs listed by function R in one or more sets. See Using Sets.
Program The ID of the program for which the function is to be executed. Asterisk notation is possible.
Program type The type of Natural program for which the function is to be executed. One of the following values can be specified:
F function
H help routine
K ISPF Macro
M map
N subprogram
P main program
S subroutine
T dialog
4 class
 *, blank All
Workfile number Only workfiles with numbers in the specified range are included in the report.
Usage Only workfiles used in a particular way are included in the report:
R Read (statement READ WORKFILE)
W Write (statement WRITE WORKFILE)
D Define workfile (statement DEFINE WORKFILE), this usage is only applicable in a VAX/VMS environment
P Write PC command (statement WRITE PC FILE n COMMAND)
C Close workfile (statement CLOSE WORKFILE)
Set number If a set number is specified, XRef data is only evaluated for those objects defined in the given set. All other search criteria are then ignored.

Retained Sets

The functions display active reference information about retained sets (as defined in the RETAIN clause of a Natural FIND statement). The input screen is displayed with code S in the XRef menu.

 16:52:27            *****  P R E D I C T *****                      2009-09-02
 Library: SYSDIC             -  Retained Sets  -         DBnr:   180 Fnr:    64
                                                                               
                                                                               
                                                                               
                  Code Function                                                
                                                                               
                    U  Program using retained sets                             
                    R  Retained set referenced in programs                     
                                                                               
              Code: ?               Save set: N (Y,N)                          
           Program:             Program type:   (?)                            
      Retained set:                                                            
             Usage:    (?)                                                     
        Set number:  1 (?)                                                     
                                                                               
                                                                               
                                                                               
                                                                               
                                                                               
Command ===>                                                                   
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
      Invp  GDAV  Quit  Sets  Rule  Copy  Xref  View  OSet  SPfk  Main  Exit   
Code Function Answer to the question...
U Program using retained sets Which retained sets does the program ABC refer to
R Retained set referenced in programs Which programs refer to the retained set ABC
Parameters
Save set Any user defined in Predict can save the types and names of programs listed by function R in one or more sets. See Using Sets.
Program The ID of the program for which the function is to be executed. Asterisk notation is possible.
Program type The type of Natural program for which the function is to be executed. One of the following values can be specified:
F function
H help routine
K ISPF Macro
M map
N subprogram
P main program
S subroutine
T dialog
4 class
 *, blank All
Retained sets

Only retained sets that meet the given name will be included in the report. Asterisk notation is possible.

Note:
Enter *DYNAMIC to list all programs that handle sets via variables. Examples:

  • FIND ... RETAIN AS #SET-NAME

  • RELEASE SET #SET-NAME

Note:
Enter *ALL to list all programs that handle all existing sets. Example:

  • RELEASE SET

Usage Only retained sets used in a particular way are included in the report:
B Sets built by FIND ... WITH ... RETAIN AS 'SET' statements.
R Sets released by RELEASE SET 'SET' or RELEASE SETS statements.
U Sets used by FIND ... WITH 'SET' statements.
*, blank All
Set number If a set number is specified, XRef data is only evaluated for those objects defined in the given set. All other search criteria are then ignored.

Processing Rules

The functions display active reference information about processing rules. The input screen is displayed with code R in the XRef menu.

 16:53:11            *****  P R E D I C T *****                      2009-09-02
 Library: SYSDIC           -  Processing Rules  -        DBnr:   180 Fnr:    64
                                                                               
                                                                               
                                                                               
                        Code Function                                          
                                                                               
                          C  Count references to rule                          
                          U  Map using rules                                   
                          R  Rule referenced in maps                           
                                                                               
                    Code: ?              Save set: N (Y,N)                     
                     Map:                                                      
                    Rule:                                                      
             Rule status:    (?)       Rule usage:   (?)                       
              Set number:  1 (?)                                               
                                                                               
                                                                               
                                                                               
                                                                               
Command ===>                                                                   
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
      Invp  GDAV  Quit  Sets  Rule  Copy  Xref  View  OSet  SPfk  Main  Exit   
Code Function Answer to the question...
C Count references to rule How many times is the rule ABC referred to by cataloged maps
U Map using rules Which rule does the cataloged map ABC refer to
R Rule referenced in maps Which cataloged maps refer to the rule ABC
Parameters
Save set Any user defined in Predict can save the types and names of maps listed by function R in one or more sets. See Using Sets.
Map The ID of the map for which the function is to be executed. Asterisk notation is possible.
Rule The ID of the rule for which the function is to be executed. Asterisk notation is possible.
Rule status Only rules of the given type are included in the report:
A Automatic rules
F Free rules
*, blank All
Usage of rule Only rules that are used in the given way are included in the report:
  A Used as automatic rule
  F Used as free rule
  I Used as inline rule
  *, blank All
Set number If a set number is specified, XRef data is only evaluated for those objects defined in the given set. All other search criteria are then ignored. Set numbers can not be used as input for Count functions.

External Resources

The functions display active reference information about External resources.

Note:
In Predict, the term "External resource" refers to the Natural object type "Resource". Further information on this object type can be found in the section Ressource of Objects for Natural Application Management in the Natural Programming Guide.

The input screen is displayed with code F in the XRef menu.

 16:53:50            *****  P R E D I C T *****                      2009-09-02
 Library: SYSDIC          - External Resources -         DBnr:   180 Fnr:    64
                                                                               
                                                                               
                  Code Function                                                
                                                                               
                    C  Count references to External resources                  
                    U  Program using External resources                        
                    R  External resources referenced in programs               
                                                                               
              Code: ?                  Save set: N (Y,N)                       
           Program:                Program type:   (?)                         
 External resource:                                                            
                                                                               
                                                                               
                                                                               
                                                                               
             Usage:    (?)                                                     
        Set number:  1 (?)                                                     
                                                                               
Command ===>                                                                   
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
      Invp  GDAV  Quit  Sets  Rule  Copy  Xref  View  OSet  SPfk  Main  Exit   
Code Function Answer to the question...
C Count references to External resources How many times is the External resource ABC referred to by programs
U Program using External resources Which External resources does the program ABC refer to
R External resources referenced in programs Which programs refer to the External resource ABC
Parameters
Save set Any user defined in Predict can save the types and names of programs listed by functions U or R in one or more sets. See Using Sets.
Program The ID of the program for which the function is to be executed. Asterisk notation is possible.
Program type The type of Natural program for which the function is to be executed. One of the following values can be specified:
F function
H help routine
K ISPF Macro
M map
N subprogram
P main program
S subroutine
T dialog
4 class
 *, blank All
External resource Only External resources with IDs beginning with a particular sequence of characters are included in the report.
Usage Only External resources which are used in a particular way are included in the report.
B Sets built by FIND ... WITH ... RETAIN AS 'SET' statements.
R Sets released by RELEASE SET 'SET' or RELEASE SETS statements.
U Sets used by FIND ... WITH 'SET' statements.
*, blank All
Set number If a set number is specified, XRef data is only evaluated for those objects defined in the given set. All other search criteria are then ignored. Set numbers can not be used as input for Count functions.

Report Programs with XRef Data

The function Report programs with xref data displays summary active reference information about programs. The input screen is displayed with code X in the XRef menu.

 16:54:30            *****  P R E D I C T *****                      2009-09-02
 Library: SYSDIC             -  Report Program -         DBnr:   180 Fnr:    64
                                                                               
                                                                               
         Program: ________ (?) Program type: _ (?)                             
         User Id: ________      Terminal Id: ________                          
       from date: __________        to date: 2009-09-02                        
      short list: N (Y,N)          save set: N (Y,N)                           
      Set number:  1 (?)                                                       
                                                                               
      Report                        Nr     Report                        Nr    
                                                                               
      Statistical data               1     Predict description           2     
      Natural program list           3     Using/Referenced programs     4     
      Views, Da-views and fields     5     Da-areas and variables        6     
      Workfiles, printers, errors... 7     format extended description   N     
                                                                               
      expand copycodes / rules       N     suppress empty reports        Y     
                                                                               
                                                                               
Command ===>                                                                   
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
      Invp  GDAV  Quit  Sets  Rule  Copy  Xref  View  OSet  SPfk  Main  Exit   

Up to seven types of information can be retrieved:

Information Reported by Report Program with XRef Data
Statistical data The program ID, the program type, the date and time when it was cataloged, the ID of the user who cataloged it, the ID of the terminal where it was cataloged and the information that would be displayed for this program by the Natural command LIST DIR object-ID.
Predict description The extended description and abstract that are stored in the Predict object for that program. If Format extended description is set to Y, Con-form, Software AG's text formatting facility, is used whenever a description is output. See Extended Description Skeleton in the section Defaults in the Predict Administration documentation.
Natural program list A Source code listing of the Natural program itself. If Expand copycodes / rules is set to Y, all copy code used by an INCLUDE statement is expanded in the listing of the program and all processing rules (free and automatic) used in a map are expanded in the listing of the map.
Using/referenced programs For each program that either invokes that program or is invoked by that program, the program type, the program ID, the method of invoking and - for maps - the processing rules used are included in the report.

Note:
For every method sent by a program, all classes which support this method will be listed.

Views, Da-views and fields Each view, data area view and field of a view used by that program is included in the report.
Da-areas and variables Each data area and each variable used by that program is included in the report.
Workfiles, printers, errors Natural workfiles, retained sets, copy code, printers and error message numbers used by that program are included in the report.
Parameters

All parameters except Save set limit the scope of the function.

Program The ID of the program for which the function is to be executed. Asterisk notation is possible.
Program type The type of Natural program for which the function is to be executed. One of the following values can be specified:
A parameter data area
G global data area
F function
H help routine
K ISPF Macro
L local data area
M map
N subprogram
O command processor
P main program
S subroutine
T dialog
Y Natural Expert model
4 class
*, blank all
User ID Only those programs cataloged by the specified user will be processed. Asterisk notation is possible.
Terminal ID Only those programs cataloged from the specified terminal are processed. Asterisk notation is possible.
From date ... to date Only those programs cataloged within the range of dates specified are processed.
Short list Y Displays the following information for each program selected in a single line:

- Program ID
- Program type
- Information about the existence of source, cataloged object and XRef data
- Program mode (report mode or structured mode)
- ID of the user who last saved or cataloged the program
- Version of Natural
- Date and time when the program was last saved or cataloged.

N A more extensive report is created, containing up to seven categories of information. Enter digits in the Nr column to determine the sequence of the information displayed. Enter 0 to suppress categories that are not to appear.
Save set Any user defined in Predict can save the types and names of listed programs in a set. This feature is normally used together with the Short list option. See Using Sets.
Format extended description Y Any Con-form instructions contained in the extended description of any object are executed. See Extended Description Skeleton in the section  Defaults in the Predict administration documentation.
Expand Copy Codes/Rules Y All copy code used by an INCLUDE statement is expanded in the listing of the program and all processing rules (free and automatic) used in a map are expanded in the listing of the map.
Suppress empty reports Y Suppress reports where no information is found in a particular category.

Example of NaturalX Support

The following sample output of function Report Programs with XRef data shows how features of NaturalX are documented in Predict.

    *** Report for program references ***
   
    4:CLASS1   class name NATURAL.BEAR
               interface  SOUND
                  method    1  SNIFF                              impl. SNIFF-N
                property    1  NATURALBEARPROPERTY
               interface  IMOVE
                  method    1  WALK                               impl. WALK-N
   
    *** Report for data areas, blocks and variables ***
   
    4:CLASS1   using data area    1  L:GUID-L
                     variables    1  INTERFACESOUNDGUID                   Used
                                  2  NATURALBEARGUID                      Used
   
                     data area    2  L:BEAR-O
                                     as object data area
                     variables    1  BEAR-PROPERTY-VARIABLE               Used
   
                     data area    3  P:SNIFF-A
   
                     data area    4  P:WALK-A