Standardmäßig werden die im XML-Element pkfield angegebenen Fremdschlüsselbziehungen auf Gleichheit (Vorgabewert: logicaloperator="eq"). Das gilt für entsprechende Definitionen in der Belegtabelle (doctable), Belegkopftabelle (docreftable) und Datentabelle (table).
Durch die Angabe der folgenden Operatoren können Sie auch andere Vergleiche durchführen:
neq (ungleich)
lt (kleiner als)
gt (größer als)
geq (größer gleich)
leq (kleiner gleich)
Die Vergleiche erfolgen lexikographisch gemäß der Unicode-Zeichenliste, d. h. der Wert 00999 ist kleiner als der Wert 9. Es können auch alphanumerische Textwerte verglichen werden.
Beispiel
Zu jedem Datumswert EEINV-EINZDAT soll der zugehörige Bezugszeitraum ermittelt werden. Dieser stellt ein Zeitintervall mit einem Anfangs- und Enddatum dar. Alle drei Datumsfelder (EEINV-EINZDAT, EANLH-VON, EANLH-BIS) sollen ausgelesen werden. Der folgende Dateiauszug zeigt die entsprechende Konfiguration mit den Fremdschlüsselvergleichen kleiner gleich bzw. größer gleich für das Auslesen von Feldwerten aus der Tabelle EANLH:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE xmlextractor_tableconfiguration SYSTEM
'xmlextractor_tableconfiguration.dtd'>
<xmlextractor_tableconfiguration>
<configuration name="ISU">
<docspec>
<doctable name="EEINV">
<pkfield name="EINZBELEG"/>
<pkfield name="VERTRAG"/>
</doctable>
</docspec>
<table name="EEINV">
<pkfield name="EINZBELEG" fktablename="EEINV"
fkfieldname="EINZBELEG"/>
<pkfield name="VERTRAG" fktablename="EEINV"
fkfieldname="VERTRAG"/>
<fieldtoread name="ANLAGE"/>
<fieldtoread name="EINZDAT"/>
</table>
<table name="EANLH">
<pkfield name="ANLAGE" fktablename="EEINV"
fkfieldname="ANLAGE"/>
<pkfield name="VON" fktablename="EEINV"
fkfieldname="EINZDAT" logicaloperator="leq"/>
<pkfield name="BIS" fktablename="EEINV"
fkfieldname="EINZDAT" logicaloperator="geq"/>
<fieldtoread name="VON"/>
<fieldtoread name="BIS"/>
<fieldtoread name="TARIFTYP"/>
</table>
</configuration>
</xmlextractor_tableconfiguration>
Ein System-Event, das mit dieser Konfiguration ausgelesen wird, sieht bspw. folgendermaßen aus:
<event>
<attribute type="EEINV-EINZBELEG">000000800002</attribute>
<attribute type="EEINV-VERTRAG">00012532</attribute>
<attribute type="EEINV-ANLAGE">00045678</attribute>
<attribute type="EEINV-EINZDAT">20041015</attribute>
<attribute type="EANLH-VON">20041001</attribute>
<attribute type="EANLH-BIS">20050930</attribute>
<attribute type="EANLH-TARIFTYP">YELLOW-PRIVAT</attribute>
</event>