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

255 lines
9.9 KiB
HTML
Raw Permalink Normal View History

2024-04-02 14:02:31 +00:00
<!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Extract Program Information (EXTPGMINF)</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="EXTPGMINF.Top_Of_Page"></a>
<h2>Extract Program Information (EXTPGMINF)</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="#EXTPGMINF.PARAMETERS.TABLE">Parameters</a><br>
<a href="#EXTPGMINF.COMMAND.EXAMPLES">Examples</a><br>
<a href="#EXTPGMINF.ERROR.MESSAGES">Error messages</a></td>
</tr>
</table>
<div> <a name="EXTPGMINF"></a>
<p>The Extract Program Information (EXTPGMINF) command extracts external linkage information from extended program model (EPM) program objects, and stores this information in a library information file. External linkage information, which includes external variables and entry points, can only be extracted from EPM program objects. The C/400*, FORTRAN/400*, and Pascal compilers produce EPM program objects.
</p>
<p>A library information file is a collection of the linkage information for a set of related programs. The library information file name is used on the LIBFILE parameter of the SETPGMINF command. For example, a library information file is provided for the set of programs that make up the C/400 run-time library.
</p>
<p>The EXTPGMINF command lets you create a file to store the names of all the affected entry points in your application, instead of specifying each program object name on the SUBPGM parameter of the SETPGMINF command.
</p>
<h3>Error messages for EXTPGMINF</h3>
<p>None
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#EXTPGMINF.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div>
<h3><a name="EXTPGMINF.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="#EXTPGMINF.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>, *USRLIBL, *CURLIB</td>
</tr><tr>
<td valign="top" rowspan="3"><a href="#EXTPGMINF.FILE"><b>FILE</b></a></td>
<td valign="top">File to receive information</td>
<td valign="top"><i>Qualified object name</i></td>
<td valign="top" rowspan="3">Required, Positional 2</td>
</tr>
<tr>
<td valign="top">Qualifier 1: File to receive information</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"><a href="#EXTPGMINF.OPTION"><b>OPTION</b></a></td>
<td valign="top">Extract record options</td>
<td valign="top"><b><u>*REPLACE</u></b>, *DELETE, *UPDATE</td>
<td valign="top">Optional, Positional 3</td>
</tr>
<tr>
<td valign="top"><a href="#EXTPGMINF.CRTFILE"><b>CRTFILE</b></a></td>
<td valign="top">Create the file</td>
<td valign="top"><b><u>*NO</u></b>, *YES</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#EXTPGMINF.RECLIB"><b>RECLIB</b></a></td>
<td valign="top">Library name to record</td>
<td valign="top"><i>Name</i>, <b><u>*LIBL</u></b>, *FOUND</td>
<td valign="top">Optional</td>
</tr>
<tr>
<td valign="top"><a href="#EXTPGMINF.CHECK"><b>CHECK</b></a></td>
<td valign="top">Consistency Check</td>
<td valign="top"><b><u>*ALL</u></b>, *ENTRY, *DATA, *NONE</td>
<td valign="top">Optional</td>
</tr>
</table>
<table width="100%">
<tr><td align="right"><a href="#EXTPGMINF.Top_Of_Page">Top</a></td></tr>
</table>
</div>
<div> <a name="EXTPGMINF.PGM"></a>
<h3>Program (PGM)</h3>
<p>The PGM parameter specifies the name of the program and library that contains the linkage information you want to extract. This is a required parameter.
</p>
<dl>
<dt><b><i>program-name</i></b></dt>
<dd>Enter the name of a program that contains the linkage information you want to extract.
</dd>
<dt><b><i>generic*</i></b></dt>
<dd>Enter a generic name for the programs that contain the linkage information you want to extract.
</dd>
<dt><b>*ALL</b></dt>
<dd>Linkage information is extracted from all the programs that exist in the library.
</dd>
</dl>
<p>The possible library values are:
</p>
<dl>
<dt><b><u>*LIBL</u></b></dt>
<dd>The system searches the library list. You cannot specify *LIBL if you specify CRTFILE (*YES).
</dd>
<dt><b>*USRLIBL</b></dt>
<dd>The system searches the user portion of the library list.
</dd>
<dt><b>*CURLIB</b></dt>
<dd>The name of the current library is used. If you have not specified the current library, QGPL is used.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#EXTPGMINF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="EXTPGMINF.FILE"></a>
<h3>File to receive information (FILE)</h3>
<p>Specifies the name and library of the library information file. If the file does not exist, specify CRTFILE(*YES) to create it. If you do not, a message is issued.
</p>
<dl>
<dt><b><i>file-name</i></b></dt>
<dd>Enter the name of the file where the linkage information will be stored.
</dd>
</dl>
<p>The possible library values are:
</p>
<dl>
<dt><b><u>*LIBL</u></b></dt>
<dd>The system searches the library list.
</dd>
<dt><b>*CURLIB</b></dt>
<dd>The name of the current library is used. If you have not specified a current library, QGPL is used.
</dd>
<dt><b><i>library-name</i></b></dt>
<dd>Enter the name of the library where the linkage information file is located.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#EXTPGMINF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="EXTPGMINF.OPTION"></a>
<h3>Extract record options (OPTION)</h3>
<p>Specifies the option of replacing, deleting, or updating data in the library information file.
</p>
<dl>
<dt><b><u>*REPLACE</u></b></dt>
<dd>Clears all data in the library information file, and replaces it with the information extracted from the program specified on the PGM parameter.
</dd>
<dt><b>*DELETE</b></dt>
<dd>Deletes the data in the library information file for the program specified on the PGM parameter. The deletion of data from this library information file results in a compressed file. Data that does not relate to the program specified on the PGM parameter remains in the library information file. No new information is added to the library information file.
</dd>
<dt><b>*UPDATE</b></dt>
<dd>Deletes the existing information for the specified programs, and replaces it with new information. The deletion of data from this library information file results in a compressed file. If the specified library information file is empty, this option is equivalent to *REPLACE.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#EXTPGMINF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="EXTPGMINF.CRTFILE"></a>
<h3>Create the file (CRTFILE)</h3>
<p>Creates a library information file to store the extracted information.
</p>
<dl>
<dt><b><u>*NO</u></b></dt>
<dd>Does not create a library information file.
</dd>
<dt><b>*YES</b></dt>
<dd>Creates a library information file to store the extracted information. Select *YES when the specified library information file does not exist. If the file exists, a message is displayed.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#EXTPGMINF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="EXTPGMINF.RECLIB"></a>
<h3>Library name to record (RECLIB)</h3>
<p>Specifies the name of the library where the programs are stored. At run-time and when you enter the SETPGMINF command, the system searches for programs in the library you specify here.
</p>
<dl>
<dt><b><u>*LIBL</u></b></dt>
<dd>The system searches the library list.
</dd>
<dt><b>*FOUND</b></dt>
<dd>During the processing of the EXTPGMINF command, the system records the name of the library where the specified programs are found. The system searches for the library that contained the programs at the time the EXTPGMINF command was processed.
</dd>
<dt><b><i>library-name</i></b></dt>
<dd>Enter the name of the library.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#EXTPGMINF.Top_Of_Page">Top</a></td></tr>
</table>
<div> <a name="EXTPGMINF.CHECK"></a>
<h3>Consistency Check (CHECK)</h3>
<p>Specifies that the data and entry points in your library information file are checked for consistency. If *NONE is specified, then no warning message will be given; otherwise a PSE warning message will be issued.
</p>
<dl>
<dt><b><u>*ALL</u></b></dt>
<dd>Checks consistency of both data and entry points.
</dd>
<dt><b>*ENTRY</b></dt>
<dd>Checks consistency of entry points.
</dd>
<dt><b>*DATA</b></dt>
<dd>Checks consistency of data.
</dd>
<dt><b>*NONE</b></dt>
<dd>No consistency checking is performed.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#EXTPGMINF.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div>
<h3><a name="EXTPGMINF.COMMAND.EXAMPLES">Examples</a></h3>None
</div>
<table width="100%">
<tr><td align="right"><a href="#EXTPGMINF.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="EXTPGMINF.ERROR.MESSAGES">Error messages</a> </h3>
<p>None
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#EXTPGMINF.Top_Of_Page">Top</a></td></tr>
</table>
</body>
</html>