Dependendo do tipo de dados, pode adicionar os valores de um campo como números inteiros ou decimais especificando parâmetros no elemento table relevante da configuração da tabela. 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="SUM">
<docspec>
<docreftable name="...">
...
</docreftable>
<doctable name="...">
...
</doctable>
</docspec>
<table name="VBEP"
classtouse="com.idsscheer.ppm.xmlextractortools.
extractor.sap2ppm.ZNumberOperation_sap2ppm">
<parameter name="FIELDS">
<value>BMENG</value>
<value>WMENG</value>
</parameter>
<parameter name="OPERATION">
<value>SUM_DECIMAL</value>
</parameter>
<pkfield name="VBELN" fktablename="VBAP"
fkfieldname="VBELN"/>
<pkfield name="POSNR" fktablename="VBAP"
fkfieldname="POSNR"/>
</table>
</configuration>
</xmlextractor_tableconfiguration>
A configuração de exemplo especifica que para cada um dos campos de número de ponto flutuante BMENG e WMENG, o total de vários valores pertencentes a um elemento do documento de vendas (POSNR) em um documento de vendas (VBELN) é calculado e gravado em um novo atributo do evento de sistema. O nome do novo atributo é composto por <tablename>-<operator><fieldname>, por exemplo, VBEP-SUM_DECIMALWMENG. A classe com.idsscheer.ppm.xmlextractortools.extractor.sap2ppm.
ZNumberOperation_sap2ppm é usada para adicionar valores de campo.
Os seguintes números de elemento existem no sistema SAP para o documento de vendas 5696:
VBELN |
POSNR |
WMENG |
BMENG |
5696 |
10 |
353.000 |
103.000 |
5696 |
10 |
215.000 |
52.000 |
5696 |
10 |
127.000 |
313.000 |
5696 |
20 |
89.000 |
79.000 |
5696 |
20 |
456.000 |
29.000 |
5696 |
30 |
23.000 |
269.000 |
5696 |
30 |
87.000 |
159.000 |
5696 |
30 |
124.000 |
256.000 |
5696 |
30 |
59.000 |
237.000 |
Ao extrair usando a configuração de exemplo, as somas decimais são calculadas para os campos BMENG e WMENG e os seguintes eventos de sistema são gerados para cada número de item:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE eventlist SYSTEM "event.dtd">
<eventlist>
<event>
<attribute type="VBAP-POSNR">000010</attribute>
<attribute type="VBAP-VBELN">0000005696</attribute>
<attribute type="VBEP-SUM_DECIMALBMENG">468.000</attribute>
<attribute type="VBEP-SUM_DECIMALWMENG">695.000</attribute>
</event>
<event>
<attribute type="VBAP-POSNR">000020</attribute>
<attribute type="VBAP-VBELN">0000005696</attribute>
<attribute type="VBEP-SUM_DECIMALBMENG">108.000</attribute>
<attribute type="VBEP-SUM_DECIMALWMENG">545.000</attribute>
</event>
<event>
<attribute type="VBAP-POSNR">000030</attribute>
<attribute type="VBAP-VBELN">0000005696</attribute>
<attribute type="VBEP-SUM_DECIMALBMENG">921.000</attribute>
<attribute type="VBEP-SUM_DECIMALWMENG">293.000</attribute>
</event>
</eventlist>