Adicionar valores de um campo

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>