ibm-information-center/dist/eclipse/plugins/i5OS.ic.cl_5.4.0.1/dsppgmref.htm

460 lines
16 KiB
HTML

<!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Display Program References (DSPPGMREF)</title>
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body bgcolor="white">
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<a name="DSPPGMREF.Top_Of_Page"></a>
<h2>Display Program References (DSPPGMREF)</h2>
<table width="100%">
<tr>
<td valign="top" align="left"><b>Where allowed to run: </b>All environments (*ALL)<br>
<b>Threadsafe: </b>No
</td>
<td valign="top" align="right">
<a href="#DSPPGMREF.PARAMETERS.TABLE">Parameters</a><br>
<a href="#DSPPGMREF.COMMAND.EXAMPLES">Examples</a><br>
<a href="#DSPPGMREF.ERROR.MESSAGES">Error messages</a></td>
</tr>
</table>
<div> <a name="DSPPGMREF"></a>
<p>The Display Program References (DSPPGMREF) command provides a list of the system objects referred to by the specified programs. The following list shows the system objects provided for the respective program types:
</p>
<dl>
<dt><b>BASIC</b></dt>
<dd>*FILE (externally described) and *PGM
</dd>
<dt><b>C</b></dt>
<dd>no information is provided for C-language programs except for ILE C-language programs (CLE)
</dd>
<dt><b>CBLLE</b></dt>
<dd>*FILE, *PGM, and *SRVPGM
</dd>
<dt><b>CL</b></dt>
<dd>*FILE, *PGM, and *DTAARA
</dd>
<dt><b>CLE</b></dt>
<dd>*SRVPGM
</dd>
<dt><b>CLLE</b></dt>
<dd>*FILE, *PGM, *DTAARA, and *SRVPGM
</dd>
<dt><b>COBOL</b></dt>
<dd>*FILE and *PGM (literal names on CALL command)
</dd>
<dt><b>CSP</b></dt>
<dd>*FILE, *PGM, *MSGF, *CSPMAP, and *CSPTBL
</dd>
<dt><b>PASCAL</b></dt>
<dd>no information is provided for programs in PASCAL
</dd>
<dt><b>PL/I</b></dt>
<dd>*FILE and *PGM
</dd>
<dt><b>RPG</b></dt>
<dd>*FILE, *DTAARA, and *PGM
</dd>
<dt><b>RPGLE</b></dt>
<dd>*FILE, *PGM, *DTAARA, and *SRVPGM
</dd>
</dl>
<p>This information can be displayed, printed, or placed in a database output file.
</p>
<p>If the information is shown or printed, a list (by library) of the specified user-authorized programs, along with the objects referenced by each program, is created. For files, information about how each file is used (input, output, update, unspecified, or any combination of these four) is also shown or printed.
</p>
<p>If the information is written to a database file, the database file will have a record format named QWHDRPPR. The fields in record format QWHDRPPR are the same as the fields in the IBM-supplied format QWHDRPPR in file QADSPPGM in the library QSYS. The following information is contained in the database file:
</p>
<ul>
<li>The name of the program and its text description
</li>
<li>The name of the library containing the program
</li>
<li>The number of objects referenced by the program
</li>
<li>The qualified name of the system object
</li>
<li>The information retrieval dates
</li>
<li>The object type of the referenced object
</li>
</ul>
<p>For files, the record contains the following additional fields:
</p>
<ul>
<li>The name of the file in the program (possibly different from the system object name if an override was in effect when the program was created)
</li>
<li>The program use of the file (1=input, 2=output, 4=update, 8=unspecified, or a number representing a combination of any of these four; for example, a code of 11 is a combination of 1, 2, and 8, which is input, output, and unspecified)
</li>
<li>The number of record formats referenced, if any
</li>
<li>The name of the record format used by the file and its record format level identifier
</li>
<li>The number of fields referenced for each format
</li>
</ul>
<p>
<b>Note: </b>This command lists which objects are referenced when the object is created or updated using UPDPGM or UPDSRVPGM. The referenced object names and libraries listed may be different than the actual names of the objects, since this information is stored when the program is created. Entries can be added as the ILE program or service program is updated using UPDPGM or UPDSRVPGM, but entries are never removed. If the object has been moved since the program was created, or an override was in effect during creation, the names listed may differ from the actual names.
</p>
<p><b>Restrictions:</b>
</p>
<ol>
<li>The user must have object operational authority for the program.
</li>
<li>Also, of the libraries specified by the library qualifier, only the libraries for which the user has read authority are searched for the programs.
</li>
</ol>
</div>
<table width="100%">
<tr><td align="right"><a href="#DSPPGMREF.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div>
<h3><a name="DSPPGMREF.PARAMETERS.TABLE">Parameters</a></h3>
<table border="1" cellpadding="4" cellspacing="0">
<!-- col1="10" col2="15" col3="30" col4="10" -->
<tr>
<th bgcolor="aqua" valign="bottom" align="left">Keyword</th>
<th bgcolor="aqua" valign="bottom" align="left">Description</th>
<th bgcolor="aqua" valign="bottom" align="left">Choices</th>
<th bgcolor="aqua" valign="bottom" align="left">Notes</th>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#DSPPGMREF.PGM"><b>PGM</b></a></td>
<td valign="top">Program</td>
<td valign="top"><i>Qualified object name</i></td>
<td valign="top" rowspan="3">Required, Positional 1</td>
</tr>
<tr>
<td valign="top">Qualifier 1: Program</td>
<td valign="top"><i>Generic name, name</i>, *ALL</td>
</tr><tr>
<td valign="top">Qualifier 2: Library</td>
<td valign="top"><i>Name</i>, <b><u>*LIBL</u></b>, *CURLIB, *USRLIBL, *ALLUSR, *ALL</td>
</tr><tr>
<td valign="top"><a href="#DSPPGMREF.OUTPUT"><b>OUTPUT</b></a></td>
<td valign="top">Output</td>
<td valign="top"><b><u>*</u></b>, *PRINT, *OUTFILE</td>
<td valign="top">Optional, Positional 2</td>
</tr>
<tr>
<td valign="top"><a href="#DSPPGMREF.OBJTYPE"><b>OBJTYPE</b></a></td>
<td valign="top">Object type</td>
<td valign="top">Single values: *ALL<br>Other values (up to 4 repetitions): <b><u>*PGM</u></b>, *SQLPKG, *SRVPGM, *MODULE</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top" rowspan="3"><a href="#DSPPGMREF.OUTFILE"><b>OUTFILE</b></a></td>
<td valign="top">File to receive output</td>
<td valign="top"><i>Qualified object name</i></td>
<td valign="top" rowspan="3">Optional</td>
</tr>
<tr>
<td valign="top">Qualifier 1: File to receive output</td>
<td valign="top"><i>Name</i></td>
</tr><tr>
<td valign="top">Qualifier 2: Library</td>
<td valign="top"><i>Name</i>, <b><u>*LIBL</u></b>, *CURLIB</td>
</tr><tr>
<td valign="top" rowspan="3"><a href="#DSPPGMREF.OUTMBR"><b>OUTMBR</b></a></td>
<td valign="top">Output member options</td>
<td valign="top"><i>Element list</i></td>
<td valign="top" rowspan="3">Optional</td>
</tr>
<tr>
<td valign="top">Element 1: Member to receive output</td>
<td valign="top">
<i>Name</i>, <b><u>*FIRST</u></b></td>
</tr>
<tr>
<td valign="top">Element 2: Replace or add records</td>
<td valign="top">
<b><u>*REPLACE</u></b>, *ADD</td>
</tr>
</table>
<table width="100%">
<tr><td align="right"><a href="#DSPPGMREF.Top_Of_Page">Top</a></td></tr>
</table>
</div>
<div> <a name="DSPPGMREF.PGM"></a>
<h3>Program (PGM)</h3>
<p>Specifies the name and library of the programs whose information is shown.
</p>
<p>This is a required parameter.
</p>
<p>The possible values for program name are:
</p>
<dl>
<dt><b><i>program-name</i></b></dt>
<dd>Specify the full name of a program. Information is shown only for the specified program.
</dd>
<dt><b><i>generic*-program-name</i></b></dt>
<dd>Specify a generic program name. Information is shown for all programs whose names begin with the specified characters.
</dd>
<dt><b>*ALL</b></dt>
<dd>The information is shown for all programs in the library or libraries.
</dd>
</dl>
<p><b>Qualifier 2: Library</b>
</p>
<dl>
<dt><b><u>*LIBL</u></b></dt>
<dd>All libraries in the library list for the current thread are searched until the first match is found.
</dd>
</dl>
<dl>
<dt><b>*CURLIB</b></dt>
<dd>The current library for the thread is searched. If no library is specified as the current library for the thread, the QGPL library is searched.
</dd>
</dl>
<dl>
<dt><b>*USRLIBL</b></dt>
<dd>If a current library entry exists in the library list for the current thread, the current library and the libraries in the user portion of the library list are searched. If there is no current library entry, only the libraries in the user portion of the library list are searched.
</dd>
</dl>
<dl>
<dt><b>*ALLUSR</b></dt>
<dd>All user libraries are searched. All libraries with names that do not begin with the letter Q are searched except for the following:
<p>
<pre>
#CGULIB #DSULIB #SEULIB
#COBLIB #RPGLIB
#DFULIB #SDALIB
</pre>
</p>
<p>Although the following Qxxx libraries are provided by IBM, they typically contain user data that changes frequently. Therefore, these libraries are considered user libraries and are also searched:
</p>
<p>
<pre>
QDSNX QRCLxxxxx QUSRIJS QUSRVxRxMx
QGPL QSRVAGT QUSRINFSKR
QGPL38 QSYS2 QUSRNOTES
QMGTC QSYS2xxxxx QUSROND
QMGTC2 QS36F QUSRPOSGS
QMPGDATA QUSER38 QUSRPOSSA
QMQMDATA QUSRADSM QUSRPYMSVR
QMQMPROC QUSRBRM QUSRRDARS
QPFRDATA QUSRDIRCL QUSRSYS
QRCL QUSRDIRDB QUSRVI
</pre>
</p>
<ol>
<li>'xxxxx' is the number of a primary auxiliary storage pool (ASP).
</li>
<li>A different library name, in the format QUSRVxRxMx, can be created by the user for each previous release supported by IBM to contain any user commands to be compiled in a CL program for the previous release. For the QUSRVxRxMx user library, VxRxMx is the version, release, and modification level of a previous release that IBM continues to support.
</li>
</ol>
</dd>
</dl>
<dl>
<dt><b>*ALL</b></dt>
<dd>All libraries in the system, including QSYS, are searched.
</dd>
</dl>
<dl>
<dt><b><i>name</i></b></dt>
<dd>Specify the name of the library to be searched.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#DSPPGMREF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="DSPPGMREF.OUTPUT"></a>
<h3>Output (OUTPUT)</h3>
<p>Specifies whether the output from the command is displayed at the requesting work station or printed with the job's spooled output.
</p>
<dl>
<dt><b><u>*</u></b></dt>
<dd>The output is displayed (if requested by an interactive job) or printed with the job's spooled output (if requested by a batch job).
</dd>
</dl>
<dl>
<dt><b>*PRINT</b></dt>
<dd>The output is printed with the job's spooled output.
</dd>
</dl>
<dl>
<dt><b>*OUTFILE</b></dt>
<dd>The output is directed to the database output file specified on the <b>File to receive output</b> prompt (OUTFILE parameter).
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#DSPPGMREF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="DSPPGMREF.OBJTYPE"></a>
<h3>Object type (OBJTYPE)</h3>
<p>Specifies the object type for which information is displayed.
</p>
<p>The possible values are:
</p>
<dl>
<dt><b><u>*PGM</u></b></dt>
<dd>Only program information is displayed.
</dd>
<dt><b>*ALL</b></dt>
<dd>Program information and SQL package information are displayed.
</dd>
<dt><b>*SQLPKG</b></dt>
<dd>Only SQL package information is displayed.
</dd>
<dt><b>*SRVPGM</b></dt>
<dd>Service program information is displayed.
</dd>
<dt><b>*MODULE</b></dt>
<dd>Module information is displayed.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#DSPPGMREF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="DSPPGMREF.OUTFILE"></a>
<h3>File to receive output (OUTFILE)</h3>
<p>Specifies the name and library of the database output file to which the output of the command is directed. If the file does not exist, this command creates a database output file in the specified library.
</p>
<p>The possible library values are:
</p>
<dl>
<dt><b><u>*LIBL</u></b></dt>
<dd>All libraries in the library list for the current thread are searched until the first match is found.
</dd>
</dl>
<dl>
<dt><b>*CURLIB</b></dt>
<dd>The current library for the job is used to locate the file. If no current entry exists in the library list, QGPL is used.
</dd>
<dt><b><i>library-name</i></b></dt>
<dd>Specify the name of the library where the file is located.
</dd>
</dl>
<p>
<b>Note: </b>The outfile format must be the same as QWHDRPPR of the system file QADSPPGM. More information on the OUTFILE format is in the Database information in the iSeries Information Center at http://www.ibm.com/eserver/iseries/infocenter book.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#DSPPGMREF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="DSPPGMREF.OUTMBR"></a>
<h3>Output member options (OUTMBR)</h3>
<p>Specifies the name of the database file member that receives the output of the command.
</p>
<p>The possible values are:
</p>
<dl>
<dt><b><u>*FIRST</u></b></dt>
<dd>The first member in the file receives the output. If no members exist in the file, the system creates a member with the name of the file specified in the <b>File to receive output</b> prompt (OUTFILE parameter).
</dd>
<dt><b><i>member-name</i></b></dt>
<dd>Specify the name of the file member that receives the output. If the name does not exist, the system creates it.
</dd>
</dl>
<p>The possible values for how information is stored are:
</p>
<dl>
<dt><b><u>*REPLACE</u></b></dt>
<dd>The output data replaces any existing records in the specified file member.
</dd>
<dt><b>*ADD</b></dt>
<dd>The output data is added to the end of existing records in the specified file member.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#DSPPGMREF.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="DSPPGMREF.COMMAND.EXAMPLES">Examples</a> </h3>
<p><b>Example 1: Storing a List of Programs</b>
</p>
<p>
<pre>
DSPPGMREF PGM(LIBRARY1/*ALL) OUTPUT(*OUTFILE)
OUTFILE(LIB2/FILE2)
</pre>
</p>
<p>This command creates a list of all authorized programs found in LIBRARY1, and of the files and other system objects that the programs reference. It stores the list in a database file named FILE2 in LIB2.
</p>
<p><b>Example 2: Printing a List of Objects</b>
</p>
<p>
<pre>
DSPPGMREF PGM(LIBRARY1/BILLING) OUTPUT(*PRINT)
</pre>
</p>
<p>This command creates a list of system objects that are referenced by the BILLING program in LIBRARY1. The output is spooled for printing.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#DSPPGMREF.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="DSPPGMREF.ERROR.MESSAGES">Error messages</a> </h3>
<p><b><u>*ESCAPE Messages</u></b>
</p>
<dl>
<dt><b>CPF3033</b></dt>
<dd>Object &amp;1 in library &amp;2 not found.
</dd>
<dt><b>CPF3034</b></dt>
<dd>Object &amp;1 in library &amp;2 not displayed.
</dd>
<dt><b>CPF3052</b></dt>
<dd>Description for file &amp;1 not available.
</dd>
<dt><b>CPF3061</b></dt>
<dd>Record format &amp;3 not found for outfile &amp;1.
</dd>
<dt><b>CPF3063</b></dt>
<dd>Output file &amp;1 in &amp;2 not physical file.
</dd>
<dt><b>CPF3064</b></dt>
<dd>Library &amp;1 not found.
</dd>
<dt><b>CPF3066</b></dt>
<dd>Error creating output file &amp;1 in &amp;2.
</dd>
<dt><b>CPF3067</b></dt>
<dd>Error while opening file &amp;1 in &amp;2.
</dd>
<dt><b>CPF3068</b></dt>
<dd>Error while writing to file &amp;1 in &amp;2.
</dd>
<dt><b>CPF3069</b></dt>
<dd>Error while closing file &amp;1 in &amp;2.
</dd>
<dt><b>CPF3070</b></dt>
<dd>Error creating member &amp;3 in file &amp;1.
</dd>
<dt><b>CPF3072</b></dt>
<dd>File &amp;1 in &amp;2 is a system file.
</dd>
<dt><b>CPF3074</b></dt>
<dd>Not authorized to library &amp;1.
</dd>
<dt><b>CPF3075</b></dt>
<dd>Library &amp;1 not available.
</dd>
<dt><b>CPF3076</b></dt>
<dd>Error occurred when on display.
</dd>
<dt><b>CPF3077</b></dt>
<dd>Error occurred when canceling display.
</dd>
<dt><b>CPF3084</b></dt>
<dd>Error clearing member &amp;3 in file &amp;1.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#DSPPGMREF.Top_Of_Page">Top</a></td></tr>
</table>
</body>
</html>