Extrair a primeira ou última linha de uma classificação

A classe Java a ser usada com.idsscheer.ppm.xmlextractortools.extractor.jdbc2ppm. Quebra de linha
ZSortWithInteger_jdbc2ppm classifica registros em uma tabela de dados por meio do critério de classificação especificado e grava o primeiro ou último registro nos eventos do sistema a serem gerados. A classe tem de ser especificada no atributo classtouse do elemento XML table.

Exemplo

Com essa classe, pode usar um critério inteiro (quantidade de elementos) para classificar registros de dados referenciados por meio de relações de chave estrangeira, na tabela ORDER ITEM. O critério de classificação é o campo AMOUNT. A partir dos dados classificados, o registro de dados com o maior valor de critério de classificação (para ITEM AMOUNT_MAX) e o registro de dados com o menor valor de critério de classificação (para ITEM AMOUNT_MIN) são gravados nos eventos de sistema gerados, cada um com o número do elemento correspondente. O seguinte extrato de arquivo ilustra a configuração de extração nas condições descritas acima:  

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

<!DOCTYPE jdbc_tableconfiguration SYSTEM Quebra de linha

'jdbc_tableconfiguration.dtd'>

<jdbc_tableconfiguration>

<configuration name="SortWithInteger">

<docspec>

<doctable name="ORDER HEADER">

<pkfield name="NUMBER"/>

</doctable>

</docspec>

<table name="ITEM AMOUNT_MAX" Quebra de linha

tablename="ORDER ITEM" Quebra de linha

classtouse="com.idsscheer.ppm.xmlextractortools. Quebra de linha

extractor.jdbc2ppm. Quebra de linha

ZSortWithInteger_jdbc2ppm">

<parameter name="SORTCRITERION">

<value>AMOUNT</value>

</parameter>

<parameter name="USE">

<value>MAX</value>

</parameter>

<pkfield name="NUMBER" fktablename="ORDER HEADER" Quebra de linha

fkfieldname="NUMBER"/>

<fieldtoread name="ITEM"/>

<fieldtoread name="AMOUNT"/>

</table>

<table name="ITEM AMOUNT_MIN" Quebra de linha

tablename="ORDER ITEM" Quebra de linha

classtouse="com.idsscheer.ppm.xmlextractortools. Quebra de linha

extractor.jdbc2ppm. Quebra de linha

ZSortWithInteger_jdbc2ppm">

<parameter name="SORTCRITERION">

<value>AMOUNT</value>

</parameter>

<parameter name="USE">

<value>MIN</value>

</parameter>

<pkfield name="NUMBER" fktablename="ORDER HEADER" Quebra de linha

fkfieldname="NUMBER"/>

<fieldtoread name="ITEM"/>

<fieldtoread name="AMOUNT"/>

</table>

</configuration>

</jdbc_tableconfiguration>

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

<event>

<attribute type="ORDER HEADER NUMBER">

4711

</attribute>

<attribute type="ITEM AMOUNT_MAX-ITEM">

20

</attribute>

<attribute type="ITEM AMOUNT_MAX-AMOUNT">

100000

</attribute>

<attribute type="ITEM AMOUNT_MIN-ITEM">

50

</attribute>

<attribute type="ITEM AMOUNT_MIN-AMOUNT">

470

</attribute>

</event>

O critério de classificação (neste caso AMOUNT) é automaticamente incluído na especificação do evento de sistema.

O modelo para criar a configuração exibida é semelhante a isso:

<table name="..." tablename="..." Quebra de linha

classtouse="com.idsscheer.ppm.xmlextractortools. Quebra de linha

extractor.jdbc2ppm. Quebra de linha

ZSortWithInteger_jdbc2ppm">

<parameter name="SORTCRITERION">

<value>...</value>

</parameter>

<parameter name="USE">

<value>...</value>

</parameter>

...

Ver o capítulo 

Configuração da tabela JDBC

...

</table>

A tabela abaixo reitera as entradas de configuração mais importantes para a definição table acima:

Elemento/atributo XML

Valor: Descrição

name

O nome especificado é adicionado como um prefixo aos atributos do sistema de origem extraídos

tablename
(opcional)

Tabela da qual a informação deve ser extraída. Valor padrão: Valor do atributo XML name

classtouse

com.idsscheer.ppm.xmlextractortools.
extractor. jdbc2ppm.ZSortWithInteger_jdbc2ppm:

Classe Java a ser usada

nome do parâmetro

 

SORTCRITERION

Primeiro parâmetro a ser especificado.

Tem de ser especificado um único elemento XML value (nome de campo do critério de classificação). O campo especificado apenas pode incluir valores inteiros.

USE

Segundo a ser especificado.

Tem de ser especificado um único elemento XML value. Valores válidos:
MIN (é selecionado o registro de dados com o menor valor inteiro para o critério de classificação)
MAX (é selecionado o registro de dados com o maior valor inteiro para o critério de classificação)

O primeiro ou o último registro de dados da lista gerada com base no critério de classificação especificado é selecionado para ser extraído.

Deve usar essa classe para extrair a primeira ou a última linha de uma classificação com moderação, pois as operações de classificação e seleção podem resultar em perda de desempenho e memória.