<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation"> <title>Using Registration Facility APIs and Registration Facility Preprocessing Exit Programs</title> <!-- Begin Header Records ========================================== --> <!-- 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. --> <!--File created for V5R2 --> <!--End Header Records --> <link rel="stylesheet" type="text/css" href="../rzahg/ic.css"> </head> <body> <!--Java sync-link--> <script type="text/javascript" language="Javascript" src="../rzahg/synch.js"> </script> <a name="top"></a> <h2>Using Registration Facility APIs and Registration Facility Preprocessing Exit Programs</h2> <p>The <strong>registration facility</strong> is a service that provides storage and retrieval operations for i5/OS<SUP>(TM)</SUP> and non-i5/OS exit points and exit programs. An <strong>exit point</strong> is a specific point in a system function or program where control may be passed to one or more specified exit programs. An <strong>exit program</strong> is a program to which control is passed from an exit point. This exit program can then supplement standard system functions in areas such as additional authorization checks, data transformations, auditing, and so on. Examples of exit programs often can be found with the exit point documentation. This <strong>registration facility repository</strong> allows multiple programs to associate with a given system function or application function.</p> <p>An exit point can call one program, a fixed number of programs, or all programs associated with an exit point. The exit program number associated with each exit program should be used to determine the sequence in which the exit programs are run.</p> <p>An exit point can be registered multiple times with the same exit point name; however, the combination of the exit point name and the exit point format name must be unique. Each exit program will be associated with a specific exit point and exit point format. The exit point format name can be used to indicate that a change occurred to the interface of the exit point. For example, this unique name (exit point and format) could be the result of a parameter change, version change, exit program data definition, and so forth. This unique name will facilitate having different exit programs run from different versions of a product for the same exit point name.</p> <p>The <strong>exit point provider</strong> is responsible for the following:</p> <ul> <li>Defining the exit point information</li> <li>Defining the details of the exit program, such as the number of exit programs to call and what the parameters (if any) will be</li> <li>Calling the exit programs</li> </ul> <p>If you intend to provide an exit point, you should become familiar with all the APIs and the preprocessing exit programs in the registration facility part before using them. The APIs and preprocessing exit programs are interdependent.</p> <p>If you intend to provide an exit program, you should become familiar with the <a href="qusaddep.htm">Add Exit Program</a> (QUSADDEP, QusAddExitProgram) and <a href="qusrmvep.htm">Remove Exit Program</a> (QUSRMVEP, QusRemoveExitProgram) APIs. When developing the exit program, the exit program provider is responsible for reclaiming all resources allocated by the exit program.</p> <p>The registration facility gives the exit point provider the option to perform preprocessing when an operation is requested against an exit point. The exit point provider is responsible for providing the preprocessing exit program. The preprocessing exit program is called by the registration facility before the requested function is performed on the exit point. (The requested function might be an add, remove, or retrieve operation.) The preprocessing exit program notifies the registration facility if the requested function should be completed. The following restrictions apply:</p> <ul> <li>The preprocessing exit program must exist when the exit point is registered.</li> <li>The Preprocessing Exit Program for Add and the Preprocessing Exit Program for Remove are required when a Preprocessing Exit Program for Retrieve is supplied.</li> </ul> <hr> <center> <table cellpadding="2" cellspacing="2"> <tr align="center"> <td valign="middle" align="center"><a href="#top">Top</a> | <a href="reg1.htm">Registration Facility APIs</a> | <a href= "aplist.htm">APIs by category</a></td> </tr> </table> </center> </body> </html>