<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><!-- InstanceBegin template="../../Templates/DocTemp.dwt" codeOutsideHTMLIsLocked="false" -->
<head>
<!-- InstanceBeginEditable name="doctitle" -->
<title>ODXAIM - Sample Script File</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>ODXAIM</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="ODXAIM.htm">ODXAIM</a></p>
      <p><a href="Syntax.htm">Syntax</a></p>
      <p><a href="Setup.htm">Setup</a></p>
      <p><a href="Configuration%20File.htm">Configuration File</a></p>
      <p><a href="AIM%20Table%20(ODXTRANS).htm">AIM Table</a></p>
      <p>Sample Script File</p>
      <!-- InstanceEndEditable --></td>
    <td valign="top" class="content"> <!-- InstanceBeginEditable name="Content" --> 
      <h2>Sample Script File</h2>
      <p>The following ODXAIM script was generated against the Orders sample database 
        installed in Oracle.</p>
      <p class="ex">-- OdxAIM Omnidex Automatic Indexing Manager</p>
      <p class="ex">-- Date Generated: 10/16/01 13:01:51<br>
        -- Environment File: orders.env<br>
        -- Database Type: ORACLE<br>
        -- Omnidex Version: 3.7 Build 9D</p>
      <p class="ex">drop table odxtrans;<br>
        create table odxtrans</p>
      <p class="ex">(<br>
        request_sequence integer,<br>
        request char(32),<br>
        request_timestamp char(32),<br>
        tablename char(32),<br>
        native_rowid char(32),<br>
        new_native_rowid char(32),<br>
        transaction_data varchar2(4000)<br>
        );</p>
      <p class="ex">commit;</p>
      <p class="ex">drop sequence odxtrans_sequence;</p>
      <p class="ex">create sequence odxtrans_sequence</p>
      <p class="ex">increment by 1<br>
        start with 1<br>
        nomaxvalue<br>
        nocycle<br>
        cache 100;</p>
      <p class="ex">commit;</p>
      <p class="ex">ACTIVITY<br>
        create or replace trigger ACTIVITY_odx_ins_trg</p>
      <p class="ex">after insert on ACTIVITY<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans<br>
        (request_sequence, request, request_timestamp, tablename,native_rowid,<br>
        new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,'INSERT',SYSDATE,'ACTIVITY',<br>
        RPAD(ROWIDTOCHAR(:new.rowid),32),<br>
        RPAD(ROWIDTOCHAR(:new.rowid),32),<br>
        '~CUSTOMER_NO, DATE_TICKLER, TICKLER, INITIALS, ACTION_INFO~' ||<br>
        TO_CHAR(:new.CUSTOMER_NO) || '^' ||<br>
        :new.DATE_TICKLER || '^' ||<br>
        :new.TICKLER || '^' ||<br>
        :new.INITIALS || '^' ||<br>
        :new.ACTION_INFO || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">create or replace trigger ACTIVITY_odx_upd_trg</p>
      <p class="ex">after update on ACTIVITY<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'UPDATE',<br>
        SYSDATE,<br>
        'ACTIVITY',<br>
        RPAD(ROWIDTOCHAR(:old.rowid),32),<br>
        RPAD(ROWIDTOCHAR(:new.rowid),32),<br>
        '~CUSTOMER_NO, DATE_TICKLER, TICKLER, INITIALS, ACTION_INFO~' ||<br>
        TO_CHAR(:old.CUSTOMER_NO) || '^' ||<br>
        :old.DATE_TICKLER || '^' ||<br>
        :old.TICKLER || '^' ||<br>
        :old.INITIALS || '^' ||<br>
        :old.ACTION_INFO || '^' ||<br>
        TO_CHAR(:new.CUSTOMER_NO) || '^' ||<br>
        :new.DATE_TICKLER || '^' ||<br>
        :new.TICKLER || '^' ||<br>
        :new.INITIALS || '^' ||<br>
        :new.ACTION_INFO || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">create or replace trigger ACTIVITY_odx_del_trg</p>
      <p class="ex">after delete on ACTIVITY<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'DELETE',<br>
        SYSDATE,<br>
        'ACTIVITY',<br>
        RPAD(ROWIDTOCHAR(:old.rowid),32),<br>
        RPAD(ROWIDTOCHAR(:old.rowid),32),<br>
        '~CUSTOMER_NO, DATE_TICKLER, TICKLER, INITIALS, ACTION_INFO~' ||<br>
        TO_CHAR(:old.CUSTOMER_NO) || '^' ||<br>
        :old.DATE_TICKLER || '^' ||<br>
        :old.TICKLER || '^' ||<br>
        :old.INITIALS || '^' ||<br>
        :old.ACTION_INFO || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">commit;</p>
      <p class="ex">CUSTOMERS<br>
        create or replace trigger CUSTOMERS_odx_ins_trg</p>
      <p class="ex">after insert on CUSTOMERS<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'INSERT',<br>
        SYSDATE,<br>
        'CUSTOMERS',<br>
        'norowid',<br>
        'norowid',<br>
        '~CUSTOMER_NO, COMPANY, CONTACT, CITY, STATE, POSTAL_CODE, PHONE_NO,' 
        ||<br>
        ' AKA_COMPANY, COMMENTS~' ||<br>
        TO_CHAR(:new.CUSTOMER_NO) || '^' ||<br>
        :new.COMPANY || '^' ||<br>
        :new.CONTACT || '^' ||<br>
        :new.CITY || '^' ||<br>
        :new.STATE || '^' ||<br>
        :new.POSTAL_CODE || '^' ||<br>
        :new.PHONE_NO || '^' ||<br>
        :new.AKA_COMPANY || '^' ||<br>
        :new.COMMENTS || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">create or replace trigger CUSTOMERS_odx_upd_trg</p>
      <p class="ex">after update on CUSTOMERS<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'UPDATE',<br>
        SYSDATE,<br>
        'CUSTOMERS',<br>
        'norowid',<br>
        'norowid',<br>
        '~CUSTOMER_NO, COMPANY, CONTACT, CITY, STATE, POSTAL_CODE, PHONE_NO,' 
        ||<br>
        ' AKA_COMPANY, COMMENTS~' ||<br>
        TO_CHAR(:old.CUSTOMER_NO) || '^' ||<br>
        :old.COMPANY || '^' ||<br>
        :old.CONTACT || '^' ||<br>
        :old.CITY || '^' ||<br>
        :old.STATE || '^' ||<br>
        :old.POSTAL_CODE || '^' ||<br>
        :old.PHONE_NO || '^' ||<br>
        :old.AKA_COMPANY || '^' ||<br>
        :old.COMMENTS || '^' ||<br>
        TO_CHAR(:new.CUSTOMER_NO) || '^' ||<br>
        :new.COMPANY || '^' ||<br>
        :new.CONTACT || '^' ||<br>
        :new.CITY || '^' ||<br>
        :new.STATE || '^' ||<br>
        :new.POSTAL_CODE || '^' ||<br>
        :new.PHONE_NO || '^' ||<br>
        :new.AKA_COMPANY || '^' ||<br>
        :new.COMMENTS || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">create or replace trigger CUSTOMERS_odx_del_trg</p>
      <p class="ex">after delete on CUSTOMERS<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'DELETE',<br>
        SYSDATE,<br>
        'CUSTOMERS',<br>
        'norowid',<br>
        'norowid',<br>
        '~CUSTOMER_NO, COMPANY, CONTACT, CITY, STATE, POSTAL_CODE, PHONE_NO,' 
        ||<br>
        ' AKA_COMPANY, COMMENTS~' ||<br>
        TO_CHAR(:old.CUSTOMER_NO) || '^' ||<br>
        :old.COMPANY || '^' ||<br>
        :old.CONTACT || '^' ||<br>
        :old.CITY || '^' ||<br>
        :old.STATE || '^' ||<br>
        :old.POSTAL_CODE || '^' ||<br>
        :old.PHONE_NO || '^' ||<br>
        :old.AKA_COMPANY || '^' ||<br>
        :old.COMMENTS || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">commit;</p>
      <p class="ex">CUST_NOTES<br>
        create or replace trigger CUST_NOTES_odx_ins_trg</p>
      <p class="ex">after insert on CUST_NOTES<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'INSERT',<br>
        SYSDATE,<br>
        'CUST_NOTES',<br>
        RPAD(ROWIDTOCHAR(:new.rowid),32),<br>
        RPAD(ROWIDTOCHAR(:new.rowid),32),<br>
        '~CUSTOMER_NO, DATE_ENTERED, DESC_LINES1, DESC_LINES2, DESC_LINES3,' ||<br>
        ' DESC_LINES4, DESC_LINES5~' ||<br>
        TO_CHAR(:new.CUSTOMER_NO) || '^' ||<br>
        :new.DATE_ENTERED || '^' ||<br>
        :new.DESC_LINES1 || '^' ||<br>
        :new.DESC_LINES2 || '^' ||<br>
        :new.DESC_LINES3 || '^' ||<br>
        :new.DESC_LINES4 || '^' ||<br>
        :new.DESC_LINES5 || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">create or replace trigger CUST_NOTES_odx_upd_trg</p>
      <p class="ex">after update on CUST_NOTES<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'UPDATE',<br>
        SYSDATE,<br>
        'CUST_NOTES',<br>
        RPAD(ROWIDTOCHAR(:old.rowid),32),<br>
        RPAD(ROWIDTOCHAR(:new.rowid),32),<br>
        '~CUSTOMER_NO, DATE_ENTERED, DESC_LINES1, DESC_LINES2, DESC_LINES3,' ||<br>
        ' DESC_LINES4, DESC_LINES5~' ||<br>
        TO_CHAR(:old.CUSTOMER_NO) || '^' ||<br>
        :old.DATE_ENTERED || '^' ||<br>
        :old.DESC_LINES1 || '^' ||<br>
        :old.DESC_LINES2 || '^' ||<br>
        :old.DESC_LINES3 || '^' ||<br>
        :old.DESC_LINES4 || '^' ||<br>
        :old.DESC_LINES5 || '^' ||<br>
        TO_CHAR(:new.CUSTOMER_NO) || '^' ||<br>
        :new.DATE_ENTERED || '^' ||<br>
        :new.DESC_LINES1 || '^' ||<br>
        :new.DESC_LINES2 || '^' ||<br>
        :new.DESC_LINES3 || '^' ||<br>
        :new.DESC_LINES4 || '^' ||<br>
        :new.DESC_LINES5 || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">create or replace trigger CUST_NOTES_odx_del_trg</p>
      <p class="ex">after delete on CUST_NOTES<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'DELETE',<br>
        SYSDATE,<br>
        'CUST_NOTES',<br>
        RPAD(ROWIDTOCHAR(:old.rowid),32),<br>
        RPAD(ROWIDTOCHAR(:old.rowid),32),<br>
        '~CUSTOMER_NO, DATE_ENTERED, DESC_LINES1, DESC_LINES2, DESC_LINES3,' ||<br>
        ' DESC_LINES4, DESC_LINES5~' ||<br>
        TO_CHAR(:old.CUSTOMER_NO) || '^' ||<br>
        :old.DATE_ENTERED || '^' ||<br>
        :old.DESC_LINES1 || '^' ||<br>
        :old.DESC_LINES2 || '^' ||<br>
        :old.DESC_LINES3 || '^' ||<br>
        :old.DESC_LINES4 || '^' ||<br>
        :old.DESC_LINES5 || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">commit;</p>
      <p class="ex">INVENTORY<br>
        create or replace trigger INVENTORY_odx_ins_trg</p>
      <p class="ex">after insert on INVENTORY<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'INSERT',<br>
        SYSDATE,<br>
        'INVENTORY',<br>
        RPAD(ROWIDTOCHAR(:new.rowid),32),<br>
        RPAD(ROWIDTOCHAR(:new.rowid),32),<br>
        '~PRODUCT_NO, INV_DATE, INV_QTY, INV_COST, INV_LOC~' ||<br>
        :new.PRODUCT_NO || '^' ||<br>
        :new.INV_DATE || '^' ||<br>
        TO_CHAR(:new.INV_QTY) || '^' ||<br>
        TO_CHAR(:new.INV_COST) || '^' ||<br>
        :new.INV_LOC || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">create or replace trigger INVENTORY_odx_upd_trg</p>
      <p class="ex">after update on INVENTORY<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'UPDATE',<br>
        SYSDATE,<br>
        'INVENTORY',<br>
        RPAD(ROWIDTOCHAR(:old.rowid),32),<br>
        RPAD(ROWIDTOCHAR(:new.rowid),32),<br>
        '~PRODUCT_NO, INV_DATE, INV_QTY, INV_COST, INV_LOC~' ||<br>
        :old.PRODUCT_NO || '^' ||<br>
        :old.INV_DATE || '^' ||<br>
        TO_CHAR(:old.INV_QTY) || '^' ||<br>
        TO_CHAR(:old.INV_COST) || '^' ||<br>
        :old.INV_LOC || '^' ||<br>
        :new.PRODUCT_NO || '^' ||<br>
        :new.INV_DATE || '^' ||<br>
        TO_CHAR(:new.INV_QTY) || '^' ||<br>
        TO_CHAR(:new.INV_COST) || '^' ||<br>
        :new.INV_LOC || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">create or replace trigger INVENTORY_odx_del_trg</p>
      <p class="ex">after delete on INVENTORY<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'DELETE',<br>
        SYSDATE,<br>
        'INVENTORY',<br>
        RPAD(ROWIDTOCHAR(:old.rowid),32),<br>
        RPAD(ROWIDTOCHAR(:old.rowid),32),<br>
        '~PRODUCT_NO, INV_DATE, INV_QTY, INV_COST, INV_LOC~' ||<br>
        :old.PRODUCT_NO || '^' ||<br>
        :old.INV_DATE || '^' ||<br>
        TO_CHAR(:old.INV_QTY) || '^' ||<br>
        TO_CHAR(:old.INV_COST) || '^' ||<br>
        :old.INV_LOC || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">commit;</p>
      <p class="ex">ORDERS<br>
        create or replace trigger ORDERS_odx_ins_trg</p>
      <p class="ex">after insert on ORDERS<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'INSERT',<br>
        SYSDATE,<br>
        'ORDERS',<br>
        RPAD(ROWIDTOCHAR(:new.rowid),32),<br>
        RPAD(ROWIDTOCHAR(:new.rowid),32),<br>
        '~CUSTOMER_NO, PRODUCT_NO, ORDER_DATE, STATUS, QUANTITY, AMOUNT~' ||<br>
        TO_CHAR(:new.CUSTOMER_NO) || '^' ||<br>
        :new.PRODUCT_NO || '^' ||<br>
        :new.ORDER_DATE || '^' ||<br>
        :new.STATUS || '^' ||<br>
        TO_CHAR(:new.QUANTITY) || '^' ||<br>
        TO_CHAR(:new.AMOUNT) || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">create or replace trigger ORDERS_odx_upd_trg</p>
      <p class="ex">after update on ORDERS<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'UPDATE',<br>
        SYSDATE,<br>
        'ORDERS',<br>
        RPAD(ROWIDTOCHAR(:old.rowid),32),<br>
        RPAD(ROWIDTOCHAR(:new.rowid),32),<br>
        '~CUSTOMER_NO, PRODUCT_NO, ORDER_DATE, STATUS, QUANTITY, AMOUNT~' ||<br>
        TO_CHAR(:old.CUSTOMER_NO) || '^' ||<br>
        :old.PRODUCT_NO || '^' ||<br>
        :old.ORDER_DATE || '^' ||<br>
        :old.STATUS || '^' ||<br>
        TO_CHAR(:old.QUANTITY) || '^' ||<br>
        TO_CHAR(:old.AMOUNT) || '^' ||<br>
        TO_CHAR(:new.CUSTOMER_NO) || '^' ||<br>
        :new.PRODUCT_NO || '^' ||<br>
        :new.ORDER_DATE || '^' ||<br>
        :new.STATUS || '^' ||<br>
        TO_CHAR(:new.QUANTITY) || '^' ||<br>
        TO_CHAR(:new.AMOUNT) || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">create or replace trigger ORDERS_odx_del_trg</p>
      <p class="ex">after delete on ORDERS<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'DELETE',<br>
        SYSDATE,<br>
        'ORDERS',<br>
        RPAD(ROWIDTOCHAR(:old.rowid),32),<br>
        RPAD(ROWIDTOCHAR(:old.rowid),32),<br>
        '~CUSTOMER_NO, PRODUCT_NO, ORDER_DATE, STATUS, QUANTITY, AMOUNT~' ||<br>
        TO_CHAR(:old.CUSTOMER_NO) || '^' ||<br>
        :old.PRODUCT_NO || '^' ||<br>
        :old.ORDER_DATE || '^' ||<br>
        :old.STATUS || '^' ||<br>
        TO_CHAR(:old.QUANTITY) || '^' ||<br>
        TO_CHAR(:old.AMOUNT) || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">commit;</p>
      <p class="ex">PRODUCTS <br>
        create or replace trigger PRODUCTS_odx_ins_trg</p>
      <p class="ex">after insert on PRODUCTS<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'INSERT',<br>
        SYSDATE,<br>
        'PRODUCTS',<br>
        'norowid',<br>
        'norowid',<br>
        '~PRODUCT_NO, PRODUCT_CLASS, PRODUCT_NAME, SALES_PRICE, PRODUCT_COST~' 
        ||<br>
        :new.PRODUCT_NO || '^' ||<br>
        :new.PRODUCT_CLASS || '^' ||<br>
        :new.PRODUCT_NAME || '^' ||<br>
        TO_CHAR(:new.SALES_PRICE) || '^' ||<br>
        TO_CHAR(:new.PRODUCT_COST) || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">create or replace trigger PRODUCTS_odx_upd_trg</p>
      <p class="ex">after update on PRODUCTS<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'UPDATE',<br>
        SYSDATE,<br>
        'PRODUCTS',<br>
        'norowid',<br>
        'norowid',<br>
        '~PRODUCT_NO, PRODUCT_CLASS, PRODUCT_NAME, SALES_PRICE, PRODUCT_COST~' 
        ||<br>
        :old.PRODUCT_NO || '^' ||<br>
        :old.PRODUCT_CLASS || '^' ||<br>
        :old.PRODUCT_NAME || '^' ||<br>
        TO_CHAR(:old.SALES_PRICE) || '^' ||<br>
        TO_CHAR(:old.PRODUCT_COST) || '^' ||<br>
        :new.PRODUCT_NO || '^' ||<br>
        :new.PRODUCT_CLASS || '^' ||<br>
        :new.PRODUCT_NAME || '^' ||<br>
        TO_CHAR(:new.SALES_PRICE) || '^' ||<br>
        TO_CHAR(:new.PRODUCT_COST) || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">create or replace trigger PRODUCTS_odx_del_trg</p>
      <p class="ex">after delete on PRODUCTS<br>
        for each row<br>
        declare<br>
        begin</p>
      <p class="ex">insert into odxtrans</p>
      <p class="ex">(request_sequence, request, request_timestamp, tablename,<br>
        native_rowid, new_native_rowid, transaction_data)<br>
        values<br>
        (odxtrans_sequence.nextval,<br>
        'DELETE',<br>
        SYSDATE,<br>
        'PRODUCTS',<br>
        'norowid',<br>
        'norowid',<br>
        '~PRODUCT_NO, PRODUCT_CLASS, PRODUCT_NAME, SALES_PRICE, PRODUCT_COST~' 
        ||<br>
        :old.PRODUCT_NO || '^' ||<br>
        :old.PRODUCT_CLASS || '^' ||<br>
        :old.PRODUCT_NAME || '^' ||<br>
        TO_CHAR(:old.SALES_PRICE) || '^' ||<br>
        TO_CHAR(:old.PRODUCT_COST) || '^');</p>
      <p class="ex">end;</p>
      <p class="ex">/</p>
      <p class="ex">commit;</p>
      <p class="ex">&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/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.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="../../Development/ODBC/ODBC.htm">ODBC</a></td>
  </tr>
  <tr> 
    <td id="s43" class="menu1" onMouseOver="changeClass('menu0','s43');" onMouseOut="changeClass('menu1','s43');"><a href="../../Development/JDBC/JDBC.htm">JDBC</a></td>
  </tr>
  <tr> 
    <td id="s44" class="menu1" onMouseOver="changeClass('menu0','s44');" onMouseOut="changeClass('menu1','s44');"><a href="../../Development/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="../../Development/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="../DBINSTAL/DBINSTAL.htm">DBINSTAL</A></td>
  </tr>
  <tr> 
    <td id="s52" class="menu1" onMouseOver="changeClass('menu0','s52');" onMouseOut="changeClass('menu1','s52');"><a href="../DSEDIT/DSEDIT.htm">DSEDIT</a></td>
  </tr>
  <tr> 
    <td id="s53" class="menu1" onMouseOver="changeClass('menu0','s53');" onMouseOut="changeClass('menu1','s53');"><a href="../NSADMIN/NSADMIN.htm">NSADMIN</a></td>
  </tr>
  <tr> 
    <td id="s54" class="menu1" onMouseOver="changeClass('menu0','s54');" onMouseOut="changeClass('menu1','s54');"><a href="../OACOMP/OACOMP.htm">OACOMP</a></td>
  </tr>
  <tr> 
    <td id="s55" class="menu1" onMouseOver="changeClass('menu0','s55');" onMouseOut="changeClass('menu1','s55');"><a href="../OADECOMP/OADECOMP.htm">OADECOMP</a></td>
  </tr>
  <tr> 
    <td id="s56" class="menu1" onMouseOver="changeClass('menu0','s56');" onMouseOut="changeClass('menu1','s56');"><a href="../OAHELPER/OAHELPER.htm">OAHELPER</a></td>
  </tr>
  <tr> 
    <td id="s57" class="menu1" onMouseOver="changeClass('menu0','s57');" onMouseOut="changeClass('menu1','s57');"><A href="ODXAIM.htm">ODXAIM</A></td>
  </tr>
  <tr> 
    <td id="s58" class="menu1" onMouseOver="changeClass('menu0','s58');" onMouseOut="changeClass('menu1','s58');"><a href="../ODXMAKE/ODXMAKE.htm">ODXMAKE</a></td>
  </tr>
  <tr> 
    <td id="s59" class="menu1" onMouseOver="changeClass('menu0','s59');" onMouseOut="changeClass('menu1','s59');"><a href="../ODXNET/ODXNET.htm">ODXNET</a></td>
  </tr>
  <tr> 
    <td id="s510" class="menu1" onMouseOver="changeClass('menu0','s510');" onMouseOut="changeClass('menu1','s510');"><A href="../ODXQUERY/ODXQUERY.htm">ODXQUERY</A></td>
  </tr>
  <tr> 
    <td id="s511" class="menu1" onMouseOver="changeClass('menu0','s511');" onMouseOut="changeClass('menu1','s511');"><a href="../ODXSQL/ODXSQL.htm">ODXSQL</a></td>
  </tr>
  <tr> 
    <td id="s512" class="menu1" onMouseOver="changeClass('menu0','s512');" onMouseOut="changeClass('menu1','s512');"><a href="../REGMAINT/REGMAINT.htm">REGMAINT</a></td>
  </tr>
  <tr> 
    <td id="s513" class="menu1" onMouseOver="changeClass('menu0','s513');" onMouseOut="changeClass('menu1','s513');"><A href="../REGTEST/REGTEST.htm">REGTEST</A></td>
  </tr>
  <tr> 
    <td id="s514" class="menu1" onMouseOver="changeClass('menu0','s514');" onMouseOut="changeClass('menu1','s514');"><a href="../SNOWGEN/SNOWGEN.htm">SNOWGEN</a></td>
  </tr>
  <tr> 
    <td id="s515" class="menu1" onMouseOver="changeClass('menu0','s515');" onMouseOut="changeClass('menu1','s515');"><a href="../SYSINFO/SYSINFO.htm">SYSINFO</a></td>
  </tr>
  <tr> 
    <td id="s516" class="menu1" onMouseOver="changeClass('menu0','s516');" onMouseOut="changeClass('menu1','s516');"><a href="../VERSIONS/VERSIONS.htm">VERSIONS</a></td>
  </tr>
  <tr> 
    <td id="s517" class="menu1" onMouseOver="changeClass('menu0','s517');" onMouseOut="changeClass('menu1','s517');"><a href="../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>
