Die JDBC-Tabellenkonfiguration (System-Event-Spezifikation) legt fest, welche Tabellenfelder aus dem SQL-Datenbanksystem ausgelesen und als Quellsystemattribute in die System-Events geschrieben werden. Sie können in der XML-Datei mehrere Tabellenkonfigurationen mit eindeutigen Namen speichern.
Die JDBC-Tabellenkonfiguration setzt sich aus folgenden Teilen zusammen:
Globale Tabellen
Aus globalen Tabellen werden Informationen gelesen, die für alle System-Events geschrieben werden.
Fremdschlüsseltabellen
Das XML-Element docreftable enthält den Namen der Fremdschlüsseltabelle. Es legt fest, wie der aus der System-Event-Tabelle auszulesende Datenbereich eingeschränkt wird. Über die im XML-Element pkfield angegebenen Primärschlüsselfelder ist die Fremdschlüsseltabelle mit der System-Event-Tabelle und anderen Fremdschlüsseltabellen verknüpft.
System-Event-Tabelle
Das XML-Element doctable enthält den Namen der System-Event-Tabelle. Es bestimmt die zu einem Belegfluss auszulesenden Belege. Jeder aus der System-Event-Tabelle gelesene Datensatz erzeugt in der Ausgabedatei ein System-Event (XML-Element event).
Datentabellen
Die Informationen der System-Event-Tabelle können durch Lesen weiterer Datenfelder aus beliebigen Datentabellen ergänzt werden (z. B. wird aus der System-Event-Tabelle die Materialnummer gelesen und aus einer Datentabelle der zu dieser Nummer gehörende Beschreibungstext).
Einige Datenbanksysteme erlauben Tabellennamen abweichend vom SQL-Standard. Das Auslesen solcher Tabellen mit PPM Process Extractor JDBC-2-PPM fürht zu einer Fehlermeldung. Sie können die Inhalte auslesen, in dem Sie für jede auszulesende Tabelle mit nicht SQL-konformen Namen eine View erstellen und diese zum Auslesen mit PPM Process Extractor JDBC-2-PPM verwenden.
Folgendes XML-Dateigerüst veranschaulicht die Konfiguration der zu lesenden Tabellen. Welche XML-Elemente bzw. -Attribute optional sind, können Sie der tabellarischen Erläuterung in Kap. Konfiguration des Tabellenzugriffs entnehmen.
<?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>