The JDBC table configuration (system event specification) specifies which table fields are extracted from the SQL database system and written to the system events as source system attributes. You can save several table configurations with unique names in the XML file.
The JDBC table configuration consists of the following components:
Global tables
Global tables are used to extract information that is written for all system events.
Foreign key tables
The docreftable XML element contains the name of the foreign key table. It specifies how the data area to be extracted from the system event table is limited. The primary key fields specified in the pkfield XML element link the foreign key table to the system event table and other foreign key tables.
System event table
The doctable XML element contains the name of the system event table. It specifies the documents to be extracted for a document flow. Each data record extracted from the system event table generates a system event in the output file (event XML element).
Data tables
The information in the system event table can be supplemented by extracting additional data fields from any other data tables (e.g., the material number is extracted from the system event table and the descriptive text relating to this number is extracted from a data table).
Some database systems allow table names that do not comply with the SQL standard. Extracting such tables with PPM Process Extractor JDBC-2-PPM results in an error message. You can extract contents by creating a view for each table to be extracted that contains names that are not SQL-compliant, and then use the view for extracting with PPM Process Extractor JDBC-2-PPM.
The following XML file framework illustrates the configuration of the tables from which data is to be extracted. For details about which XML elements or attributes are optional, please refer to the explanatory table in chapter Table access configuration.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE r3systemconffields SYSTEM
'jdbc_tableconfiguration.dtd'>
<jdbc_tableconfiguration>
<configuration name="..." printname="..." classtouse="...">
<globaltable name="..." tablename="..." classtouse="...">
<fieldtoread name="..."/>
<textref tablename="..." reffieldname="..."
textfieldname="..." langfieldname="..."/>
</fieldtoread>
...
</globaltable>
<docspec>
<docreftable name="..." tablename="..."
classtouse="...">
<condition fieldname="..." logicaloperator="...">
<value>...</value>
</condition>
<pkfield name="..." fktablename="..."
fkfieldname="...">
<fkpart readfrom="..."
startposition="..." length="..."/>
<prefix>
<value>...</value>
</prefix>
<postfix>
<value>...</value>
</postfix>
</pkfield>
...
</docreftable>
...
<doctable name="..." tablename="..."
classtouse="...">
<condition fieldname="..." logicaloperator="...">
<value>...</value>
</condition>
<pkfield name="..." fktablename="..."
fkfieldname="...">
<fkpart readfrom="..." startposition="..."
length="..."/>
<prefix>
<value>...</value>
</prefix>
<postfix>
<value>...</value>
</postfix>
</pkfield>
...
<fieldtoread name="...">
<textref tablename="..." reffieldname="..."
textfieldname="..." langfieldname="..."/>
</fieldtoread>
...
</doctable>
</docspec>
<table name="..." tablename="..." classtouse="...">
<condition fieldname="..." logicaloperator="...">
<value>...</value>
</condition>
<pkfield name="..." fktablename="..."
fkfieldname="...">
<fkpart readfrom="..." startposition="..."
length="..."/>
<prefix>
<value>...</value>
</prefix>
<postfix>
<value>...</value>
</postfix>
</pkfield>
...
<fieldtoread name="...">
<textref tablename="..." reffieldname="..."
textfieldname="..." langfieldname="..."/>
</fieldtoread>
...
</table>
...
</configuration>
...
</jdbc_tableconfiguration>