Program Active Retrieval

This document covers the following topics:


Displaying the Program Active Retrieval Screen

The Program Active Retrieval screen is displayed with function code A and object code PR in a main menu or the command ACTIVE PROGRAM.

    13:06:33             *****  P R E D I C T  *****              2007-05-31
    Plan   3             - (PR) Program Active Retrieval -              Profile HNO
   
     Retrieval type                           Retrieval type
   
     D  Programs                              N  Programs not implemented
     R  Entries referenced by members         P  Programs using programs
     U  Entries not referenced                F  Programs using files
   
    Retrieval type ....
    Output mode ......*
    Program ID ........                                  Programs of type .*
    in system .........                                  Language .........*
    Member ............                                  User system Fnr ...
    Library ...........                                  User system DBnr ..
    Library structure *
    Entry .............
    Restrictions .....*   Profile HNO,used
    Output options ...*   Profile HNO                   Save set .......... N (Y/N)
   
    Command ===>
    Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
          Help  Next  Stop  Last  LnkEl Flip  Print Impl  AdmFi SelFi Prof  Main
  

Program Active Retrieval functions retrieve information from Predict program objects and from XRef data for the following types of objects:

  • Natural objects cataloged with with XREF set to Y.

  • 3GL programs processed by the Predict Preprocessor or Adabas Native SQL

  • DB2 database request modules generated with the Natural for DB2 function Create DBRM with the active reference option switched on.

Retrieval types Entries referenced by members and Entries not referenced only apply to 3GL programs.

Retrieval Type, Output Mode and Save Set Option

An active retrieval operation consists of a retrieval type and an output mode. The retrieval types are described in more detail below. The output mode determines how the results are presented. Not all output modes are valid for all retrieval types. See table below.

Retrieval Type Code Output Mode Save Set 
select list disp count
Programs D X X X    
Entries referenced by members R X X   X X
Entries not referenced U X X      
Programs not implemented N X X      
Programs using programs P   X X    
Programs using files F   X X    

The results of retrieval type R can be saved in sets and processed with the Natural command LIST XREF.

Limiting the Scope of Program Active Retrieval

Parameter Description
Program ID Restricts operation to program with ID specified. Use asterisk notation to specify a range.
Programs of type Restricts operation to programs of type specified. Enter asterisk for possible values. Enter blank for all program types.
in system Restricts operation to programs in system specified. Use asterisk notation to specify a range.
Language Restricts the operation to programs with the language specified. Enter blank for all program languages.
This parameter specifies the language of the caller program.
Member, Library, User system Fnr/DBnr Limits the function to Programs with the implementation pointer specified. For Member and Library you can enter a range of values using asterisk notation.
Library structure This parameter is only evaluated for the function Programs using programs. Only Programs which have the same implementation pointer as one of the Systems in the Library Structure and have linked children of type Program are evaluated.

If you do not enter a Library Structure, the programs are evaluated as in earlier versions of Predict without steplib logic.

If you do enter a Library Structure, it must be fully qualified. If you use asterisk notation and only one Library Structure falls within the range specified, this is taken. Otherwise a window appears in which you can select a Library Structure from a list.

The implementation pointer of the first System in the Library Structure - the main library - must be complete (parameters Library, Fnr, DBnr). If this is not the case, a window appears in which you must specify the missing parameters. See the section Steplib Support in the Predict and Other Systems documentation.

Entry Restricts the operation to programs with the entry points specified. Not applicable to active retrieval types D and N.
Restrictions The scope of the function can be limited by Restrictions. Restrictions can be specified temporarily with code T in this field or taken from a profile. See Using Restrictions and Output Options from Profiles
Restrictions apply only to Predict objects. They cannot be applied to libraries, for example.
Output options Output options determine the amount of information contained in a report. Output options can be specified temporarily with code T in the field Output options or taken from a profile. Enter asterisk for valid values or see Output Options for more information. Not applicable to active retrieval types D and N.

Retrieval Types

Programs - Code D

Provides information on programs by invoking the retrieval type of same name. Output mode D, L or S must be specified:

Output Mode Description
D Displays programs with attributes, implementation pointers, entry points and user exits.
Command: DISPLAY PROGRAM
L Shows a single-line list of programs with some main attributes.
Command: LIST PROGRAM
S Displays list of programs from which entries can be selected for further processing or commands added to the workplan. Enter an asterisk in field Cmd for list of possible functions. Command: SELECT PROGRAM.

Entries referenced by members - Code R

Provides information on members which refer to the specified entries. Output mode L, S or C must be specified:

Output Mode Description
L Lists the members which refer to the specified entries.
Command: REFERENCED PROGRAM
S Produces list of programs with their entries from which programs can be selected for further processing or commands added to the workplan.
C Lists the libraries which use the specified entries and indicates the number of references per library and, if the entry is used in more than one library, the total number for all libraries.
Command: COUNT PROGRAM

Entries not referenced - Code U

Provides for each member (implemented program) the entry points that are not referenced by any other member. Output mode L or S must be specified:

Output Mode Description
L Lists entry points not referenced by any other member.
Command: UNUSED PROGRAM
S Produces a list as above from which entries can be selected for further processing.

Programs not implemented - Code N

Provides information on programs that are defined in Predict but do not correspond to members actually implemented. Output mode L or S must be specified:

Output Mode Description
L Lists programs that are defined in Predict but have no corresponding implemented member.
Command: Note: XIST PROGRAM
S Produces a list as above from which programs can be selected for further processing or commands be added to the workplan.

Programs using programs - Code P

Lists programs with referenced programs. For each program all linked programs and all programs which are used according to XRef data are listed. Output mode L or D must be specified

Output Mode Description
L Name, type and implementation pointer of the using program and at least one line for each used program is displayed, depending on the output options specified.
Command: USING PROGRAM
D Equal to "L" but more information about the using program is displayed.

The diagrams below show the possible types of data used to document programs/members and relationships of programs/members in Predict. The four boxes represent the status information on referenced programs in columns L, D, I and U of the output list of this function. If information in any of the four boxes or information represented by the arrows is missing, this indicates that the implementation or the documentation of an application is incomplete.

Note:
In the following description, the term program object is used for a Predict object of type program, whereas the term member identifies an implemented program/subroutine for which XRef data exists.

Applying the Function to Different Program Types

The evaluation of documentation and XRef data is different for related programs of type program and related programs of type subroutine. 3GL programs are treated as subroutines, where Predict scans for the entry points.

    13:18:23             *****  P R E D I C T  *****             2007-05-31
                           - List Program using Programs -              Page:    1
   
    Program ID ......... * #MAP1___SU-XREF_0094100010             
    Type ............... Map / Helpmap
   -------------------------------------------------------------------------------
    
    Implementation
      Member .. 'MAP1    Library .. SU-XREF  Fnr .. 941   DBnr .. 10
    
    Cnt  Uses PR concept.                 Ty Member   Library    Fnr  DBnr  L D I U
   
       1 #HELP___SU-XREF_0094100010       H  #HELP    SU-XREF    941    10    D I U
       2 #INCLUDESU-XREF_0094100010       C  #INCLUDE SU-XREF    941    10    D I U
       3 #LDA____SU-XREF_0094100010       L  #LDA     SU-XREF    941    10    D I U

Description of the Status Information in the Columns L, D, I and U

For a description of all other columns, see the section Layout of Program Lists in the Predefined Object Types in Predict documentation.

Parameter Description
L (linked) An association to the related Program ID exists.
If L is displayed and D is not, the child object is a dummy (related Program ID is in the program list but not documented with a documentation object).
In the example above, the objects YSHLP3 and YSHLP4 are dummies.
D (documented) A Predict program object for related Program ID exists.
I (implemented) Related Program ID is implemented.
Predict evaluates XRef data to determine whether an object is implemented. It is therefore possible that a related Program ID that is not (yet) documented appears in the list and is indicated as implemented.
In the example above, SYSHLP7 and SYSHLP8 are implemented but not documented.
U (used) The related Program ID object is used by an implemented member. Predict evaluates XRef data and identifies objects as used if a FETCH or PERFORM statement is issued for them.
Hence, a member that appears with a related Program ID in the list does not necessarily have to be implemented.
In the example above, TSH-SYSHLP5 is used but not implemented.

Evaluating Links to Programs

The table below describes actions to restore consistency between documentation and implementation depending on the current status of the objects/members indicated with related program ID in a List Program with programs list.

Combination of Recommended Actions to Restore Consistency
L D I U
L D I U No action necessary. The related program Program ID is linked, documented, implemented and used.
L D I - Use the member or purge the link and the program object in the Predict documentation.
L D - - Implement and use a member as defined in the Predict documentation or purge the association and the program object in the Predict documentation.
L D - U Implement the related Program ID or purge the link and the program object in the Predict documentation and remove the corresponding FETCH statement from the member.
- D I U Link the related program object Program ID to the program object in the Predict documentation.
- D - U Link the related Program ID to the program object in the Predict documentation and implement the member.
- - I U Document the related Program ID and link it to the program object in the Predict documentation.
- - - U Implement the related Program ID, document it in Predict and link it to the program object or remove FETCH statement from member.
L - - - Document, implement and use the program or purge the link in the Predict documentation.

Evaluating Links to Subroutines / 3GL Programs

If the related program is a subroutine or a 3GL program, one of two additional remarks may be displayed if the L/D/I/U combination is not sufficient to express the actual status of the related (sub)program.

Note:
For a description of all other possible L D I U combinations refer to the table in the section Evaluating Links to Programs above.

Combination of With Remark Recommended Actions to Restore Consistency
L D I U
L D I U Entry not in Docu
(see diagram 1 below)
The related program object Program ID (type subroutine) is correctly linked to the program object, but the XRef data for the corresponding members indicates that
- MEMBER1 does not call a function / 3 GL program as documented in the Predict object PROG2 and
- MEMBER2 does not contain a function as documented in the Predict object PROG2.
L D I U Entry not impl
(see diagram 2 below)
The related program object Program ID (type subroutine or program with language set to a 3GL language) is correctly linked to the program object, but the XRef data for the corresponding members indicates that
- MEMBER2 does not contain a function / 3GL entry point that is documented in the Predict program object PROG2, but
- MEMBER1 calls a function / entry point as documented.

Diagram 1

The diagram below illustrates the status indicated with L D I U Entry ... not in Docu.

Diagram 2

The diagram below illustrates the status indicated with L D I U Entry ... not in Impl.

Programs using files - Code F

Lists programs and files which are linked as children or which, according to XRef data, are used by the programs. Information is displayed for each file about whether it is linked, documented, implemented or used. Output mode L or D must be specified.

Output Mode Description
L For each program, the name, type, implementation pointer and some more attributes are given. At least one line for each file is displayed, depending on the output options specified.
Command: USING FILE
D As above, but more detailed information about the program is given.