A classe Java a ser usada com.idsscheer.ppm.xmlextractortools.extractor.jdbc2ppm.
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
'jdbc_tableconfiguration.dtd'>
<jdbc_tableconfiguration>
<configuration name="SortWithInteger">
<docspec>
<doctable name="ORDER HEADER">
<pkfield name="NUMBER"/>
</doctable>
</docspec>
<table name="ITEM AMOUNT_MAX"
tablename="ORDER ITEM"
classtouse="com.idsscheer.ppm.xmlextractortools.
extractor.jdbc2ppm.
ZSortWithInteger_jdbc2ppm">
<parameter name="SORTCRITERION">
<value>AMOUNT</value>
</parameter>
<parameter name="USE">
<value>MAX</value>
</parameter>
<pkfield name="NUMBER" fktablename="ORDER HEADER"
fkfieldname="NUMBER"/>
<fieldtoread name="ITEM"/>
<fieldtoread name="AMOUNT"/>
</table>
<table name="ITEM AMOUNT_MIN"
tablename="ORDER ITEM"
classtouse="com.idsscheer.ppm.xmlextractortools.
extractor.jdbc2ppm.
ZSortWithInteger_jdbc2ppm">
<parameter name="SORTCRITERION">
<value>AMOUNT</value>
</parameter>
<parameter name="USE">
<value>MIN</value>
</parameter>
<pkfield name="NUMBER" fktablename="ORDER HEADER"
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="..."
classtouse="com.idsscheer.ppm.xmlextractortools.
extractor.jdbc2ppm.
ZSortWithInteger_jdbc2ppm">
<parameter name="SORTCRITERION">
<value>...</value>
</parameter>
<parameter name="USE">
<value>...</value>
</parameter>
...
Ver o capítulo
...
</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 |
Tabela da qual a informação deve ser extraída. Valor padrão: Valor do atributo XML name |
classtouse |
com.idsscheer.ppm.xmlextractortools. 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: 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.