Felder mehrwertig auslesen

Mittels einer geeigneten Konfiguration des jeweiligen table-Elements der Tabellenkonfiguration können alle unterschiedlichen Werte eines zu extrahierenden Feldes (fieldtoread) in ein System-Event geschrieben werden. Dazu ist eine eigene Klasse zu verwenden.

Beispiel

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE xmlextractor_tableconfiguration SYSTEM

'xmlextractor_tableconfiguration.dtd'>

<xmlextractor_tableconfiguration>

<configuration name="MULTIPLE_VALUES">

<docspec>

<docreftable name="...">

...

</docreftable>

<doctable name="...">

...

</doctable>

</docspec>

<table name="VBEP" classtouse="com.idsscheer.ppm.

xmlextractortools.extractor.sap2ppm.

ZTableMultipleValues_sap2ppm">

<pkfield name="VBELN" fktablename="VBAP"

fkfieldname="VBELN"/>

<pkfield name="POSNR" fktablename="VBAP"

fkfieldname="POSNR"/>

<fieldtoread name="WMENG"/>

<fieldtoread name="EDATU"/>

</table>

<table name="VBAK" classtouse="com.idsscheer.ppm.

xmlextractortools.extractor.sap2ppm.

ZTableMultipleValues_sap2ppm">

<pkfield name="VBELN" fktablename="VBEP"

fkfieldname="VBELE"/>

<fieldtoread name="VBTYP"/>

</table>

</configuration>

</xmlextractor_tableconfiguration>

In der Beispielkonfiguration ist durch Verwendung der Klasse com.idsscheer.ppm.xmlextractortools.extractor.sap2ppm.
ZTableMultipleValues_sap2ppm für alle Datentabellen (table-Elemente) festgelegt, dass alle auszulesenden Felder (fieldtoread-Elemente) mehrwertig ausgelesen werden, wenn in der Quellsystemdatenbank mehrere Werte zu einem Feld existieren. Das mehrwertig ausgelesene Feld erscheint in der XML-Ausgabedatei als gleichnamige Attribute innerhalb eines System-Event's:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE eventlist SYSTEM "event.dtd">

<eventlist>

<event>

<attribute type="VBAP-POSNR">000010</attribute>

<attribute type="VBAP-VBELN">0000004969</attribute>

<attribute type="VBEP-EDATU">19970103</attribute>

<attribute type="VBEP-EDATU">19970107</attribute>

<attribute type="VBEP-WMENG">138.000</attribute>

<attribute type="VBEP-WMENG">317.000</attribute>

<attribute type="VBEP-WMENG">496.000</attribute>

</event>

</eventlist>