Vergleich von Fremdschlüsselbeziehungen

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:

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>