Extrair campos de valor múltiplos

A configuração adequada do elemento table relevante permite extrair todos os valores diferentes de um campo (fieldtoread) e gravá-los em um evento de sistema. Uma classe separada deve ser usada para isso.

Exemplo

<?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>

Na configuração de exemplo, usar a classe com.idsscheer.ppm.xmlextractortools.extractor.sap2ppm.
ZTableMultipleValues_sap2ppm para todas as tabelas de dados (elementos table) especifica que todos os campos a serem extraídos (elementos fieldtoread) são extraídos com valores múltiplos se existirem valor múltiplos para um campo no banco de dados do sistema de origem. No arquivo de saída XML, o campo extraído com valores múltiplos aparece como um atributo com o mesmo nome em um evento de sistema:

<?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>