<!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 - Programming Basics</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</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="#connect">Connect</a></p>
      <p><a href="#opencursor">Open a Cursor</a></p>
      <p><a href="#multiplecursors">Multiple Cursors</a></p>
      <p><a href="#closecursor">Close a Cursor</a></p>
      <p><a href="#closeinstance">Disconnect</a></p>
      <p><a href="#client">Client Applications</a></p>
      <p class="line">&nbsp;</p>
      <p><a href="OmniAccess%20API.htm">OmniAccess API</a></p>
      <p>Programming Basics</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>Programming Basics</h2>
      <p>All OA and CLOA applications must:</p>
      <ul>
        <li><a href="#connect">Connect to an Omnidex Environment</a> (establish 
          an instance) either directly or indirectly through an Omnidex Datasource.</li>
        <li><a href="#opencursor">Open a Cursor</a></li>
      </ul>
      <p>To terminate an OmniAccess API application, the application must:</p>
      <ul>
        <li><a href="#closecursor">close all open cursors</a></li>
        <li><a href="#closeinstance">close all instances</a> </li>
      </ul>
      <p class="line">&nbsp;</p>
      <h3><a name="connect" id="connect"></a>Connect to an Omnidex Environment</h3>
      <p>When connecting to an Omnidex Environment, an <strong>instance</strong> 
        is established. </p>
      <p>An instance is an identifier that represents the unique connection by 
        a user to an Omnidex Environment Catalog. It is a signed integer that 
        is returned to the instance parameter of the Status array. This value 
        is then passed to other api routines subsequently called.</p>
      <p> The instance establishes not only the data in the environment, but the 
        type of access (read, read/write, or exclusive) that user has to the data. 
        Each instance also contains information about the connection such as the 
        type of access and other configuration options.</p>
      <p>To establish an instance, call oaconnect and specify a compiled Omnidex 
        Environment Catalog filespec (or TurboIMAGE database name) through the 
        environment parameter. Specify the connect options through the options 
        parameter, including user and password, as appropriate.</p>
      <p>It is possible to open several catalogs concurrently and thereby establish 
        several environment instances in the same application. This is useful 
        when data is organized in several separate environment catalogs.</p>
      <p class="line">&nbsp;</p>
      <h3><a name="closeinstance" id="closeinstance"></a>Close an Instance</h3>
      <p>When an application no longer requires access to an Omnidex Environment 
        Catalog, it should close the instance before terminating.</p>
      <p>If the instance remains open after the application terminates, it may 
        interfere with other applications and users trying to access the environment 
        catalog. Although this is unlikely, it is a good practice to close instances 
        when the application finishes using them.</p>
      <p>Omnidex Client applications should close instances to free up memory 
        on the PC and to close socket connections to the server.</p>
      <p>To close an instance, call oadisconnect and pass the value returned to 
        the instance parameter of oaconnect. Closing an instance automatically 
        closes any cursors open for the environment established for that instance. 
        When performed from a client application, it also closes any socket connections 
        between a client and server.</p>
      <p class="line">&nbsp;</p>
      <h3><a name="opencursor" id="opencursor"></a>Open a Cursor</h3>
      <p>A cursor defines a working area of the Omnidex environment for a given 
        environment instance. For example, sixty-three rows are qualified using 
        Omnidex indexes and the twenty-fourth row has been fetched. The cursor 
        lets oaselect hold this place so when oafetch is called to retrieve the 
        next row, it retrieves the twenty-fifth row.</p>
      <p>To establish a cursor, call oaopencursor. Pass the instance value returned 
        to oaconnect's instance parameter, to oaopencursor's instance parameter.</p>
      <p>When a cursor is established, a signed integer value is returned to the 
        cursor parameter. This value is then passed to many OmniAccess routines 
        (like oaselect and oafetch) so that they may reference or modify the current 
        cursor.</p>
      <p class="line">&nbsp;</p>
      <h3><a name="multiplecursors" id="multiplecursors"></a>Multiple Cursors</h3>
      <p>By opening multiple cursors, a program can retrieve or update on one 
        cursor without affecting another. This supports simultaneous updates and 
        retrievals on the same table, or simultaneous retrievals of different 
        subsets of rows from the same table. </p>
      <p><img src="../../images/note.gif" width="12" height="15">Cursor numbers 
        are unique across multiple instances. This means a cursor number is not 
        reused between instances. For example, if instance 1 produces cursor 1, 
        no other instance will use the number 1 for its cursor, as long as the 
        original cursor 1 remains open.</p>
      <p class="line">&nbsp;</p>
      <h3><a name="closecursor" id="closecursor"></a>Close a Cursor</h3>
      <p>While multiple cursors support a variety of transactions being performed 
        simultaneously, they each require system resources to be maintained. For 
        example, cursor 1 may be holding a place in a list of 350 rows whose identifiers 
        are stored in memory. To free the system resources associated with a cursor, 
        the cursor should be closed when it is no longer needed.</p>
      <p>To close a cursor, call oaclosecursor. Specify the number of the cursor 
        to close by passing it as the cursor parameter to oaclosecursor. Remember, 
        this is the number established for the cursor when it was opened by calling 
        oaopencursor.</p>
      <p><img src="../../images/note.gif" width="12" height="15">All open cursors 
        associated with a particular instance are closed automatically when that 
        instance is closed by a call to oadisconnect.</p>
      <p class="line">&nbsp;</p>
      <h3><a name="client"></a>Client Applications</h3>
      <p>Client applications in a client/server environment can use the OmniAccess 
        API. All API functions must be prefixed with a CL before the function 
        name.</p>
      <p>There are several other things to consider when writing Omnidex Client 
        applications that use the OmniAccess API:</p>
      <ul>
        <li><a href="#buffer">Parameters and buffers</a> have certain limits based 
          on the routine to which they apply.</li>
        <li><a href="#byteordering">The byte ordering</a> may not be the same 
          on the server as it is on the client.</li>
        <li><a href="#byteboundaries">The byte boundaries</a> for binary integers 
          vary across server operating systems.</li>
        <li><a href="#instancenum">The instance number</a> returned by oaconnect 
          for a Client application may differ from the instance number being used 
          on the server.</li>
        <li><a href="#char">The CHAR=n option</a> automatically converts between 
          alphanumeric and numeric data, thus eliminating any concern for byte-ordering 
          and integer conversion across hardware platforms.</li>
      </ul>
      <p class="line2">&nbsp;</p>
      <h4><a name="buffer"></a>Parameter And Buffer Sizes</h4>
      <p>The maximum size of parameters and data buffers for OmniAccess routines 
        directly accessed by Omnidex Client applications depends on the version 
        of Omnidex Client that you are running. Consult your Omnidex Client API's 
        online help for more information.</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="byteordering"></a>Byte Ordering</h4>
      <p> Byte ordering and integer alignment differ across hardware platforms. 
        Integers may be read from left to right (big endian) or right to left 
        (little endian), depending on server architecture. When transporting integer 
        data across systems in buffers defined in the application, it may be necessary 
        to reorder it to accommodate different architectures.</p>
      <p>OmniAccess handles all integer parameters automatically.</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="byteboundaries"></a>Byte Boundaries</h4>
      <p> Integers may also observe different boundaries on different machines. 
        It may be necessary to pad integer variables on one machine to accommodate 
        the observed boundaries on another machine.</p>
      <p>This is further complicated by different meanings of integer types across 
        operating systems. What is considered an &quot;int&quot; on one operating 
        system may be longer or shorter than an &quot;int&quot; on another operating 
        system. Using offsets and lengths when defining variables in client applications 
        ensures that integer definitions mean the same thing across operating 
        systems. Use structures that explicitly define the data type and length. 
        For example, use int32 instead of long. This makes applications more portable 
        across operating systems by preventing ambiguous interpretations of data 
        types.</p>
      <p>Because the boundaries for binary numbers differ across platforms, when 
        defining a data buffer structure for binary integers, observe the boundaries 
        enforced for the operating system and data management platform the will 
        be accessed.</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="instancenum"></a>Instance Numbers In Client Applications</h4>
      <p> The instance number returned by oaconnect for a Client application may 
        differ from the instance number being used on the server. A single Omnidex 
        Client application may connect to several environments on the server. 
        To address a specific environment (identified by instance) on a server 
        (identified by node), create a permanent buffer to contain the instance 
        value. This buffer can be referenced from Client applications.</p>
      <p class="line2">&nbsp;</p>
      <h4><a name="char"></a>CHAR=n</h4>
      <p> The CHAR=n option automatically converts between alphanumeric and numeric 
        data, thus eliminating any concern for byte-ordering and integer conversion 
        across hardware platforms.</p>
      <p>For example, when a client application on a PC requests numeric data 
        using the CHAR=n, OmniAccess automatically converts the data from its 
        numeric format to character data.</p>
      <p>Conversely, when a client application sends information to a server, 
        the character representation of the number is converted to a numeric type 
        and byte order appropriate for the server operating system.</p>
      <p>When you pass CHAR=n in the options parameter, the buffer parameter must 
        reflect the length of the ASCII character representation, not its binary 
        storage format, and should be padded with blanks up to length n.</p>
      <p>The CHAR=n option supports ASCII representations of numeric values that 
        contain a leading + or -. It also supports exponential values, like 6.02e23, 
        for numeric columns defined as TYPE FLOAT.</p>
      <p>Character representations of floating point data may lose precision.</p>
      <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>
