Concatenar novos valores de atributo de valores de atributo extraídos

A classe com.idsscheer.ppm.xmlextractortools.extractor.
sap2ppm.ZTableConcatFKs_sap2ppm pode ser usada ao extrair dados de um sistema SAP para gerar novos atributos do evento do sistema, concatenando os valores dos atributos já extraídos. Os novos eventos de sistema criados podem ser referenciados em outras configurações da tabela de dados (elemento XML table).

Exemplo

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

<!DOCTYPE xmlextractor_tableconfiguration SYSTEM

'xmlextractor_tableconfiguration.dtd'>

<xmlextractor_tableconfiguration>

<configuration name="SD">

<docspec>

<doctable name="RBKP">

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

<value>2005</value>

</condition>

<pkfield name="BELNR"/>

<pkfield name="GJAHR"/>

</doctable>

</docspec>

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

xmlextractortools.extractor.

sap2ppm.ZTableConcatFKs_sap2ppm">

<pkfield name="BELNR" fktablename="RBKP"

fkfieldname="BELNR"/>

<pkfield name="GJAHR" fktablename="RBKP"

fkfieldname="GJAHR"/>

<fieldtoread name="AWKEY_GENERATED"/>

</table>

</configuration>

</xmlextractor_tableconfiguration>

Se estiver a usar a classe ZTableConcatFKs_sap2ppm terá de especificar exatamente um elemento fieldtoread. O elemento contém o nome do atributo do evento de sistema a ser criado. No exemplo, é criado um novo atributo do evento de sistema com o nome RBKP_NEW-AWKEY_GENERATED. O valor do atributo consiste nos valores dos elementos pkfield especificados.
As operações normais fkpart, prefix e postfix podem ser usadas para os elementos pkfield.

Um evento de sistema criado com a configuração acima poderia ter a seguinte aparência:

...

<event>

<attribute type="RBKP-BELNR">5105601204</attribute>

<attribute type="RBKP-GJAHR">2005</attribute>

<attribute type="RBKP_NEW-AWKEY_GENERATED">51056012042005

</attribute>

</event>

...

Caso especial

Na configuração de tabela, o elemento especial pkfield CLIENT pode ser usado para adicionar automaticamente o número do cliente SAP ao extrair dados. Os atributos XML name, fktablename e fkfieldname têm de ter o valor CLIENT.

Exemplo (incluindo elemento postfix)

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

<!DOCTYPE xmlextractor_tableconfiguration SYSTEM

'xmlextractor_tableconfiguration.dtd'>

<xmlextractor_tableconfiguration>

<configuration name="SD">

<docspec>

<doctable name="RBKP">

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

<value>2005</value>

</condition>

<pkfield name="BELNR"/>

<pkfield name="GJAHR"/>

</doctable>

</docspec>

<table name="RBKP_NEWER" classtouse="com.idsscheer.

ppm.xmlextractortools.extractor.

sap2ppm.ZTableConcatFKs_sap2ppm">

<pkfield name="CLIENT" fktablename="CLIENT"

fkfieldname="CLIENT">

<postfix>

<value> test </value>

</postfix>

</pkfield>

<pkfield name="BELNR" fktablename="RBKP"

fkfieldname="BELNR"/>

<pkfield name="GJAHR" fktablename="RBKP"

fkfieldname="GJAHR"/>

<fieldtoread name="AWKEY_GENERATED"/>

</table>

</configuration>

</xmlextractor_tableconfiguration>

Um evento de sistema que é criado ao extrair dados do cliente 800 poderia ter a seguinte aparência:

...

<event>

<attribute type="RBKP-BELNR">5105601204</attribute>

<attribute type="RBKP-GJAHR">2005</attribute>

<attribute type="RBKP_NEWER-AWKEY_GENERATED"

>800 test 51056012042005</attribute>

</event>

...

O novo atributo – RBKP_NEWER-AWKEY_GENERATED – pode então ser referenciado em outras configurações de tabela da mesma forma que os restantes campos da tabela SAP.

Exemplo

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

<!DOCTYPE xmlextractor_tableconfiguration SYSTEM

'xmlextractor_tableconfiguration.dtd'>

<xmlextractor_tableconfiguration>

<configuration name="SD">

<docspec>

<doctable name="RBKP">

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

<value>2005</value>

</condition>

<pkfield name="BELNR"/>

<pkfield name="GJAHR"/>

</doctable>

</docspec>

<table name="RBKP_NEW" classtouse="com.idsscheer.

ppm.xmlextractortools.extractor.

sap2ppm.ZTableConcatFKs_sap2ppm">

<pkfield name="BELNR" fktablename="RBKP"

fkfieldname="BELNR"/>

<pkfield name="GJAHR" fktablename="RBKP"

fkfieldname="GJAHR"/>

<fieldtoread name="AWKEY_GENERATED"/>

</table>

<table name="BKPF">

<pkfield name="AWKEY" fktablename="RBKP_NEW"

fkfieldname="AWKEY_GENERATED"/>

<fieldtoread name="BELNR"/>

</table>

</configuration>

</xmlextractor_tableconfiguration>

Um evento de sistema criado com essa configuração poderia ter a seguinte aparência:

...

<event>

<attribute type="RBKP-BELNR">5105601204</attribute>

<attribute type="RBKP-GJAHR">2005</attribute>

<attribute type="RBKP_NEW-AWKEY_GENERATED"

>51056012042005</attribute>

<attribute type="BKPF-BELNR">5100004691</attribute>

</event>

...