<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><!-- InstanceBegin template="../../../Templates/DocTemp.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>OmniAccess API - Functions - OAJOIN</title>
<!-- InstanceEndEditable --> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../../../docs.css" rel="stylesheet" type="text/css">
<script language="JavaScript1.2" src="../../../docs.js"></script>
<!-- InstanceBeginEditable name="head" --><!-- InstanceEndEditable -->
</head>

<body>
<table width="100%" class="lightblue" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><a href="http://www.omnidex.com"><img src="../../../images/flatlogo.gif" width="95" height="25" hspace="3" vspace="3" border="0"></a></td>
    <td><img src="../../../images/omnidex.gif" width="109" height="25" hspace="3" vspace="3"></td>
    <td align="right" valign="top"><p class="banner"><a href="../../../Contents.htm">Contents</a> 
        | <a href="../../../Quick%20Links.htm">Quick Links</a></p></td>
  </tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td width="175" class="bar"><p class="banner">&nbsp;</p></td>
    <td align="right" class="bar"> <!-- InstanceBeginEditable name="Section Title" -->
      <h1>OmniAccess API - Functions</h1>
      <!-- InstanceEndEditable --></td>
  </tr>
  <tr> 
    <td width="175" class="left1 lightblue"><img src="../../../images/blank.gif" width="10" height="20"> 
    </td>
    <td valign="top" class="left1 lightblue">&nbsp; </td>
  </tr>
  <tr> 
    <td width="175" valign="top" class="left"><!-- InstanceBeginEditable name="leftnav" --> 
      <p><a href="#syntax">Syntax</a></p>
      <p><a href="#options">Options</a></p>
      <p><a href="#example">Example</a></p>
      <p class="line">&nbsp; </p>
      <p><a href="../OmniAccess%20API.htm">OmniAccess API</a></p>
      <p><a href="../Programming%20Basics.htm">Programming Basics</a></p>
      <p><a href="../Managing%20Data.htm">Managing Data</a></p>
      <p><a href="../Functions.htm">Functions</a></p>
      <p>&nbsp;</p>
      <!-- InstanceEndEditable --></td>
    <td valign="top" class="content"> <!-- InstanceBeginEditable name="Content" --> 
      <h2>OAJOIN</h2>
      <p>oajoin qualifies rows in a table using column values of rows previously 
        qualified by oaqualify in another table, and returns a count of the qualified 
        rows. This provides joined access to data across tables.</p>
      <p>oajoin qualifies rows in an OMNIDEX indexed table that is related to 
        another OMNIDEX indexed table by some column. It does this by using the 
        values in the from_col of qualified rows of from_table to search against 
        to_col of to_table.</p>
      <p>These are the requirements for oajoin:</p>
      <ul>
        <li>From_table must be the table referenced in the most recent successful 
          oaqualify or oajoin for that cursor. </li>
        <li>From_col must exist in from_table. </li>
        <li>To_col must be a valid column in to_table and a non-parsed, non-grouped 
          OMNIDEX index. </li>
      </ul>
      <p>or</p>
      <ul>
        <li>To_col must be the link column that links to_table to from_table. 
        </li>
        <li>For OMNIDEX Client 2.0 and later, from_table must be in the domain 
          that corresponds to the parent table referenced in the to_owner parameter.</li>
      </ul>
      <p class="line">&nbsp;</p>
      <h3><a name="multidomain"></a>Using Multi-Domain Children</h3>
      <p> When a child table belongs to multiple domains, it is called a multi-domain 
        child. oajoin lets you exploit a child table&#8217;s links by performing 
        bitmap joins between domains. A bitmap join substitutes the OMNIDEX ID 
        of the parent table in the second domain for the OMNIDEX ID of the parent 
        table in the first domain.</p>
      <p>Although you can also perform this qualification with single domain child 
        tables that have a common linking column to another parent table, multiple-domain 
        children perform this qualification much more quickly.</p>
      <p>To perform a multi-domain qualification, first qualify rows in a domain. 
        Then call oajoin, passing:</p>
      <ul>
        <li>the name of the multiple-domain child table in the from_table and 
          to_table parameters </li>
        <li>the name of the parent table in the domain to which you want to switch 
          in the to_owner parameter </li>
        <li>the name of the column linking the child table to the first domain 
          in the from_col parameter </li>
        <li>the name of the column linking the child table to the second domain 
          in the to_col parameter </li>
      </ul>
      <p>This oajoin substitutes the OMNIDEX ID of the second domain&#8217;s parent 
        table for the OMNIDEX ID of the first domain&#8217;s parent table. You 
        must then call oajoin a second time to join to the parent table of the 
        second domain if you want access to those parent rows for reporting.</p>
      <p>For example, you have an ORDERS table linked to both CUSTOMERS and PRODUCTS 
        domains. After you have qualified rows using ORDERS in the CUSTOMERS domain, 
        you can then call oajoin to bitmap join to the PRODUCTS domain.</p>
      <p class="ex">oajoin( cursor1, &quot;;&quot;, status, &quot;ORDERS;&quot;, 
        &quot;CUSTOMER_NO;&quot;, &quot;PRODUCTS;&quot;, &quot;ORDERS;&quot;, 
        &quot;PRODUCT_NO&quot;)</p>
      <p>You then call a second oajoin to link to the PRODUCTS table:</p>
      <p class="ex">oajoin( cursor1, &quot;;&quot;, status, &quot;ORDERS;&quot;, 
        &quot;PRODUCT_NO;&quot;, &quot;;&quot;, &quot;PRODUCTS;&quot;, &quot;PRODUCT_NO&quot;)</p>
      <p>You can then call oaselect to retrieve rows from the table in the second 
        domain. If the native management database system is relational, you can 
        oaselect against multiple tables in the second domain.</p>
      <p class="line">&nbsp;</p>
      <h3><a name="qualifiedsubset"></a>The Qualified Subset</h3>
      <p>If a call to oajoin is successful, the existing qualified subset of rows 
        is converted to reflect the related rows in to_table. This creates a new 
        qualified subset that you can further qualify by calling oaqualify</p>
      <p>If there are no rows related to the existing qualified subset, either 
        of two things can happen:</p>
      <p>If the AUTORESET option was used and oajoin does not qualify rows in 
        to_table, the qualified subset of rows still reflects the original rows 
        qualified in from_table.</p>
      <p>By default, or if the NOAUTORESET option was used, and the oajoin does 
        not qualify rows in to_table, the qualified subset of rows is set to a 
        null.</p>
      <p>For some applications, especially batch reports, it is desirable to abandon 
        the retrieval if a join qualifies no rows. Such applications should call 
        oajoin with the NOAUTORESET option, which sets the qualified subset to 
        null if a search does not qualify any rows.</p>
      <p class="line">&nbsp;</p>
      <h3><a name="undo"></a>The UNDO Option</h3>
      <p>The UNDO option backs out of the most recent successful oajoin and restores 
        the qualified subset of rows that immediately preceded it. To restore 
        the qualified subset of rows to the way it was before a join, call oajoin 
        with the UNDO option.</p>
      <p>You can only use the UNDO option once in succession. If you try to call 
        oajoin with the UNDO option several times in succession, oajoin returns 
        an error. This means that you can only back out of, or undo, one oajoin 
        (the most recent) in a series of successful oajoin operations.</p>
      <p>When you use the UNDO option, the from_table, from_col, to_table and 
        to_col parameters are ignored. However, you must still pass a pointer 
        to a valid address. Passing a null value for any of the parameters returns 
        an error.</p>
      <p>&nbsp;</p>
      <p class="line">&nbsp;</p>
      <h3><a name="syntax"></a>Syntax</h3>
      <P class="ex">oajoin (cursor, options, status, from_table, from_column, 
        <br>
        <img src="../../../images/blank.gif" width="30" height="10">to_owner, 
        to_table, to_column)</P>
      <P class="indent"><strong>cursor</strong> -- Is a 32-bit signed integer 
        passed by value. This is the value returned by a successful call to oaopencursor</P>
      <p class="indent"><strong>options</strong> -- Is a 256-byte character string, 
        passed by reference and terminated by a semicolon or a null character. 
        It indicates the action(s) for oajoin to take.</p>
      <p class="indent"><strong>status</strong> -- Returns information about the 
        success or failure of the oajoin routine. A zero status.error means a 
        successful call to oajoin. The status structure is passed by reference 
        and contains fourteen 32-bit signed integers, followed by a 36-character 
        buffer.</p>
      <p class="indent"><strong>from_table</strong> -- The name of the table to 
        join to another table. From_table must be the table specified in the most 
        recent oaqualify,or the to_table specified in the most recent oajoin, 
        for that cursor. From_table is a character value passed by reference, 
        not longer than 33 bytes including a semicolon or null terminator.</p>
      <p class="indent"><strong>from_col</strong> -- The name of the column within 
        from_table that establishes a relationship with to_table. From_col is 
        a character value passed by reference, not longer than 33 bytes including 
        a semicolon or null terminator.</p>
      <p class="indent"><strong>to_owner</strong> -- The name of the domain to 
        join to as expressed by the domain&#8217;s parent table. To_owner is a 
        character value passed by reference, not longer than 33 bytes including 
        a semicolon or null terminator. This parameter is new for OMNIDEX versions 
        3.4 and later.</p>
      <p class="indent"><strong>to_table</strong> -- The name of the table to 
        join to. To_table is a character value passed by reference, not longer 
        than 33 bytes including a semicolon or null terminator. To_tablemust be 
        part of an OMNIDEX domain passed in the to_owner parameter.</p>
      <p class="indent"><strong>to_column</strong> -- The name of the column within 
        to_tableto join to. To_col is a character value passed by reference, not 
        longer than 33 bytes including a semicolon or null terminator. To_col 
        must be a non-parsed, non-grouped OMNIDEX index, unless to_col is the 
        link column, specified during OMNIDEX instal-lation, that prejoins from_table 
        to to_table. To_col can be any non-parsed keyword index, or any keyword 
        composite index as long as it&#8217;s not of mixed data type.</p>
      <p>&nbsp;</p>
      <p class="line">&nbsp;</p>
      <h3><a name="options"></a>Options</h3>
      <P class="indent"><strong>COUNT</strong> -- returns a count 
                    of the rows in to_table that correspond to the rows in from_table. 
                    This is the default in joins across domains.<br>
                    COUNT is required when joining from a parent table to continue 
                    a search using indexes in a child table that were not installed 
                    with the Record Complex option.</P>
                  <p class="indent"><strong>NOCOUNT</strong> -- does not return 
                    a count of the rows in to_table that correspond to the rows 
                    in from_table if the count would impact performance. This 
                    is the default on joins within a domain.</p>
                  <p class="indent"><strong>AUTORESET</strong> -- automatically 
                    preserves the previous subset of qualified rows if the join 
                    doesn&#8217;t qualify any rows.</p>
                  <p class="indent"><strong>NOAUTORESET</strong> -- sets the subset 
                    of qualified rows to null if the join doesn&#8217;t qualify 
                    any rows. This is the default.</p>
                  <p class="indent"><strong>UNDO</strong> -- restores the qualified 
                    subset of rows to the way it was before the last successful 
                    oajoin.</p>
                  <p>Passing a semicolon or null in the options parameter causes 
                    oajoin to use the NOCOUNT option for joins within a domain. 
                    A count is returned for all joins across domains.</p>
	  <p>&nbsp;</p>
      <p class="line">&nbsp;</p>
      <h3><a name="example"></a>Example</h3>
      <p>&nbsp;</p>
      <!-- InstanceEndEditable --><P align="right"><a href="#">Top</a> </P>
	  </td>
  </tr>
  <tr>
    <td width="175" class="bbar">
<p>&nbsp;</p></td>
    <td align="right" valign="middle" class="bbar"> <p class="banner">Omnidex 
        Version 4.1 Build 1 - E10.04 - Dynamic Information Systems Corporation 
        - Copyright &copy; 2004</p></td>
  </tr>
</table>
<div class="menu0" id="m1" onMouseOver="changeClass('menu1','m1'); changeVisibility('visible','s1');" onMouseOut="changeClass('menu0','m1'); changeVisibility('hidden','s1');"> 
  <a href="../../../index.htm">Home</a></div>      
<div class="menu0" id="m2" onMouseOver="changeClass('menu1','m2'); changeVisibility('visible','s2');" onMouseOut="changeClass('menu0','m2'); changeVisibility('hidden','s2');"> 
  <a href="../../../Omnidex%20Concepts/Omnidex%20Overview.htm">Omnidex</a></div>      
<div class="menu0" id="m3" onMouseOver="changeClass('menu1','m3'); changeVisibility('visible','s3');" onMouseOut="changeClass('menu0','m3'); changeVisibility('hidden','s3');"> 
  <a href="../../../Getting%20Started/Getting%20Started.htm">Getting Started </a></div>      
<div class="menu0" id="m4" onMouseOver="changeClass('menu1','m4'); changeVisibility('visible','s4');" onMouseOut="changeClass('menu0','m4'); changeVisibility('hidden','s4');"> 
  <a href="../../Development.htm">Development</a></div>      
<div class="menu0" id="m5" onMouseOver="changeClass('menu1','m5'); changeVisibility('visible','s5');" onMouseOut="changeClass('menu0','m5'); changeVisibility('hidden','s5');"> 
  <a href="../../../Utilities/Utilities.htm">Utilities</a></div>      
<div class="menu0" id="m6" onMouseOver="changeClass('menu1','m6'); changeVisibility('visible','s6');" onMouseOut="changeClass('menu0','m6'); changeVisibility('hidden','s6');"> 
  <a href="../../../Appendix/Appendix.htm">Appendix</a></div>
    <td>&nbsp;</td>
  </tr>
</table> 
<table id="s1" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m1'); changeVisibility('visible','s1');" onMouseOut="changeClass('menu0','m1'); changeVisibility('hidden','s1');">
  <tr> 
    <td id="s11" class="menu1" onMouseOver="changeClass('menu0','s11');" onMouseOut="changeClass('menu1','s11');"><a href="../../../Whats%20New.htm">What's 
      New!</a></td>
  </tr>
  <tr> 
    <td id="s12" class="menu1" onMouseOver="changeClass('menu0','s12');" onMouseOut="changeClass('menu1','s12');"><a href="../../../Quick%20Links.htm">Quick 
      Links</a></td>
  </tr>
  <tr> 
    <td id="s13" class="menu1" onMouseOver="changeClass('menu0','s13');" onMouseOut="changeClass('menu1','s13');"><a href="../../../Contents.htm">Contents</a></td>
  </tr>
</table>
<table id="s2" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m2'); changeVisibility('visible','s2');" onMouseOut="changeClass('menu0','m2'); changeVisibility('hidden','s2');">
  <tr> 
    <td id="s21" class="menu1" onMouseOver="changeClass('menu0','s21');" onMouseOut="changeClass('menu1','s21');"><a href="../../../Omnidex%20Concepts/Features/Features.htm">Features</a></td>
  </tr>
  <tr> 
    <td id="s22" class="menu1" onMouseOver="changeClass('menu0','s22');" onMouseOut="changeClass('menu1','s22');"><a href="../../../Omnidex%20Concepts/Indexing%20Strategies/Indexing%20Strategies.htm">Indexing 
      Strategies</a></td>
  </tr>
  <tr> 
    <td id="s23" class="menu1" onMouseOver="changeClass('menu0','s23');" onMouseOut="changeClass('menu1','s23');"><a href="../../../Omnidex%20Concepts/Indexing%20Options/Indexing%20Options.htm">Indexing 
      Options </a></td>
  </tr>
  <tr> 
    <td id="s24" class="menu1" onMouseOver="changeClass('menu0','s24');" onMouseOut="changeClass('menu1','s24');"><a href="../../../Omnidex%20Concepts/Index%20Maintenance/Index%20Maintenance.htm">Index 
      Maintenance </a></td>
  </tr>
  <tr> 
    <td id="s25" class="menu1" onMouseOver="changeClass('menu0','s25');" onMouseOut="changeClass('menu1','s25');"><a href="../../../Omnidex%20Concepts/Partitioning/Partitioning.htm">Optimization</a></td>
  </tr>
  <tr> 
    <td id="s26" class="menu1" onMouseOver="changeClass('menu0','s26');" onMouseOut="changeClass('menu1','s26');"><a href="../../../Omnidex%20Concepts/Index%20Maintenance/Index%20Maintenance.htm">Partitioning</a></td>
  </tr>
  <tr> 
    <td id="s27" class="menu1" onMouseOver="changeClass('menu0','s27');" onMouseOut="changeClass('menu1','s27');"><a href="../../../Omnidex%20Concepts/Text/Omnidex%20Text.htm">Omnidex Text</a></td>
  </tr>
</table>
<table id="s3" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m3'); changeVisibility('visible','s3');" onMouseOut="changeClass('menu0','m3'); changeVisibility('hidden','s3');">
  <tr> 
    <td id="s31" class="menu1" onMouseOver="changeClass('menu0','s31');" onMouseOut="changeClass('menu1','s31');"><a href="../../../Getting%20Started/1%20-%20Installation%20and%20Setup.htm">Server 
      Setup Guides</a></td>
  </tr>
  <tr> 
    <td id="s32" class="menu1" onMouseOver="changeClass('menu0','s32');" onMouseOut="changeClass('menu1','s32');"><a href="../../../Getting%20Started/Omnidex%20Client/Windows%20Client.htm">Windows 
      Client</a></td>
  </tr>
  <tr> 
    <td id="s33" class="menu1" onMouseOver="changeClass('menu0','s33');" onMouseOut="changeClass('menu1','s33');"><a href="../../../Database%20Platforms/Supported%20Database%20Platforms.htm">Database 
      Platforms </a></td>
  </tr>
  <tr> 
    <td id="s34" class="menu1" onMouseOver="changeClass('menu0','s34');" onMouseOut="changeClass('menu1','s34');"><a href="../../../Environment%20Catalog/Environment%20Catalog.htm">Environment 
      Catalog</a> </td>
  </tr>
</table>
<table id="s4" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m4'); changeVisibility('visible','s4');" onMouseOut="changeClass('menu0','m4'); changeVisibility('hidden','s4');">
  <tr> 
    <td id="s41" class="menu1" onMouseOver="changeClass('menu0','s41');" onMouseOut="changeClass('menu1','s41');"><a href="../../../SQL%20Reference/SQL%20Reference.htm">SQL 
      Reference</a> </td>
  </tr>
  <tr> 
    <td id="s42" class="menu1" onMouseOver="changeClass('menu0','s42');" onMouseOut="changeClass('menu1','s42');"><a href="../../ODBC/ODBC.htm">ODBC</a></td>
  </tr>
  <tr> 
    <td id="s43" class="menu1" onMouseOver="changeClass('menu0','s43');" onMouseOut="changeClass('menu1','s43');"><a href="../../JDBC/JDBC.htm">JDBC</a></td>
  </tr>
  <tr> 
    <td id="s44" class="menu1" onMouseOver="changeClass('menu0','s44');" onMouseOut="changeClass('menu1','s44');"><a href="../../OmniAccess%20API/OmniAccess%20API.htm">OmniAccess 
      API</a></td>
  </tr>
  <tr> 
    <td id="s45" class="menu1" onMouseOver="changeClass('menu0','s45');" onMouseOut="changeClass('menu1','s45');"><a href="../../Debugging/OMNIDEX_DEBUG.htm">Debugging</a></td>
  </tr>
</table>
<table id="s5" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m5'); changeVisibility('visible','s5');" onMouseOut="changeClass('menu0','m5'); changeVisibility('hidden','s5');">
  <tr> 
    <td id="s51" class="menu1" onMouseOver="changeClass('menu0','s51');" onMouseOut="changeClass('menu1','s51');"><A href="../../../Utilities/DBINSTAL/DBINSTAL.htm">DBINSTAL</A></td>
  </tr>
  <tr> 
    <td id="s52" class="menu1" onMouseOver="changeClass('menu0','s52');" onMouseOut="changeClass('menu1','s52');"><a href="../../../Utilities/DSEDIT/DSEDIT.htm">DSEDIT</a></td>
  </tr>
  <tr> 
    <td id="s53" class="menu1" onMouseOver="changeClass('menu0','s53');" onMouseOut="changeClass('menu1','s53');"><a href="../../../Utilities/NSADMIN/NSADMIN.htm">NSADMIN</a></td>
  </tr>
  <tr> 
    <td id="s54" class="menu1" onMouseOver="changeClass('menu0','s54');" onMouseOut="changeClass('menu1','s54');"><a href="../../../Utilities/OACOMP/OACOMP.htm">OACOMP</a></td>
  </tr>
  <tr> 
    <td id="s55" class="menu1" onMouseOver="changeClass('menu0','s55');" onMouseOut="changeClass('menu1','s55');"><a href="../../../Utilities/OADECOMP/OADECOMP.htm">OADECOMP</a></td>
  </tr>
  <tr> 
    <td id="s56" class="menu1" onMouseOver="changeClass('menu0','s56');" onMouseOut="changeClass('menu1','s56');"><a href="../../../Utilities/OAHELPER/OAHELPER.htm">OAHELPER</a></td>
  </tr>
  <tr> 
    <td id="s57" class="menu1" onMouseOver="changeClass('menu0','s57');" onMouseOut="changeClass('menu1','s57');"><A href="../../../Utilities/ODXAIM/ODXAIM.htm">ODXAIM</A></td>
  </tr>
  <tr> 
    <td id="s58" class="menu1" onMouseOver="changeClass('menu0','s58');" onMouseOut="changeClass('menu1','s58');"><a href="../../../Utilities/ODXMAKE/ODXMAKE.htm">ODXMAKE</a></td>
  </tr>
  <tr> 
    <td id="s59" class="menu1" onMouseOver="changeClass('menu0','s59');" onMouseOut="changeClass('menu1','s59');"><a href="../../../Utilities/ODXNET/ODXNET.htm">ODXNET</a></td>
  </tr>
  <tr> 
    <td id="s510" class="menu1" onMouseOver="changeClass('menu0','s510');" onMouseOut="changeClass('menu1','s510');"><A href="../../../Utilities/ODXQUERY/ODXQUERY.htm">ODXQUERY</A></td>
  </tr>
  <tr> 
    <td id="s511" class="menu1" onMouseOver="changeClass('menu0','s511');" onMouseOut="changeClass('menu1','s511');"><a href="../../../Utilities/ODXSQL/ODXSQL.htm">ODXSQL</a></td>
  </tr>
  <tr> 
    <td id="s512" class="menu1" onMouseOver="changeClass('menu0','s512');" onMouseOut="changeClass('menu1','s512');"><a href="../../../Utilities/REGMAINT/REGMAINT.htm">REGMAINT</a></td>
  </tr>
  <tr> 
    <td id="s513" class="menu1" onMouseOver="changeClass('menu0','s513');" onMouseOut="changeClass('menu1','s513');"><A href="../../../Utilities/REGTEST/REGTEST.htm">REGTEST</A></td>
  </tr>
  <tr> 
    <td id="s514" class="menu1" onMouseOver="changeClass('menu0','s514');" onMouseOut="changeClass('menu1','s514');"><a href="../../../Utilities/SNOWGEN/SNOWGEN.htm">SNOWGEN</a></td>
  </tr>
  <tr> 
    <td id="s515" class="menu1" onMouseOver="changeClass('menu0','s515');" onMouseOut="changeClass('menu1','s515');"><a href="../../../Utilities/SYSINFO/SYSINFO.htm">SYSINFO</a></td>
  </tr>
  <tr> 
    <td id="s516" class="menu1" onMouseOver="changeClass('menu0','s516');" onMouseOut="changeClass('menu1','s516');"><a href="../../../Utilities/VERSIONS/VERSIONS.htm">VERSIONS</a></td>
  </tr>
  <tr> 
    <td id="s517" class="menu1" onMouseOver="changeClass('menu0','s517');" onMouseOut="changeClass('menu1','s517');"><a href="../../../Utilities/VIEWGEN/VIEWGEN.htm">VIEWGEN</a></td>
  </tr>
</table>
<table id="s6" border="0" cellspacing="0" cellpadding="0" onMouseOver="changeClass('menu1','m6'); changeVisibility('visible','s6');" onMouseOut="changeClass('menu0','m6'); changeVisibility('hidden','s6');">
  <tr> 
    <td id="s61" class="menu1" onMouseOver="changeClass('menu0','s61');" onMouseOut="changeClass('menu1','s61');"><a href="../../../Appendix/Cardinality.htm">Cardinality</a></td>
  </tr>
  <tr> 
    <td id="s62" class="menu1" onMouseOver="changeClass('menu0','s62');" onMouseOut="changeClass('menu1','s62');"><a href="../../../Appendix/Date%20Formats.htm">Date 
      Formats </a></td>
  </tr>
  <tr> 
    <td id="s63" class="menu1" onMouseOver="changeClass('menu0','s63');" onMouseOut="changeClass('menu1','s63');"><a href="../../../Appendix/Environment%20Variables.htm">Environment 
      Variables </a></td>
  </tr>
  <tr> 
    <td id="s64" class="menu1" onMouseOver="changeClass('menu0','s64');" onMouseOut="changeClass('menu1','s64');"><a href="../../../Appendix/File%20Name%20Handling.htm">File 
      Name Handling</a></td>
  </tr>
  <tr> 
    <td id="s65" class="menu1" onMouseOver="changeClass('menu0','s65');" onMouseOut="changeClass('menu1','s65');"><a href="../../../Appendix/Glossary%20A.htm">Glossary</a></td>
  </tr>
  <tr> 
    <td id="s66" class="menu1" onMouseOver="changeClass('menu0','s66');" onMouseOut="changeClass('menu1','s66');"><a href="../../../Appendix/Null.htm">Null</a></td>
  </tr>
  <tr> 
    <td id="s67" class="menu1" onMouseOver="changeClass('menu0','s67');" onMouseOut="changeClass('menu1','s67');"><a href="../../../Appendix/OAGLOBAL.htm">OAGLOBAL</a></td>
  </tr>
  <tr> 
    <td id="s68" class="menu1" onMouseOver="changeClass('menu0','s68');" onMouseOut="changeClass('menu1','s68');"><a href="../../../Appendix/Operating%20Limits.htm">Operating 
      Limits</a></td>
  </tr>
  <tr> 
    <td id="s69" class="menu1" onMouseOver="changeClass('menu0','s69');" onMouseOut="changeClass('menu1','s69');"><a href="../../../Appendix/Provided%20Managed%20Synonym%20Lists.htm">Managed 
      Synonym Lists</a></td>
  </tr>
  <tr> 
    <td id="s70" class="menu1" onMouseOver="changeClass('menu0','s70');" onMouseOut="changeClass('menu1','s70');"><a href="../../../Appendix/Reserved%20Words.htm">Reserved 
      Words</a></td>
  </tr>
  <tr> 
    <td id="s71" class="menu1" onMouseOver="changeClass('menu0','s71');" onMouseOut="changeClass('menu1','s71');"><a href="../../../Appendix/Supported%20Datatypes.htm">Supported 
      Data Types</a></td>
  </tr>
</table>
<p>&nbsp;</p>
</body>
<!-- InstanceEnd --></html>
