796 lines
32 KiB
HTML
796 lines
32 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>Create Service Program (CRTSRVPGM)</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="CRTSRVPGM.Top_Of_Page"></a>
|
||
|
<h2>Create Service Program (CRTSRVPGM)</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="#CRTSRVPGM.PARAMETERS.TABLE">Parameters</a><br>
|
||
|
<a href="#CRTSRVPGM.COMMAND.EXAMPLES">Examples</a><br>
|
||
|
<a href="#CRTSRVPGM.ERROR.MESSAGES">Error messages</a></td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<div> <a name="CRTSRVPGM"></a>
|
||
|
<p>The Create Service Program (CRTSRVPGM) command creates a bound service program from a set of modules and binding directories.
|
||
|
</p>
|
||
|
<p><b>Restrictions:</b>
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li>You must have read (*READ) and add (*ADD) authorities to the library where the service program is to be created.
|
||
|
</li>
|
||
|
<li>You must have use (*USE) authority to the specified modules, service programs, and binding directories.
|
||
|
</li>
|
||
|
<li>You must have object operation (*OBJOPR) and *READ authorities to the file specified for the <b>Source file (SRCFILE)</b> parameter.
|
||
|
</li>
|
||
|
</ul>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<hr size="2" width="100%">
|
||
|
|
||
|
<div>
|
||
|
<h3><a name="CRTSRVPGM.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="#CRTSRVPGM.SRVPGM"><b>SRVPGM</b></a></td>
|
||
|
<td valign="top">Service 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: Service program</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>*CURLIB</u></b></td>
|
||
|
</tr><tr>
|
||
|
<td valign="top" rowspan="3"><a href="#CRTSRVPGM.MODULE"><b>MODULE</b></a></td>
|
||
|
<td valign="top">Module</td>
|
||
|
<td valign="top">Single values: <b><u>*SRVPGM</u></b><br>Other values (up to 300 repetitions): <i>Qualified object name</i></td>
|
||
|
<td valign="top" rowspan="3">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Qualifier 1: Module</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</td>
|
||
|
</tr><tr>
|
||
|
<td valign="top"><a href="#CRTSRVPGM.EXPORT"><b>EXPORT</b></a></td>
|
||
|
<td valign="top">Export</td>
|
||
|
<td valign="top"><b><u>*SRCFILE</u></b>, *ALL</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top" rowspan="3"><a href="#CRTSRVPGM.SRCFILE"><b>SRCFILE</b></a></td>
|
||
|
<td valign="top">Export source file</td>
|
||
|
<td valign="top"><i>Qualified object name</i></td>
|
||
|
<td valign="top" rowspan="3">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Qualifier 1: Export source file</td>
|
||
|
<td valign="top"><i>Name</i>, <b><u>QSRVSRC</u></b></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="#CRTSRVPGM.SRCMBR"><b>SRCMBR</b></a></td>
|
||
|
<td valign="top">Export source member</td>
|
||
|
<td valign="top"><i>Name</i>, <b><u>*SRVPGM</u></b></td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#CRTSRVPGM.TEXT"><b>TEXT</b></a></td>
|
||
|
<td valign="top">Text 'description'</td>
|
||
|
<td valign="top"><i>Character value</i>, <b><u>*BLANK</u></b></td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top" rowspan="3"><a href="#CRTSRVPGM.BNDSRVPGM"><b>BNDSRVPGM</b></a></td>
|
||
|
<td valign="top">Bind service program</td>
|
||
|
<td valign="top">Single values: <b><u>*NONE</u></b><br>Other values (up to 300 repetitions): <i>Qualified object name</i></td>
|
||
|
<td valign="top" rowspan="3">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Qualifier 1: Bind service 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></td>
|
||
|
</tr><tr>
|
||
|
<td valign="top" rowspan="3"><a href="#CRTSRVPGM.BNDDIR"><b>BNDDIR</b></a></td>
|
||
|
<td valign="top">Binding directory</td>
|
||
|
<td valign="top">Single values: <b><u>*NONE</u></b><br>Other values (up to 300 repetitions): <i>Qualified object name</i></td>
|
||
|
<td valign="top" rowspan="3">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top">Qualifier 1: Binding directory</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, *USRLIBL</td>
|
||
|
</tr><tr>
|
||
|
<td valign="top"><a href="#CRTSRVPGM.ACTGRP"><b>ACTGRP</b></a></td>
|
||
|
<td valign="top">Activation group</td>
|
||
|
<td valign="top"><i>Name</i>, <b><u>*CALLER</u></b></td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#CRTSRVPGM.OPTION"><b>OPTION</b></a></td>
|
||
|
<td valign="top">Creation options</td>
|
||
|
<td valign="top">Values (up to 5 repetitions): *GEN, *NOGEN, *NODUPPROC, *DUPPROC, *NODUPVAR, *DUPVAR, *WARN, *NOWARN, *RSLVREF, *UNRSLVREF</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#CRTSRVPGM.DETAIL"><b>DETAIL</b></a></td>
|
||
|
<td valign="top">Listing detail</td>
|
||
|
<td valign="top"><b><u>*NONE</u></b>, *BASIC, *EXTENDED, *FULL</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#CRTSRVPGM.ALWUPD"><b>ALWUPD</b></a></td>
|
||
|
<td valign="top">Allow update</td>
|
||
|
<td valign="top"><b><u>*YES</u></b>, *NO</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#CRTSRVPGM.ALWLIBUPD"><b>ALWLIBUPD</b></a></td>
|
||
|
<td valign="top">Allow *SRVPGM library update</td>
|
||
|
<td valign="top">*YES, <b><u>*NO</u></b></td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#CRTSRVPGM.USRPRF"><b>USRPRF</b></a></td>
|
||
|
<td valign="top">User profile</td>
|
||
|
<td valign="top"><b><u>*USER</u></b>, *OWNER</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#CRTSRVPGM.REPLACE"><b>REPLACE</b></a></td>
|
||
|
<td valign="top">Replace program</td>
|
||
|
<td valign="top"><b><u>*YES</u></b>, *NO</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#CRTSRVPGM.AUT"><b>AUT</b></a></td>
|
||
|
<td valign="top">Authority</td>
|
||
|
<td valign="top"><i>Name</i>, <b><u>*LIBCRTAUT</u></b>, *CHANGE, *ALL, *USE, *EXCLUDE</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#CRTSRVPGM.TGTRLS"><b>TGTRLS</b></a></td>
|
||
|
<td valign="top">Target release</td>
|
||
|
<td valign="top"><i>Character value</i>, <b><u>*CURRENT</u></b>, *PRV</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#CRTSRVPGM.ALWRINZ"><b>ALWRINZ</b></a></td>
|
||
|
<td valign="top">Allow reinitialization</td>
|
||
|
<td valign="top"><b><u>*NO</u></b>, *YES</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#CRTSRVPGM.STGMDL"><b>STGMDL</b></a></td>
|
||
|
<td valign="top">Storage model</td>
|
||
|
<td valign="top"><b><u>*SNGLVL</u></b>, *TERASPACE, *INHERIT</td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#CRTSRVPGM.IPA"><b>IPA</b></a></td>
|
||
|
<td valign="top">Interprocedural analysis</td>
|
||
|
<td valign="top">*YES, <b><u>*NO</u></b></td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
<tr>
|
||
|
<td valign="top"><a href="#CRTSRVPGM.IPACTLFILE"><b>IPACTLFILE</b></a></td>
|
||
|
<td valign="top">IPA control file</td>
|
||
|
<td valign="top"><i>Path name</i>, <b><u>*NONE</u></b></td>
|
||
|
<td valign="top">Optional</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
</div>
|
||
|
<div> <a name="CRTSRVPGM.SRVPGM"></a>
|
||
|
<h3>Service program (SRVPGM)</h3>
|
||
|
<p>Specifies the service program object to be created.
|
||
|
</p>
|
||
|
<p>This is a required parameter.
|
||
|
</p>
|
||
|
<p><b>Qualifier 1: Service program</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><i>name</i></b></dt>
|
||
|
<dd>Specify the name of the service program to be created.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Qualifier 2: Library</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*CURLIB</u></b></dt>
|
||
|
<dd>The service program is created in the current library for the job. If no library is specified as the current library for the job, the QGPL library is used.
|
||
|
</dd>
|
||
|
<dt><b><i>name</i></b></dt>
|
||
|
<dd>Specify the name of the library where the service program is to be created.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.MODULE"></a>
|
||
|
<h3>Module (MODULE)</h3>
|
||
|
<p>Specifies the list of modules that are copied and bound together to create the service program object. If duplicate module and library specifications are found, only the first instance of the duplicate module and library is used. Modules in this list are copied into the final service program object. Up to 300 names can be specified.
|
||
|
</p>
|
||
|
<p><b>Single values</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*SRVPGM</u></b></dt>
|
||
|
<dd>The module and library names specified for the <b>Service program (SRVPGM)</b> parameter are used.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Qualifier 1: Module</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b>*ALL</b></dt>
|
||
|
<dd>Find all module objects in the specified library or libraries.
|
||
|
</dd>
|
||
|
<dt><b><i>generic-name</i></b></dt>
|
||
|
<dd>Specify all module objects starting with the characters preceding the * in the specified library or libraries.
|
||
|
</dd>
|
||
|
<dt><b><i>name</i></b></dt>
|
||
|
<dd>Specify the name of the module that is copied to create the service program object.
|
||
|
</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 job is searched. If no library is specified as the current library for the job, the QGPL library is used.
|
||
|
</dd>
|
||
|
<dt><b>*USRLIBL</b></dt>
|
||
|
<dd>Only the libraries in the user portion of the job's library list are searched.
|
||
|
</dd>
|
||
|
<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="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.EXPORT"></a>
|
||
|
<h3>Export (EXPORT)</h3>
|
||
|
<p>Specifies the names of the data and procedures this service program exports.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*SRCFILE</u></b></dt>
|
||
|
<dd>The source file member identified by the <b>Source file (SRCFILE)</b> and <b>Source member (SRCMBR)</b> parameters contains EXPORT statements that identify the data and procedures to export from the service program.
|
||
|
</dd>
|
||
|
<dt><b>*ALL</b></dt>
|
||
|
<dd>All data and procedures that are exported from the specified modules are also exported from the service program.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.SRCFILE"></a>
|
||
|
<h3>Source file (SRCFILE)</h3>
|
||
|
<p>Specifies the source file containing the specifications for exporting data and procedures from this service program.
|
||
|
</p>
|
||
|
<p><b>Qualifier 1: Export source file</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>QSRVSRC</u></b></dt>
|
||
|
<dd>The source file containing the specifications for exporting data and procedures is named QSRVSRC.
|
||
|
</dd>
|
||
|
<dt><b><i>name</i></b></dt>
|
||
|
<dd>Specify the name of the source file containing the specifications for exporting data and procedures.
|
||
|
</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 job is searched. If no library is specified as the current library for the job, the QGPL library is used.
|
||
|
</dd>
|
||
|
<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="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.SRCMBR"></a>
|
||
|
<h3>Source member (SRCMBR)</h3>
|
||
|
<p>Specifies the name of the source file member containing the specifications for exporting data and procedures from this service program.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*SRVPGM</u></b></dt>
|
||
|
<dd>The source file member name is the same name as the service program name specified for the <b>Service program (SRVPGM)</b> parameter.
|
||
|
</dd>
|
||
|
<dt><b><i>name</i></b></dt>
|
||
|
<dd>Specify the name of the member in the source file containing the specifications for exporting data and procedures.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.TEXT"></a>
|
||
|
<h3>Text 'description' (TEXT)</h3>
|
||
|
<p>Specifies text that briefly describes the service program object.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*BLANK</u></b></dt>
|
||
|
<dd>Text is not specified.
|
||
|
</dd>
|
||
|
<dt><b><i>character-value</i></b></dt>
|
||
|
<dd>Specify no more than 50 characters of text, enclosed in apostrophes.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.BNDSRVPGM"></a>
|
||
|
<h3>Bind service program (BNDSRVPGM)</h3>
|
||
|
<p>Specifies the list of service program exports to examine at bind time to ensure they satisfy any module import requests. The service program exports are checked only if there are unresolved module import requests not satisfied by the set of module exports. Any service program specified on the BNDSRVPGM parameter that satisfies a module import request will be bound to the service program being created. The service program name and the library specified on the BNDSRVPGM parameter are saved to be used at run time. Up to 300 names can be specified.
|
||
|
</p>
|
||
|
<p><b>Single values</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NONE</u></b></dt>
|
||
|
<dd>No service programs are provided for symbol resolution.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Qualifier 1: Bind service program</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b>*ALL</b></dt>
|
||
|
<dd>Find all service program objects in the specified library or libraries.
|
||
|
<p>
|
||
|
<b>Note: </b>This value should only be specified in a user-controlled environment when you know exactly what is getting bound to your service program. Specifying *LIBL with *ALL may give you unpredictable results at service program run time. Specify the generic service program name or specific libraries to better control what gets bound to your service program.
|
||
|
</p>
|
||
|
</dd>
|
||
|
<dt><b><i>generic-name</i></b></dt>
|
||
|
<dd>Specify all service program objects starting with the characters preceding the * in the specified library or libraries.
|
||
|
</dd>
|
||
|
<dt><b><i>name</i></b></dt>
|
||
|
<dd>Specify the name of the service program to be examined during symbol resolution.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Qualifier 2: Library</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*LIBL</u></b></dt>
|
||
|
<dd>Search all of the libraries in the job's library list for the specified service programs. If one of the service programs has an export that satisfies a module import, then the library list is searched at run-time to find this service program.
|
||
|
</dd>
|
||
|
<dt><b><i>name</i></b></dt>
|
||
|
<dd>Specify the name of the library where the service programs can be found. If one of the service programs has an export that satisfies a module import, and a specific library was specified, the specified library is searched at run-time to find this service program.
|
||
|
<p>
|
||
|
<b>Note: </b>QTEMP is not a valid library name for this parameter.
|
||
|
</p>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.BNDDIR"></a>
|
||
|
<h3>Binding directory (BNDDIR)</h3>
|
||
|
<p>Specifies the list of binding directories that are used in symbol resolution. Up to 300 names can be specified.
|
||
|
</p>
|
||
|
<p><b>Single values</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NONE</u></b></dt>
|
||
|
<dd>No binding directory is specified.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Qualifier 1: Binding directory</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><i>name</i></b></dt>
|
||
|
<dd>Specify the name of the binding directory used in symbol resolution.
|
||
|
</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 job is searched. If no library is specified as the current library for the job, the QGPL library is used.
|
||
|
</dd>
|
||
|
<dt><b>*USRLIBL</b></dt>
|
||
|
<dd>Only the libraries in the user portion of the job's library list are searched.
|
||
|
</dd>
|
||
|
<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="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.ACTGRP"></a>
|
||
|
<h3>Activation group (ACTGRP)</h3>
|
||
|
<p>Specifies the activation group this service program is associated with when it is called. An activation group provides:
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li>Run-time data structures to support the running of programs
|
||
|
</li>
|
||
|
<li>Addressing protection
|
||
|
</li>
|
||
|
<li>A logical boundary for message creation
|
||
|
</li>
|
||
|
<li>A logical boundary for application cleanup processing
|
||
|
</li>
|
||
|
</ul>
|
||
|
<dl>
|
||
|
<dt><b><u>*CALLER</u></b></dt>
|
||
|
<dd>When this service program gets called, the service program is activated into the caller's activation group.
|
||
|
</dd>
|
||
|
<dt><b><i>name</i></b></dt>
|
||
|
<dd>Specify the name of the group that is associated with this called service program. If an activation group, by the specified name, currently exists when this service program is called, the service program is associated with the already existing activation group. If an activation group, by the specified name, does not currently exist when this service program is called, then a new activation group is created and the service program is associated with the newly created activation group.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.OPTION"></a>
|
||
|
<h3>Creation options (OPTION)</h3>
|
||
|
<p>Specifies options to be used when the service program object is created.
|
||
|
</p>
|
||
|
<p>You can specify up to 5 values for this parameter.
|
||
|
</p>
|
||
|
<p><b>Service Program Objects</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*GEN</u></b></dt>
|
||
|
<dd>A service program object is generated.
|
||
|
</dd>
|
||
|
<dt><b>*NOGEN</b></dt>
|
||
|
<dd>A service program object is not generated.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Duplicate Procedure Names</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NODUPPROC</u></b></dt>
|
||
|
<dd>During the symbol resolution phase of the binding process, each procedure name that is exported from the modules and service programs must be unique.
|
||
|
</dd>
|
||
|
<dt><b>*DUPPROC</b></dt>
|
||
|
<dd>During the symbol resolution phase of the binding process, the procedure names that are exported from the modules and service programs do not have to be unique. When multiple duplicate procedures are allowed, the first exported procedure in the list of specified modules and service program that matches the import request is the procedure that is selected.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Duplicate Variable Names</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NODUPVAR</u></b></dt>
|
||
|
<dd>During the symbol resolution phase of the binding process, each variable name that is exported from the modules and service programs must be unique.
|
||
|
</dd>
|
||
|
<dt><b>*DUPVAR</b></dt>
|
||
|
<dd>During the symbol resolution phase of the binding process, the variable names that are exported from the modules and service programs do not have to be unique. When multiple duplicate variables are allowed, the first exported variable in the list of specified modules and service programs that matches the import request is the variable that is selected.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Issuing Diagnostic Messages</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*WARN</u></b></dt>
|
||
|
<dd>If duplicate variables or procedures are found, then a diagnostic message is issued indicating what duplicates were found.
|
||
|
</dd>
|
||
|
<dt><b>*NOWARN</b></dt>
|
||
|
<dd>If duplicate variables or procedures are found, diagnostic messages are not issued.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<p><b>Resolving References (Imports)</b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*RSLVREF</u></b></dt>
|
||
|
<dd>All imports must be resolved to exports for the service program to be created.
|
||
|
</dd>
|
||
|
<dt><b>*UNRSLVREF</b></dt>
|
||
|
<dd>All imports do not need to resolve to exports for the service program to be created. If the service program tries to use one of these unresolved imports at run time, a MCH4439 run-time exception is issued.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.DETAIL"></a>
|
||
|
<h3>Listing detail (DETAIL)</h3>
|
||
|
<p>Specifies the level of detail to be printed.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NONE</u></b></dt>
|
||
|
<dd>A listing is not generated.
|
||
|
</dd>
|
||
|
<dt><b>*BASIC</b></dt>
|
||
|
<dd>Contains a listing of the options passed to CRTPGM, and processing statistics. This listing also contains the Brief Summary Table.
|
||
|
</dd>
|
||
|
<dt><b>*EXTENDED</b></dt>
|
||
|
<dd>In addition to the information provided in the *BASIC listing, this listing contains the Extended Summary Table and the Binding Information Listing.
|
||
|
</dd>
|
||
|
<dt><b>*FULL</b></dt>
|
||
|
<dd>This listing contains the *EXTENDED listing and the Cross-Reference Listing.
|
||
|
<p>
|
||
|
<b>Note: </b>If a printed listing is requested, the printer file *LIBL/QSYSPRT is used to generate the listing.
|
||
|
</p>
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.ALWUPD"></a>
|
||
|
<h3>Allow update (ALWUPD)</h3>
|
||
|
<p>Specifies whether to allow an update of the service program being created using the Update Service Program (UPDSRVPGM) command.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*YES</u></b></dt>
|
||
|
<dd>The service program can be updated using the UPDSRVPGM command.
|
||
|
</dd>
|
||
|
<dt><b>*NO</b></dt>
|
||
|
<dd>The UPDSRVPGM command cannot be used to update the service program being created.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.ALWLIBUPD"></a>
|
||
|
<h3>Allow *SRVPGM library update (ALWLIBUPD)</h3>
|
||
|
<p>Specifies whether to allow the bound service program library name of the service program being created to be changed when updated using the UPDSRVPGM command.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NO</u></b></dt>
|
||
|
<dd>The UPDSRVPGM command is not allowed to update the bound service program library names of the service program being created, even if *YES is specified for the <b>Allow update (ALWUPD)</b> parameter.
|
||
|
</dd>
|
||
|
<dt><b>*YES</b></dt>
|
||
|
<dd>The UPDSRVPGM command is allowed to update the bound service program library names of the service program being created when ALWUPD(*YES) is specified.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.USRPRF"></a>
|
||
|
<h3>User profile (USRPRF)</h3>
|
||
|
<p>Specifies whether authority checking is performed only for the user running the service program, or for both the user running the service program and the service program owner.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*USER</u></b></dt>
|
||
|
<dd>The user profile of the service program user is used when the service program is run.
|
||
|
</dd>
|
||
|
<dt><b>*OWNER</b></dt>
|
||
|
<dd>The user profile of both the service program owner and the service program user is used when the service program is run.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.REPLACE"></a>
|
||
|
<h3>Replace program (REPLACE)</h3>
|
||
|
<p>Specifies whether the existing service program is replaced if a service program by the same name already exists in the specified library.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*YES</u></b></dt>
|
||
|
<dd>Replace the existing service program by moving it to the QRPLOBJ library. Current activations of the service program will continue running using the version of the service program in the QRPLOBJ library.
|
||
|
<p>
|
||
|
<b>Note: </b>Both service programs must be owned by the same user for the replace to work.
|
||
|
</p>
|
||
|
</dd>
|
||
|
<dt><b>*NO</b></dt>
|
||
|
<dd>No replacement occurs. An error message is issued if a service program already exists with the name and library specified for the <b>&Service program (SRVPGM)</b> parameter.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.AUT"></a>
|
||
|
<h3>Authority (AUT)</h3>
|
||
|
<p>Specifies the authority you are giving to users who do not have specific authority for the object, who are not on an authorization list, and whose group profile or supplemental group profiles do not have specific authority for the object.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*LIBCRTAUT</u></b></dt>
|
||
|
<dd>The system determines the authority for the object by using the value specified for the <b>Create authority (CRTAUT)</b> parameter on the Create Library command (CRTLIB) for the library containing the object to be created. If the value specified for the CRTAUT parameter is changed, the new value will not affect any existing objects.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><b>*CHANGE</b></dt>
|
||
|
<dd>The user can perform all operations on the object except those limited to the owner or controlled by object existence (*OBJEXIST) and object management (*OBJMGT) authorities. The user can change and perform basic functions on the object. *CHANGE authority provides object operational (*OBJOPR) authority and all data authority. If the object is an authorization list, the user cannot add, change, or remove users.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><b>*ALL</b></dt>
|
||
|
<dd>The user can perform all operations except those limited to the owner or controlled by authorization list management (*AUTLMGT) authority. The user can control the object's existence, specify the security for the object, change the object, and perform basic functions on the object. The user also can change ownership of the object.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><b>*USE</b></dt>
|
||
|
<dd>The user can perform basic operations on the object, such as running a program or reading a file. The user cannot change the object. Use (*USE) authority provides object operational (*OBJOPR), read (*READ), and execute (*EXECUTE) authorities.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><b>*EXCLUDE</b></dt>
|
||
|
<dd>The user cannot access the object.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
<dl>
|
||
|
<dt><b><i>name</i></b></dt>
|
||
|
<dd>Specify the name of an authorization list to be used for authority to the object. Users included in the authorization list are granted authority to the object as specified in the list. The authorization list must exist when the object is created.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.TGTRLS"></a>
|
||
|
<h3>Target release (TGTRLS)</h3>
|
||
|
<p>Specifies the release of the operating system on which you intend to use the object being created.
|
||
|
</p>
|
||
|
<p>When specifying the <b>target-release</b> value, the format VxRxMx is used to specify the release, where Vx is the version, Rx is the release, and Mx is the modification level. For example, V5R3M0 is version 5, release 3, modification 0.
|
||
|
</p>
|
||
|
<p>Valid values depend on the current version, release, and modification level of the operating system, and they change with each new release. You can press F4 while prompting this command parameter to see a list of valid target release values.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*CURRENT</u></b></dt>
|
||
|
<dd>The object is to be used on the release of the operating system currently running on your system. The object can also be used on a system with any subsequent release of the operating system installed.
|
||
|
</dd>
|
||
|
<dt><b>*PRV</b></dt>
|
||
|
<dd>The object is to be used on the previous release with modification level 0 of the operating system. The object can also be used on a system with any subsequent release of the operating system installed.
|
||
|
</dd>
|
||
|
<dt><b><i>character-value</i></b></dt>
|
||
|
<dd>Specify the release in the format VxRxMx. The object can be used on a system with the specified release or with any subsequent release of the operating system installed.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.ALWRINZ"></a>
|
||
|
<h3>Allow reinitialization (ALWRINZ)</h3>
|
||
|
<p>Specifies if the static storage of the service program is allowed to be reinitialized while it is still active.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NO</u></b></dt>
|
||
|
<dd>The static storage of the service program can not be reinitialized while it is still active.
|
||
|
</dd>
|
||
|
<dt><b>*YES</b></dt>
|
||
|
<dd>The static storage of the service program is allowed to be reinitialized while the service program is still active.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.STGMDL"></a>
|
||
|
<h3>Storage model (STGMDL)</h3>
|
||
|
<p>Specifies the storage model attribute of the service program.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*SNGLVL</u></b></dt>
|
||
|
<dd>The service program is created with single-level storage model. When a single-level storage model service program is activated and run, it is supplied single-level storage for automatic and static storage. A single-level storage service program runs only in a single-level storage activation group.
|
||
|
</dd>
|
||
|
<dt><b>*TERASPACE</b></dt>
|
||
|
<dd>The service program is created with teraspace storage model. When a teraspace storage model service program is activated and run, it is supplied teraspace storage for automatic and static storage. A teraspace storage service program runs only in a teraspace storage activation group.
|
||
|
</dd>
|
||
|
<dt><b>*INHERIT</b></dt>
|
||
|
<dd>The service program is created with inherit storage model. When activated, the service program adopts the storage model of the activation group into which it is activated. An equivalent view is that it inherits the storage model of its caller. When the *INHERIT storage model is selected, *CALLER must be specified for the <b>Activation group (ACTGRP)</b> parameter.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.IPA"></a>
|
||
|
<h3>Interprocedural analysis (IPA)</h3>
|
||
|
<p>Specifies whether interprocedural analysis (IPA) is to be used during the service program creation. For more information on IPA, refer to the ILE Concepts book, SC41-5606.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NO</u></b></dt>
|
||
|
<dd>Interprocedural analysis will not be performed.
|
||
|
</dd>
|
||
|
<dt><b>*YES</b></dt>
|
||
|
<dd>Interprocedural analysis will be performed.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<div> <a name="CRTSRVPGM.IPACTLFILE"></a>
|
||
|
<h3>IPA control file (IPACTLFILE)</h3>
|
||
|
<p>Gives the path name of a file which contains interprocedural analysis (IPA) suboption information. This parameter is allowed only when IPA(*YES) is specified.
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b><u>*NONE</u></b></dt>
|
||
|
<dd>No IPA control file information is to be used when IPA(*YES) is specified.
|
||
|
</dd>
|
||
|
<dt><b><i>path-name</i></b></dt>
|
||
|
<dd>Specify the path name of the IPA control file to use when IPA(*YES) is specified. If the name is qualified it must be enclosed in apostrophes. An example of a qualified IPA control file name is '/directory1/directory2/myipactlfname'
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<hr size="2" width="100%">
|
||
|
<div><h3><a name="CRTSRVPGM.COMMAND.EXAMPLES">Examples</a> </h3>
|
||
|
<p>
|
||
|
<pre>
|
||
|
CRTSRVPGM SRVPGM(WORKDOC)
|
||
|
</pre>
|
||
|
</p>
|
||
|
<p>This command creates the service program object named WORKDOC in the current library. The service program will be created from one module object that is also named WORKDOC and is located using the current library for the job.
|
||
|
</p>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
<hr size="2" width="100%">
|
||
|
<div><h3><a name="CRTSRVPGM.ERROR.MESSAGES">Error messages</a> </h3>
|
||
|
<p><b><u>*ESCAPE Messages</u></b>
|
||
|
</p>
|
||
|
<dl>
|
||
|
<dt><b>CPF223E</b></dt>
|
||
|
<dd>Authority check for use adopted authority attribute failed.
|
||
|
</dd>
|
||
|
<dt><b>CPF5D05</b></dt>
|
||
|
<dd>Service program &1 not created.
|
||
|
</dd>
|
||
|
<dt><b>CPF5D07</b></dt>
|
||
|
<dd>Export source file record length greater than 240.
|
||
|
</dd>
|
||
|
<dt><b>CPF5D12</b></dt>
|
||
|
<dd>Error encountered during program or service program preparation.
|
||
|
</dd>
|
||
|
</dl>
|
||
|
</div>
|
||
|
<table width="100%">
|
||
|
<tr><td align="right"><a href="#CRTSRVPGM.Top_Of_Page">Top</a></td></tr>
|
||
|
</table>
|
||
|
</body>
|
||
|
</html>
|