<?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="reference" /> <meta name="DC.Title" content="Run i5/OS PASE programs and procedures" /> <meta name="abstract" content="You can read this topic for information and examples about starting an i5/OS PASE program in a job, and calling i5/OS PASE procedures from your ILE programs." /> <meta name="description" content="You can read this topic for information and examples about starting an i5/OS PASE program in a job, and calling i5/OS PASE procedures from your ILE programs." /> <meta name="DC.Relation" scheme="URI" content="rzalfusing.htm" /> <meta name="DC.Relation" scheme="URI" content="rzalfshell.htm" /> <meta name="DC.Relation" scheme="URI" content="rzalfterm.htm" /> <meta name="DC.Relation" scheme="URI" content="rzalfileprogcalls.htm" /> <meta name="DC.Relation" scheme="URI" content="rzalfileproccalls.htm" /> <meta name="DC.Relation" scheme="URI" content="rzalfjnm.htm" /> <meta name="DC.Relation" scheme="URI" content="rzalfenvvariables.htm" /> <meta name="DC.Relation" scheme="URI" content="rzalfenvvariables.htm" /> <meta name="DC.Relation" scheme="URI" content="../apis/pase1b.htm" /> <meta name="DC.Relation" scheme="URI" content="../apis/pase__return.htm" /> <meta name="DC.Relation" scheme="URI" content="rzalfenvvariables.htm" /> <meta name="copyright" content="(C) Copyright IBM Corporation 2000, 2006" /> <meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2000, 2006" /> <meta name="DC.Format" content="XHTML" /> <meta name="DC.Identifier" content="rzalfrunning" /> <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>Run i5/OS PASE programs and procedures</title> </head> <body id="rzalfrunning"><a name="rzalfrunning"><!-- --></a> <!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script> <h1 class="topictitle1">Run <span class="keyword">i5/OS</span> PASE programs and procedures</h1> <div><p>You can read this topic for information and examples about starting an <span class="keyword">i5/OS™</span> PASE program in a job, and calling <span class="keyword">i5/OS</span> PASE procedures from your ILE programs.</p> <div class="section"><p>You can run your <span class="keyword">i5/OS</span> PASE program in any of several ways:</p> <ul><li>Within an <span class="keyword">i5/OS</span> job</li> <li>From an <span class="keyword">i5/OS</span> PASE interactive shell environment</li> <li>As a called program from an ILE procedure</li> </ul> <div class="note"><span class="notetitle">Note:</span> When you run an <span class="keyword">i5/OS</span> PASE program on <span class="keyword">i5/OS</span>, keep in mind that the <span class="keyword">i5/OS</span> PASE environment variables are independent of ILE environment variables. Setting a variable in one environment has no effect on the other environment.</div> </div> <div class="section"><h4 class="sectiontitle">ILE procedures that let you work with <span class="keyword">i5/OS</span> PASE programs</h4><p><span class="keyword">i5/OS</span> PASE provides a number of ILE procedure APIs that allow your ILE code to access <span class="keyword">i5/OS</span> PASE services (without special programming in your <span class="keyword">i5/OS</span> PASE program):</p> <ul><li>Qp2dlclose</li> <li>Qp2dlerror</li> <li>Qp2dlopen</li> <li>Qp2dlsym</li> <li>Qp2errnop</li> <li>Qp2free</li> <li>Qp2jobCCSID</li> <li>Qp2malloc</li> <li>Qp2paseCCSID</li> <li>Qp2ptrsize</li> </ul> </div> <div class="section"><h4 class="sectiontitle">Attach to ILE threads</h4><p> You can call a procedure in an <span class="keyword">i5/OS</span> PASE program from ILE code that runs in a thread that was not created by <span class="keyword">i5/OS</span> PASE (for example, a Java™ thread or a thread created by ILE pthread_create). Qp2CallPase automatically attaches the ILE thread to <span class="keyword">i5/OS</span> PASE (creating corresponding <span class="keyword">i5/OS</span> PASE pthread structures), but only if the <span class="keyword">i5/OS</span> PASE environment variable PASE_THREAD_ATTACH was set to Y when the <span class="keyword">i5/OS</span> PASE program started.</p> </div> <div class="section"><h4 class="sectiontitle">Return results from <span class="keyword">i5/OS</span> PASE to <span class="keyword">i5/OS</span> programs</h4><p>Using the <span class="keyword">i5/OS</span> _RETURN() function, you can call an <span class="keyword">i5/OS</span> PASE program and return results without ending the <span class="keyword">i5/OS</span> PASE environment. This allows you to start an <span class="keyword">i5/OS</span> PASE program and then call procedures in that program (using Qp2CallPase) after the QP2SHELL2 (but not QP2SHELL) or Qp2RunPase API returns.</p> </div> </div> <div> <ul class="ullinks"> <li class="ulchildlink"><strong><a href="rzalfshell.htm">Run an i5/OS PASE program with QP2SHELL()</a></strong><br /> You use QP2SHELL or QP2SHELL2 programs to run an <span class="keyword">i5/OS</span> PASE program from any <span class="keyword">i5/OS</span> command line and within any high-level language program, batch job, or interactive job.</li> <li class="ulchildlink"><strong><a href="rzalfterm.htm">Run an i5/OS PASE program with QP2TERM()</a></strong><br /> You use this <span class="keyword">i5/OS</span> program to run an <span class="keyword">i5/OS</span> PASE program in an interactive shell environment.</li> <li class="ulchildlink"><strong><a href="rzalfileprogcalls.htm">Run an i5/OS PASE program from within i5/OS programs</a></strong><br /> You can follow the steps in this topic to call the Qp2CallPase() and Qp2CallPase2() ILE procedures from within other ILE procedures to start and run an <span class="keyword">i5/OS</span> PASE program. An example follows.</li> <li class="ulchildlink"><strong><a href="rzalfileproccalls.htm">Call an i5/OS PASE procedure from within i5/OS programs</a></strong><br /> You can call the Qp2CallPase() and Qp2CallPase2() ILE procedures from within other ILE procedures to run an <span class="keyword">i5/OS</span> PASE program in a job where the <span class="keyword">i5/OS</span> PASE environment is already running.</li> <li class="ulchildlink"><strong><a href="rzalfjnm.htm">Use i5/OS PASE native methods from Java</a></strong><br /> You can use <span class="keyword">i5/OS</span> PASE native methods running in the <span class="keyword">i5/OS</span> PASE environment from your Java programs.</li> <li class="ulchildlink"><strong><a href="rzalfenvvariables.htm">Work with environment variables</a></strong><br /> <span class="keyword">i5/OS</span> PASE environment variables are independent of ILE environment variables. Setting a variable in one environment has no effect on the other environment.</li> </ul> <div class="familylinks"> <div class="parentlink"><strong>Parent topic:</strong> <a href="rzalfusing.htm" title="Your i5/OS PASE program can call other i5/OS programs running in your job, and other i5/OS programs can call procedures in your i5/OS PASE program.">Use i5/OS PASE programs in the i5/OS environment</a></div> </div> <div class="relconcepts"><strong>Related concepts</strong><br /> <div><a href="rzalfenvvariables.htm" title="i5/OS PASE environment variables are independent of ILE environment variables. Setting a variable in one environment has no effect on the other environment.">Work with environment variables</a></div> </div> <div class="relinfo"><strong>Related information</strong><br /> <div><a href="../apis/pase1b.htm">i5/OS PASE ILE Procedure APIs</a></div> <div><a href="../apis/pase__return.htm">_RETURN()--Return Without Exiting i5/OS PASE</a></div> </div> </div> </body> </html>