Die R/3-Tabellenkonfiguration legt fest, welche Tabellenfelder aus dem R/3-System ausgelesen und als Quellsystemattribute in die System-Events geschrieben werden. Sie können in der XML-Datei mehrere Tabellenkonfigurationen mit eindeutigen Namen speichern.
Die R/3-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).
Folgendes XML-Dateigerüst veranschaulicht die Konfiguration der zu lesenden Tabellen. Im Kap. Konfiguration des Tabellenzugriffs können Sie nachlesen, welche XML-Elemente bzw. -Attribute optional sind.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE r3systemconffields SYSTEM 'xmlextractor_tableconfiguration.dtd'>
<xmlextractor_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="..." logicaloperator="...">
<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="..." logicaloperator="...">
<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="..." logicaloperator="...">
<fkpart readfrom="..." startposition="..."
length="..."/>
<prefix>
<value>...</value>
</prefix>
<postfix>
<value>...</value>
</postfix>
</pkfield>
...
<fieldtoread name="...">
<textref tablename="..." reffieldname="..."
textfieldname="..." langfieldname="..."/>
</fieldtoread>
...
</table>
...
</configuration>
...
</xmlextractor_tableconfiguration>