Extrair o documento da primeira alteração de um campo de tabela

Use a classe com.idsscheer.ppm.xmlextractortools.extractor.sap2ppm.Quebra de linha
ZFirstFieldChange_sap2ppm para extrair informações sobre a primeira alteração de um campo da tabela de um sistema SAP. Especifique a classe com o atributo XML classtouse na configuração da tabela do elemento XML table.

Cálculo

Para alguns documentos do sistema SAP, existe apenas um campo para a data da última alteração. O valor inicial deste campo no primeiro documento de alteração é interpretado como a data de criação do documento. Este valor é extraído, juntamente com a classe a ser usada, das tabelas do documento de alteração CDHDR e CDPOS.

As condições para usar a classe devem ser as seguintes:

<table name="name" classtouse="com.idsscheer.ppm. Quebra de linha

xmlextractortools. Quebra de linha

extractor.sap2ppm. Quebra de linha

ZFirstFieldChange_sap2ppm">

<booleancondition>

<condition fieldname="OBJECTCLAS" ...>

...

</condition>

<condition fieldname="OBJECTID" ...>

...

</condition>

<condition fieldname="TABNAME" ...>

...

</condition>

<condition fieldname="TABKEY" ...>

...

</condition>

<condition fieldname="FNAME" ...>

...

</condition>

</booleancondition>

<pkfield name="OBJECTCLAS"/>

<pkfield name="OBJECTID"/>

<pkfield name="CHANGENR"/>

<pkfield name="TABNAME"/>

<pkfield name="TABKEY"/>

<pkfield name="FNAME"/>

<pkfield name="CHNGIND"/>

<pkfield name="<Campo que é usado na tabkey>" Quebra de linha

fktablename="<Tabela de chave estrangeira, Quebra de linha da qual

o campo é extraído>" Quebra de linha

fkfieldname="<Campo da tabela de chave estrangeira>"/>

... Outros campos usados em tabkey

<fieldtoread name="CDPOS-VALUE_OLD"/>

... Outros campos da tabela CDPOS

<fieldtoread name="CDHDR-UDATE"/>

... Outros campos da tabela CDHDR

</table>

A combinação de valores especificados nos campos OBJECTID e TABKEY é a mesma que para com.idsscheer.ppm.xmlextractortools.extractor.sap2ppm. Quebra de linha
ZChangeDocTable_sap2ppm (ver o capítulo Extrair eventos do sistema, incluindo alterações).

Exemplo (de uma configuração SAP)

Com essa configuração, irá extrair dados sobre quem modificou pela última vez o campo que contém o estado de aprovação das requisições de compra e quando:

<table name="ORIGINAL_ERDAT" classtouse="com.idsscheer.ppm. Quebra de linha

xmlextractortools.extractor.sap2ppm. Quebra de linha

ZFirstFieldChange_sap2ppm">

<booleancondition>

<condition fieldname="OBJECTCLAS" logicaloperator="eq">

<value>EINKBELEG</value>

</condition>

<condition fieldname="OBJECTID" Quebra de linha

logicaloperator="eq_concatEventAttrValues">

<value>EKPO-EBELN</value>

</condition>

<condition fieldname="TABNAME" logicaloperator="eq">

<value>EKPO</value>

</condition>

<condition fieldname="TABKEY" Quebra de linha

logicaloperator="eq_concatEventAttrValues">

<value>CLIENT#-#EKPO-EBELN#-#EKPO-EBELP</value>

</condition>

<condition fieldname="FNAME" logicaloperator="eq">

<value>AEDAT</value>

</condition>

</booleancondition>

<pkfield name="OBJECTCLAS"/>

<pkfield name="OBJECTID"/>

<pkfield name="CHANGENR"/>

<pkfield name="TABNAME"/>

<pkfield name="TABKEY"/>

<pkfield name="FNAME"/>

<pkfield name="CHNGIND"/>

<pkfield name="EBELN" fktablename="EKPO" Quebra de linha

fkfieldname="EBELN"/>

<pkfield name="EBELP" fktablename="EKPO" Quebra de linha

fkfieldname="EBELP"/>

<fieldtoread name="CDPOS-VALUE_OLD"/>

</table>

O resultado da extração de valor com esta configuração da tabela pode ser o seguinte em um evento de sistema criado: 

<event>

...

<attribute type="ORIGINAL_ERDAT-VALUE_OLD">

20010402

</attribute>

...

</event>