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

104 lines
3.9 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>Declare Processing Options (DCLPRCOPT)</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="DCLPRCOPT.Top_Of_Page"></a>
<h2>Declare Processing Options (DCLPRCOPT)</h2>
<table width="100%">
<tr>
<td valign="top" align="left"><b>Where allowed to run: </b>
<ul><li>Batch program (*BPGM)</li>
<li>Interactive program (*IPGM)</li>
</ul><b>Threadsafe: </b>Yes
</td>
<td valign="top" align="right">
<a href="#DCLPRCOPT.PARAMETERS.TABLE">Parameters</a><br>
<a href="#DCLPRCOPT.COMMAND.EXAMPLES">Examples</a><br>
<a href="#DCLPRCOPT.ERROR.MESSAGES">Error messages</a></td>
</tr>
</table>
<div> <a name="DCLPRCOPT"></a>
<p>The Declare Processing Options (DCLPRCOPT) command lets you define compiler processing options.
</p>
<p><b>Restrictions:</b>
</p>
<ul>
<li>This command is valid only within CL procedures. All declare commands (DCL, COPYRIGHT, DCLF, and DCLPRCOPT) must follow the PGM (Program) command and must precede all other commands in the program. The four types of declare commands can be intermixed in any order.
</li>
<li>Only one DCLPRCOPT command is allowed by the CL compiler; if more than one are specified, message CPD0323 is sent and the compile fails.
</li>
</ul>
</div>
<table width="100%">
<tr><td align="right"><a href="#DCLPRCOPT.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div>
<h3><a name="DCLPRCOPT.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"><a href="#DCLPRCOPT.SUBRSTACK"><b>SUBRSTACK</b></a></td>
<td valign="top">Subroutine stack depth</td>
<td valign="top">20-9999, <b><u>99</u></b></td>
<td valign="top">Optional, Positional 1</td>
</tr>
</table>
<table width="100%">
<tr><td align="right"><a href="#DCLPRCOPT.Top_Of_Page">Top</a></td></tr>
</table>
</div>
<div> <a name="DCLPRCOPT.SUBRSTACK"></a>
<h3>Subroutine stack depth (SUBRSTACK)</h3>
<p>Specifies how many entries you want to allow on the subroutine stack. Each time a CALLSUBR (Call Subroutine) command is run, an entry is added on the subroutine stack. The entry is removed when a RTNSUBR (Return from Subroutine) or ENDSUBR (End Subroutine) command is run. The subroutine stack can have multiple entries when CALLSUBR commands are run from within a subroutine; a subroutine can invoke another subroutine or recursively invoke itself.
</p>
<dl>
<dt><b><u>99</u></b></dt>
<dd>The maximum number of subroutine stack entries allowed when this CL program is run is 99.
</dd>
<dt><b><i>20-9999</i></b></dt>
<dd>Specify the maximum number of subroutine stack entries allowed when this CL program is run.
</dd>
</dl>
</div>
<table width="100%">
<tr><td align="right"><a href="#DCLPRCOPT.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="DCLPRCOPT.COMMAND.EXAMPLES">Examples</a> </h3>
<p>
<pre>
DCLPRCOPT SUBRSTACK(50)
</pre>
</p>
<p>This command sets the maximum number of subroutine stack entries to 50. When the CL program is run, if the subroutine stack depth exceeds 50, escape message CPF0822 will be sent.
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#DCLPRCOPT.Top_Of_Page">Top</a></td></tr>
</table>
<hr size="2" width="100%">
<div><h3><a name="DCLPRCOPT.ERROR.MESSAGES">Error messages</a> </h3>
<p>None
</p>
</div>
<table width="100%">
<tr><td align="right"><a href="#DCLPRCOPT.Top_Of_Page">Top</a></td></tr>
</table>
</body>
</html>