ibm-information-center/dist/eclipse/plugins/i5OS.ic.rbam6_5.4.0.1/callp.htm

68 lines
5.0 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="task" />
<meta name="DC.Title" content="Use the CALLPRC command" />
<meta name="abstract" content="The Call Bound Procedure (CALLPRC) command calls a procedure named on the command, and passes control to it." />
<meta name="description" content="The Call Bound Procedure (CALLPRC) command calls a procedure named on the command, and passes control to it." />
<meta name="DC.subject" content="CALLPRC (Call Procedure) command, description, Call Procedure (CALLPRC) command, command, CL, CALLPRC (Call Procedure), Call Procedure (CALLPRC), procedure, calling, calling procedure, CALLPRC command description, program flow, example, CALLPRC command, passing, control to procedure, call stack, relationship to CALLPRC command, stack, call, removing call, stack, call" />
<meta name="keywords" content="CALLPRC (Call Procedure) command, description, Call Procedure (CALLPRC) command, command, CL, CALLPRC (Call Procedure), Call Procedure (CALLPRC), procedure, calling, calling procedure, CALLPRC command description, program flow, example, CALLPRC command, passing, control to procedure, call stack, relationship to CALLPRC command, stack, call, removing call, stack, call" />
<meta name="DC.Relation" scheme="URI" content="passc.htm" />
<meta name="DC.Relation" scheme="URI" content="../cl/callprc.htm" />
<meta name="DC.Relation" scheme="URI" content="passp.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1998, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="callp" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>Use the CALLPRC command</title>
</head>
<body id="callp"><a name="callp"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">Use the CALLPRC command</h1>
<div><p>The <span class="cmdname">Call Bound Procedure (CALLPRC)</span> command calls
a procedure named on the command, and passes control to it. </p>
<div class="section"> <p> The <span class="cmdname">Call Bound Procedure (CALLPRC)</span> command
has the following format: </p>
<pre>CALLPRC PRC(procedure-name) PARM(parameter-values)
RTNVAL(return-value-variable)</pre>
<p>The procedure name may not be a variable. When the called procedure
finishes running, control returns to the next command in the calling procedure.</p>
<br /><img src="rbafn539.gif" alt="The procedure name may not be a variable. The PARM parameter is discussed under Passing Parameters between Programs and Procedures. When the called procedure finishes running, control returns to the next command in the calling procedure." /><br /><p>The sequence of CALLPRC commands
in a set of procedures calling each other is the call stack. For example,
look at this series:</p>
<br /><img src="rbafn540.gif" alt="The sequence of CALLPRC commands in a set of procedures calling each other is the call stack example." /><br /><p>In this series, the call
stack is: </p>
<br /><img src="rbafn530.gif" alt="Call stack example." /><br /><p>When PROGC finishes processing, control returns to PROGB at the
command after the call to PROGC. Control is thus returned up the call stack.
This occurs whether or not PROGC ends with a <span class="cmdname">Return
(RETURN)</span> or an <span class="cmdname">End Program (ENDPGM)</span> command.</p>
<p>A
CL procedure can call itself.</p>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="passc.htm" title="This presents different options for passing control to a procedure.">Pass control</a></div>
</div>
<div class="reltasks"><strong>Related tasks</strong><br />
<div><a href="passp.htm" title="When you pass control to another program or procedure, you can also pass information to it for modification or use within the receiving program or procedure.">Pass parameters</a></div>
</div>
<div class="relinfo"><strong>Related information</strong><br />
<div><a href="../cl/callprc.htm">Call Bound Procedure (CALLPRC) command</a></div>
</div>
</div>
</body>
</html>