O extrato de arquivo abaixo mostra a configuração da tabela SD_C para extrair dados de um sistema SAP SD:
...
<xmlextractor_tableconfiguration>
<configuration name="SD_C">
<docspec>
<docreftable name="VBAK">
<booleancondition>
<condition fieldname="ERDAT#-#ERZET"
logicaloperator="creationtimestamp">
<value>yyyyMMdd</value>
<value>HHmmss</value>
</condition>
<condition fieldname="VBTYP"
logicaloperator="eq">
<value>C</value>
</condition>
</booleancondition>
<pkfield name="VBELN" />
</docreftable>
<doctable name="Orders" tablename="VBAP">
<pkfield name="VBELN" fktablename="VBAK"
fkfieldname="VBELN"/>
<pkfield name="POSNR" />
<fieldtoread name="ERDAT"/>
<fieldtoread name="ERZET"/>
<fieldtoread name="MATNR">
<textref tablename="MAKT" reffieldname="MATNR"
textfieldname="MAKTX" langfieldname="SPRAS"/>
</fieldtoread>
<fieldtoread name="KONDM">
<textref tablename="T178T" reffieldname="KONDM"
textfieldname="VTEXT" langfieldname="SPRAS"/>
</fieldtoread>
<fieldtoread name="SPART">
<textref tablename="TSPAT" reffieldname="SPART"
textfieldname="VTEXT" langfieldname="SPRAS"/>
</fieldtoread>
<fieldtoread name="WERKS">
<textref tablename="T001W" reffieldname="WERKS"
textfieldname="NAME1"/>
</fieldtoread>
<fieldtoread name="CHARG"/>
<fieldtoread name="PSTYV"/>
<fieldtoread name="ERNAM"/>
<fieldtoread name="NETWR"/>
</doctable>
</docspec>
<table name="VBAK">
<pkfield name="VBELN" fktablename="Orders"
fkfieldname="VBELN"/>
<fieldtoread name="VTWEG">
<textref tablename="TVTWT" reffieldname="VTWEG"
textfieldname="VTEXT" langfieldname="SPRAS"/>
</fieldtoread>
<fieldtoread name="VKORG">
<textref tablename="TVKOT" reffieldname="VKORG"
textfieldname="VTEXT" langfieldname="SPRAS"/>
</fieldtoread>
<fieldtoread name="VDATU"/>
<fieldtoread name="VKBUR">
<textref tablename="TVKBT" reffieldname="VKBUR"
textfieldname="BEZEI" langfieldname="SPRAS"/>
</fieldtoread>
<fieldtoread name="VKGRP">
<textref tablename="TVGRT" reffieldname="VKGRP"
textfieldname="BEZEI" langfieldname="SPRAS"/>
</fieldtoread>
<fieldtoread name="VBTYP"/>
<fieldtoread name="AUART"/>
</table>
<table name="MARA">
<pkfield name="MATNR" fktablename="Orders"
fkfieldname="MATNR"/>
<fieldtoread name="MATNR"/>
<fieldtoread name="MTART">
<textref tablename="T134T" reffieldname="MTART"
textfieldname="MTBEZ" langfieldname="SPRAS"/>
</fieldtoread>
</table>
</configuration>
</xmlextractor_tableconfiguration>
A configuração da tabela SD_C contém as seguintes tabelas:
Tabela de cabeçalho do documento
...
<docreftable name="VBAK">
<booleancondition>
<condition fieldname="ERDAT#-#ERZET"
logicaloperator="creationtimestamp">
<value>yyyyMMdd</value>
<value>HHmmss</value>
</condition>
<condition fieldname="VBTYP"
logicaloperator="eq">
<value>C</value>
</condition>
</booleancondition>
<pkfield name="VBELN" />
</docreftable>
...
O identificador e o nome da tabela de cabeçalho do documento do sistema R/3 é VBAK. Todos os cabeçalhos de documentos de encomenda (VBTYP=C) para o período especificado na linha de comando são lidos. Os elementos value do operador de condição creationtimestamp especificam o formato do carimbo de data/hora especificado.
O nome da coluna da tabela de chave primária é VBELN. Para cada valor de campo VBELN diferente, os registros de dados são extraídos da tabela do documento vinculado para a qual VBELN apresenta o mesmo valor que a tabela de cabeçalho do documento.
Tabela do documento
...
<doctable name="Orders" tablename="VBAP">
<pkfield name="VBELN" fktablename="VBAK"
fkfieldname="VBELN"/>
<pkfield name="POSNR" />
<fieldtoread name="ERDAT"/>
<fieldtoread name="ERZET"/>
<fieldtoread name="MATNR">
<textref tablename="MAKT" reffieldname="MATNR"
textfieldname="MAKTX" langfieldname="SPRAS"/>
</fieldtoread>
<fieldtoread name="KONDM">
<textref tablename="T178T" reffieldname="KONDM"
textfieldname="VTEXT" langfieldname="SPRAS"/>
</fieldtoread>
<fieldtoread name="SPART">
<textref tablename="TSPAT" reffieldname="SPART"
textfieldname="VTEXT" langfieldname="SPRAS"/>
</fieldtoread>
<fieldtoread name="WERKS">
<textref tablename="T001W" reffieldname="WERKS"
textfieldname="NAME1"/>
</fieldtoread>
<fieldtoread name="CHARG"/>
<fieldtoread name="PSTYV"/>
<fieldtoread name="ERNAM"/>
<fieldtoread name="NETWR"/>
</doctable>
...
O identificador Ordens é associado à tabela do documento VBAP. A relação de chave estrangeira especificada na linha
<pkfield name="VBELN" fktablename="VBAK" fkfieldname="VBELN"/>
vincula a tabela à tabela de cabeçalho do documento. A menos que especificado de outra forma, as relações de chave estrangeira são criadas com base em valores de campo iguais (ver o capítulo Comparação de relações de chave estrangeira). Neste exemplo, apenas as linhas da tabela para as quais a comparação dos valores de campo VBAP-VBELN e VBAK-VBELN retornar valores iguais serão extraídas. A chave primária consiste nas colunas VBELN e POSNR.
Um evento de sistema (elemento XML event) é criado no arquivo de saída XML para cada linha extraída da tabela. Para cada elemento XML fieldtoread, uma linha do formulário
<attribute type="...">...</attribute>
é gravada no arquivo de saída.
Os campos de chave primária (pkfield) especificados na definição doctable são extraídos automaticamente. Não precisa de especificar fieldtoread para esses campos.
Para alguns elementos fieldtoread, o valor extraído da tabela referenciada (elemento XML textref) é gravado em conjunto com o valor do campo de dados extraído. O elemento opcional langfieldname extrai o texto específico do idioma do campo de dados.
O tipo de atributo do sistema de origem completo é composto pelo identificador da tabela de cabeçalho do documento (doctable name), nome do campo (fieldtoread name) e nome do campo de texto referenciado (textref ... textfieldname). O tipo de atributo do sistema de origem para o primeiro elemento fieldtoread extraído com uma tabela referenciada é semelhante a:
<attribute type="Orders-MATNR-MAKTX">...</attribute>
Tabelas de dados
...
<table name="VBAK">
<pkfield name="VBELN" fktablename="Orders"
fkfieldname="VBELN"/>
<fieldtoread name="VTWEG">
<textref tablename="TVTWT" reffieldname="VTWEG"
textfieldname="VTEXT" langfieldname="SPRAS"/>
</fieldtoread>
<fieldtoread name="VKORG">
<textref tablename="TVKOT" reffieldname="VKORG"
textfieldname="VTEXT" langfieldname="SPRAS"/>
</fieldtoread>
<fieldtoread name="VDATU"/>
<fieldtoread name="VKBUR">
<textref tablename="TVKBT" reffieldname="VKBUR"
textfieldname="BEZEI" langfieldname="SPRAS"/>
</fieldtoread>
<fieldtoread name="VKGRP">
<textref tablename="TVGRT" reffieldname="VKGRP"
textfieldname="BEZEI" langfieldname="SPRAS"/>
</fieldtoread>
<fieldtoread name="VBTYP"/>
<fieldtoread name="AUART"/>
</table>
<table name="MARA">
<pkfield name="MATNR" fktablename="Orders"
fkfieldname="MATNR"/>
<fieldtoread name="MATNR"/>
<fieldtoread name="MTART">
<textref tablename="T134T" reffieldname="MTART"
textfieldname="MTBEZ" langfieldname="SPRAS"/>
</fieldtoread>
</table>
...
As relações de chave estrangeira com os campos de chave primária VBELN e MATNR na tabela Ordens são usadas para extrair informações suplementares das tabelas de dados VBAK e MARA.