Páginas filhas
  • 2. Exportação e Importação de Configurações do EAI

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Informações
titleMatriz de evolução
Versão / Release
Funcionalidade
12.1.9
  • Versão inicial

 

Objetivo

...

Permitir a exportação de configurações de EAI de um ambiente, e a respectiva importação em outro, possibilitando a realização de cópias de segurança (backups) de configurações realizadas, bem como a replicação de configurações em outros ambientes Logix, com o intuito de agilizar o "setup" de uma nova instalação.

Funcionamento

...

Exportação

Para realizar a exportação de configurações do EAI, deve-se executar o programa EAI10000 (Configurador do EAI), selecionar a opção Parametrização -> Gerais e clicar no botão Exportar.

...

O arquivo será gerado no formato XML (ver exemplo abaixo). Para detalhes sobre as tags usadas no arquivo, consulte a seção Formato do Arquivo, logo abaixo.

Bloco de código

Importação

Para realizar a importação de configurações, utiliza-se também o EAI10000. Nele, deve-se selecionar a opção Parametrização -> Gerais e clicar no botão Importar.

Image Removed

A importação será realizada em duas etapas. A primeira fará a carga e validação do arquivo de configurações: As validações realizadas são as seguintes:

  • Verificação da estrutura do arquivo com relação ao padrão XML;
  • Verificação das tags do arquivo com relação ao XML Schema;
  • Verificação do conteúdo das tags que fazem referencia a aplicativos. Por exemplo, uma rota atribuída a um aplicativo externo que não existe no arquivo;
  • Verificação do conteúdo das tags que fazem referencia a adapters, ou seja, o adapter informado no arquivo deve existir no RPO do ambiente de destino.

Após estas validações, segue a segunda etapa, onde será verificado a existência de configurações de EAI no ambiente de destino. Caso o ambiente não possua configurações, os dados importados são gravados sem qualquer pergunta ao usuário.

Entretanto, havendo configurações de EAI no ambiente de destino, será exibida uma tela de opções, onde o usuário informará o que deseja fazer em relação as configurações existentes.

Image Removed

  • Tipo de importação: pode-se escolher entre sobrescrever as configurações existentes ou combinar (mesclar) com as novas configurações sendo importadas. Quando as configuração são sobrescritas, todo o conteúdo anterior é substituído pelo conteúdo importado, inclusive o nome do aplicativo hospedeiro. Quando as configurações são mescladas, o nome do aplicativo hospedeiro é mantido e apenas os dados de configuração novos são incluídos no ambiente.
  • Backup das configurações: Marcando esta opção, será possível exportar as configurações existentes antes do processamento ser concluído. Será aberta uma tela para permitir informar o local e nome do arquivo de destino das configurações.
  • Eliminar mensagens: Marcando esta opção, será possível eliminar as mensagens recebidas e enviadas usando as configurações anteriores. Recomendado nos casos onde as configurações são sobrescritas.
  • Backup das mensagens: Caso a opção Eliminar mensagens seja escolhida, é possível exportar as mesmas para arquivo antes da remoção. Os arquivos de backup serão gerados no formato UNL, um padrão comum ao Logix. Caso seja necessário reimportar as mensagens para o ambiente, isso pode ser feito pelo programa LOG0002.
  • Diretório de exportação mensagem: Neste campo será exibido o caminho completo onde os arquivos de backup das mensagens serão gerados.

Ao final da importação será gerado um relatório contendo as opções feitas pelo usuário e os conteúdos importados. O mesmo é gerado em arquivo texto e gravado no diretório configurado no programa LOG1100, para o sistema LST e para a empresa do usuário que executou o EAI10000. Um exemplo do relatório gerado encontra-se anexo nesta página. 

View file
nameeai10010.txt
height150

Combinando configurações

Ao combinar configurações de EAI existentes num ambiente com as provenientes de um arquivo de configuração, serão realizadas as seguintes operações:

  • O nome do aplicativo hospedeiro existente será mantido.
  • As transações do aplicativo hospedeiro existente que coincidirem com as transações do aplicativo hospedeiro importado serão mantidas.
  • As transações do aplicativo hospedeiro importado que não existirem no aplicativo hospedeiro de destino serão acrescentadas.
  • Os aplicativos externos cujo nome coincidir com algum aplicativo externo importado serão mantidos.
  • Os aplicativos externos importados que não existirem no ambiente de destino serão acrescentados.
  • As transações dos aplicativos externos que já existirem no ambiente de destino serão mantidas.
  • As transações dos aplicativos externos que não existirem serão acrescentadas.
  • As rotas existentes serão mantidas.
  • As novas rotas serão acrescentadas.
  • As informações de "de-para" que já existirem serão mantidas.
  • As novas informações de "de-para" serão acrescentadas.

Informações Técnicas

Nesta seção descrevemos informações de ordem técnica, como o formato do arquivo XML e o XSD utilizado para validação do arquivo de configuração importado.

Formato do Arquivo

A tabela abaixo descreve o significado de cada uma das tags usadas no arquivo de configuração de EAI.

...

Tag

...

Descrição

...

Obrigatória

...

EaiConfiguration

...

Tag que abrange as configurações de EAI.

Atributos:

• Instance: nome do aplicativo hospedeiro.

...

Sim

...

Applications

...

Agrupa os vários aplicativos da configuração.

...

Sim

...

Application

...

Descreve um aplicativo, que pode ser interno (hospedeiro) ou externo. O aplicativo hospedeiro será aquele cujo nome conste no atributo instance da tag EaiConfiguration.

Atributos:

• name: nome do aplicativo (obrigatório).
• productName: nome do produto do aplicativo. Pode ser: LOGIX, PROTHEUS, DATASUL, RM (obrigatório).
• productVersion: versão do produto do aplicativo (obrigatório).

...

Sim

...

AppProgram

...

Nome do programa ou classe que executa as funções de processamento das transações.

...

Sim

...

ChannelProgram

...

Nome do programa ou classe que faz o envio das mensagens de forma síncrona.

...

Sim

...

QueueProgram

...

Nome do programa ou classe que envia as mensagens para a fila, em caso de envio assíncrono.

...

Sim

...

Properties

...

Agrupa as propriedades de um aplicativo.

...

Sim (aplicativo externo)

...

Property

...

Descreve uma propriedade do aplicativo.

Atributos:

• Category: categoria da propriedade. Pode ser: Channel, Application, Input-Queue.
• Name: nome da propriedade.

...

Sim (aplicativo externo)

 

...

Transaction

...

Descreve uma transação relacionada a um aplicativo.

...

Sim

...

Name

...

Nome da transação.

...

Sim

...

Version

...

Versão da transação.

...

Sim

...

SupportedMode

...

Modo de operação suportado pela transação. Pode ser: not_enabled, send_enabled, receive_enabled e both_enabled.

...

Sim

...

Modo de operação habilitado para a transação. Pode ser: not_enabled, send_enabled, receive_enabled e both_enabled.

O valor desta tag deve estar de acordo com a tag supportedMode conforme segue:

SupportedModeEnabledMode
both_enabled

both_enabled

send_enabled

receive_enabled

not_enabled

send_enabledsend_enabled
 not_enabled
receive_enabled

receive_enabled

not_enabled

not_enablednot_enabled

...

Adapter

...

Nome do programa ou classe que processa a mensagem recebida para a transação.

...

Sim (aplicativo hospedeiro)

...

Anonymous

...

Indica se a transação pode ser recebida de um aplicativo não conhecido.

...

Sim (aplicativo hospedeiro)

...

IncludeOriginalMsg

...

Indica se a mensagem original será incluída no corpo da mensagem de resposta para aquela transação.

...

Sim (aplicativo hospedeiro)

...

Contexts

...

Agrupa os contextos relacionadas com a transação.

...

Sim (aplicativo hospedeiro)

...

Context (em Contexts)

...

Descreve o contexto associado à transação.

...

Sim, se houver Contexts

...

Routes

...

Agrupa as rotas relacionadas com a transação.

...

Sim (aplicativo hospedeiro)

...

Route

...

Descreve a rota da transação.

...

Sim, se houver Routes

...

Destination

...

Aplicativo externo para o qual a mensagem da transação será enviada.

...

Sim, se houver Route

...

Context (em Route)

...

Indica o contexto que deve estar na mensagem para que esta seja enviada ao aplicativo externo.

...

Sim, se houver Route

...

InternalIDs

...

Agrupa os registros de de-para.

...

Não

...

InternalID

...

Descreve um registro de de-para.

Atributos:

• Id: Identificador (nome) do de-para.

...

Sim, se houver InternalIDs

...

Table

...

Tabela do ERP contendo o registro referenciado pela parte "interna" do de-para.

...

Sim, se houver InternalID

...

KeyFields

...

Campos chaves da tabela que são usados na composição da parte "interna" do de-para.

...

Sim, se houver InternalID

...

ValueMappings

...

Agrupa os valores de um de-para.

...

Não

...

ValueMapping

...

Valores de de-para para um aplicativo externo.

Atributo:

• App: Identificador do aplicativo externo ao qual se refere o de-para.

...

Sim, se houver ValueMappings

...

ExternalValue

...

Valor no aplicativo externo.

...

Sim

...

InternalValue

...

Valor no aplicativo hospedeiro (interno).

...

Sim

languagexml
titleArquivo de configuração de EAI
collapsetrue
<?xml version="1.0" encoding="UTF-8"?>
<EaiConfiguration instance="EAI-LOGIX">
   <Applications>
      <Application name="EAI-LOGIX" productName="LOGIX" productVersion="12.1.6">
         <AppProgram>EAIHostApplication</AppProgram>
         <ChannelProgram>EAIChannelHost</ChannelProgram>
         <QueueProgram>EAIMessageQueueLogix</QueueProgram>
         <Transactions>
            <Transaction>
               <Name>accountantaccount</Name>
               <Version>2.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>ADP10038</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>accountingclosingdate</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>ADP10029</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>accountingentry</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>ADP10023</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>accountpayabledocument</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>ADP10022</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>accountpayabledocumentdischarge</Name>
               <Version>1.003</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>ADP10033</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>accountreceivabledocument</Name>
               <Version>1.001</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>ADP10020</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>accountreceivabledocumentdischarge</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>ADP10032</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>areaandlineofbusiness</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>ADP10040</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>bank</Name>
               <Version>1.000</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
               <Adapter>ADP10031</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>banktransactions</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>ADP10024</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>cancelrequest</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>EAIHELPERCANCELREQUEST1</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>carrier</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>ADP10010</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>city</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>ADP10002</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>company</Name>
               <Version>1.000</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
               <Adapter>ADP10034</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>costcenter</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>ADP10039</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>coveragedocument</Name>
               <Version>1.000</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
               <Adapter>ADP10005</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>currencyquotation</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>ADP10004</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>financeiro</Context>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>customervendor</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>ADP10000</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>departament</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>ADP10041</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>edidocumentfortransportation</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>ADP10009</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>employee</Name>
               <Version>2.001</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>ADP10043</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>employeeposition</Name>
               <Version>1.001</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>EAIHELPEREMPLOYEEPOSITION1</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>datasulcrm</Context>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>employeesituations</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>EAIHELPEREMPLOYEESITUATIONS1</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>inputdocument</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>ADP10006</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>inventory</Name>
               <Version>1.000</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
               <Adapter>ADP10007</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>invoice</Name>
               <Version>1.001</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>ADP10028</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>invoice</Name>
               <Version>3.004</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>EAIHELPERINVOICE3</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>item</Name>
               <Version>1.001</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>ADP10001</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>item</Name>
               <Version>3.001</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
               <Adapter>EAIHELPERITEM3</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>itemstructure</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>EAIHELPERITEMSTRUCTURE1</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>listofaccountpayabledocument</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>EAIHELPERLISTOFACCOUNTPAYABLEDOCUMENT1</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>monthlypayroll</Name>
               <Version>1.000</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
               <Adapter>EAIHELPERMONTHLYPAYROLL1</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>order</Name>
               <Version>3.003</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>EAIHELPERORDER3</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>packaging</Name>
               <Version>1.000</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
               <Adapter>ADP10025</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>packagingrelationship</Name>
               <Version>1.000</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
               <Adapter>ADP10026</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>paymentcondition</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>EAIHELPERPAYMENTCONDITION1</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>datasulcrm</Context>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>pricelistheaderitem</Name>
               <Version>1.002</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>EAIHELPERPRICELISTHEADERITEM1</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>datasulcrm</Context>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>productionorder</Name>
               <Version>2.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>EAIHELPERPRODUCTIONORDER2</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>productsupplierrelationship</Name>
               <Version>2.003</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
               <Adapter>EAIHELPERPRODUCTSUPPLIERRELATIONSHIP2</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>quotation</Name>
               <Version>1.002</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>EAIHELPERQUOTATION1</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>request</Name>
               <Version>1.007</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>EAIHELPERREQUEST1</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>reversalofaccountpayabledocumentdischarge</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>ADP10037</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>reversalofaccountreceivabledocumentdischarge</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>ADP10036</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>role</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>ADP10042</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>salesorder</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>ADP10008</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>schedulework</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>EAIHELPERSCHEDULEWORK1</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>seller</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>EAIHELPERSELLER1</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>datasulcrm</Context>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>setemployeebranchtranfer</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>EAIHELPERSETEMPLOYEEBRANCHTRANFER1</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>shipmentofexportinvoice</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>ADP10030</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>sintegraregister-85-86</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
               <Adapter>ADP10035</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>unitofmeasure</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>ADP10003</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
               <Routes>
                  <Route>
                     <Destination>dts11cordas8480</Destination>
                     <Context>padrao</Context>
                  </Route>
               </Routes>
            </Transaction>
            <Transaction>
               <Name>unitofmeasureconversion</Name>
               <Version>1.000</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
               <Adapter>ADP10027</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>user</Name>
               <Version>3.001</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>EAIHELPERUSER3</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
               <Contexts>
                  <Context>datasulcrm</Context>
                  <Context>padrao</Context>
               </Contexts>
            </Transaction>
            <Transaction>
               <Name>whois</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
               <Adapter>ADP0001</Adapter>
               <Anonymous>false</Anonymous>
               <IncludeOriginalMsg>false</IncludeOriginalMsg>
            </Transaction>
         </Transactions>
      </Application>
      <Application name="dts11cordas8480" productName="DATASUL" productVersion="11.5.X">
         <AppProgram>EAIDefaultApplication</AppProgram>
         <ChannelProgram>EAIChannelDatasul</ChannelProgram>
         <QueueProgram>EAIMessageQueue</QueueProgram>
         <Properties>
            <Property category="Channel" name="password">eai@123</Property>
            <Property category="Channel" name="textformat"></Property>
            <Property category="Channel" name="url">http://cordas.jv01.local:8480/eai2-ws/EAIService?wsdl</Property>
            <Property category="Channel" name="user">eai</Property>
         </Properties>
         <Transactions>
            <Transaction>
               <Name>accountreceivabledocument</Name>
               <Version>2.000</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>activity</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>carrier</Name>
               <Version>2.000</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>city</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>company</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>customerestablishment</Name>
               <Version>1.000</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>customervendor</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>customervendor</Name>
               <Version>1.001</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>customervendor</Name>
               <Version>2.001</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>eaienvironment</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>employeeposition</Name>
               <Version>1.001</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>invoice</Name>
               <Version>3.003</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>invoice</Name>
               <Version>3.004</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>item</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>item</Name>
               <Version>3.001</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>paymentcondition</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>paymentcondition</Name>
               <Version>2.001</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>pricelistheaderitem</Name>
               <Version>1.001</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>pricelistheaderitem</Name>
               <Version>1.002</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>productionorder</Name>
               <Version>2.000</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>request</Name>
               <Version>1.007</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>seller</Name>
               <Version>1.000</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>unitofmeasure</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>unitofmeasure</Name>
               <Version>2.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>unitofmeasureconversion</Name>
               <Version>1.000</Version>
               <SupportedMode>send_enabled</SupportedMode>
               <EnabledMode>send_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>user</Name>
               <Version>3.001</Version>
               <SupportedMode>receive_enabled</SupportedMode>
               <EnabledMode>receive_enabled</EnabledMode>
            </Transaction>
            <Transaction>
               <Name>whois</Name>
               <Version>1.000</Version>
               <SupportedMode>both_enabled</SupportedMode>
               <EnabledMode>both_enabled</EnabledMode>
            </Transaction>
         </Transactions>
      </Application>
   </Applications>
   <InternalIDs>
      <InternalID id="AccountantAccount">
         <Table>plano_contas</Table>
         <KeyFields>cod_empresa|num_conta|num_conta_reduz</KeyFields>
      </InternalID>
      <InternalID id="AreaAndLineOfBusinessInternalId">
         <Table>linha_prod</Table>
         <KeyFields>cod_lin_prod|cod_lin_recei|cod_seg_merc|cod_cla_uso</KeyFields>
      </InternalID>
      <InternalID id="CompanyInternalId">
         <Table>empresa</Table>
         <KeyFields>cod_empresa</KeyFields>
      </InternalID>
      <InternalID id="DepartamentInternalId">
         <Table>unidade_funcional</Table>
         <KeyFields>cod_empresa|cod_uni_funcio</KeyFields>
      </InternalID>
      <InternalID id="InternalId">
         <Table>funcionario</Table>
         <KeyFields>cod_empresa|num_matricula</KeyFields>
      </InternalID>
      <InternalID id="RoleInternalId">
         <Table>cargo</Table>
         <KeyFields>cod_empresa|cod_cargo</KeyFields>
      </InternalID>
      <InternalID id="WorkShiftInternalId">
         <Table>escala</Table>
         <KeyFields>cod_empresa|cod_escala</KeyFields>
      </InternalID>
   </InternalIDs>
</EaiConfiguration>

Importação

Para realizar a importação de configurações, utiliza-se também o EAI10000. Nele, deve-se selecionar a opção Parametrização -> Gerais e clicar no botão Importar.

Image Added

A importação será realizada em duas etapas. A primeira fará a carga e validação do arquivo de configurações. As validações realizadas são as seguintes:

  • Verificação da estrutura do arquivo com relação ao padrão XML;
  • Verificação das tags do arquivo com relação ao XML Schema. O arquivo de XML Schema usado nesta validação pode ser visto na seção XML Schema, ao final do documento;
  • Verificação do conteúdo das tags que fazem referência a aplicativos. Por exemplo, uma rota não pode estar vinculada a um aplicativo externo que não existe no arquivo;
  • Verificação do conteúdo das tags que fazem referência a adapters, ou seja, o adapter informado no arquivo deve existir no RPO do ambiente de destino.

Havendo alguma inconsistência no arquivo, relacionada às validações acima, a importação é cancelada e nenhuma informação é atualizada no ambiente.

Nota

Caso seja necessário atualizar o ambiente com os dados do arquivo de configuração, mesmo que parcialmente, será necessário editar o mesmo, removendo o conteúdo que gerou a inconsistência. Entretanto, esta é uma operação que requer profundo conhecimento da estrutura do arquivo de configuração e não é recomendada para usuários sem tal conhecimento.

Após estas validações, segue a segunda etapa, onde será verificado a existência de configurações de EAI no ambiente de destino. Caso o ambiente não possua configurações, os dados importados são gravados sem qualquer pergunta ao usuário.

Entretanto, havendo configurações de EAI no ambiente de destino, será exibida uma tela de opções, onde o usuário informará o que deseja fazer em relação as configurações existentes.

Image Added

Descrição das opções de importação

  • Tipo de importação: pode-se escolher entre sobrescrever as configurações existentes ou combinar (mesclar) com as novas configurações sendo importadas. Quando as configurações são sobrescritas, todo o conteúdo anterior é substituído pelo conteúdo importado, inclusive o nome do aplicativo hospedeiro. Quando as configurações são mescladas, o nome do aplicativo hospedeiro é mantido e apenas os dados de configuração novos são incluídos no ambiente.
  • Backup das configurações: Marcando esta opção, será possível exportar as configurações existentes antes do processamento ser concluído. Será aberta uma tela para permitir informar o local e nome do arquivo de destino das configurações.
  • Eliminar mensagens: Marcando esta opção, será possível eliminar as mensagens recebidas e enviadas usando as configurações anteriores. Recomendado nos casos onde as configurações são sobrescritas.
  • Backup das mensagens: Caso a opção Eliminar mensagens seja escolhida, é possível exportar as mesmas para arquivo antes da remoção. Os arquivos de backup serão gerados no formato UNL, um padrão comum ao Logix. Caso seja necessário reimportar as mensagens para o ambiente, isso pode ser feito pelo programa LOG0002.
  • Diretório de exportação mensagem: Neste campo será exibido o caminho completo onde os arquivos de backup das mensagens serão gerados. A edição do seu conteúdo não é permitida.

Combinando configurações

Ao combinar configurações de EAI existentes num ambiente com as provenientes de um arquivo de configuração, serão realizadas as seguintes operações:

  • O nome do aplicativo hospedeiro existente será mantido.
  • As transações do aplicativo hospedeiro existente que coincidirem com as transações do aplicativo hospedeiro importado serão mantidas.
  • As transações do aplicativo hospedeiro importado que não existirem no aplicativo hospedeiro de destino serão acrescentadas.
  • Os aplicativos externos cujo nome coincidir com algum aplicativo externo importado serão mantidos.
  • Os aplicativos externos importados que não existirem no ambiente de destino serão acrescentados.
  • As transações dos aplicativos externos que já existirem no ambiente de destino serão mantidas.
  • As transações dos aplicativos externos que não existirem serão acrescentadas.
  • As rotas existentes serão mantidas.
  • As novas rotas serão acrescentadas.
  • As informações de "de-para" que já existirem serão mantidas.
  • As novas informações de "de-para" serão acrescentadas.

Relatório de importação

Ao final da importação será gerado um relatório contendo as opções feitas pelo usuário e os conteúdos importados. O mesmo é gerado em formato texto e gravado no diretório configurado no programa LOG1100, para o sistema LST e empresa do usuário que executou o EAI10000. 

Bloco de código
languagetext
titleExemplo de relatório
collapsetrue
Processamento das configurações de EAI
======================================
Data/hora de inicio...........: 29/12/2015 - 16:19:38
Realizar backup?..............: NÃO
Local e nome do arquivo.......: 
Eliminar mensagens ?..........: NÃO
Backup das mensagens..........: NÃO
Local do backup das mensagens.: 
Forma de processamento........: Assumir configurações importadas, descartando as atuais

Aplicativo hospedeiro..: LOGIX_1100

    Novas transações                                                     Versão
    ---------------------------------------------------------------------------
    accountantaccount                                                     2.000     
    accountingclosingdate                                                 1.000     
    accountingentry                                                       1.000     
    accountpayabledocument                                                1.000     
    accountpayabledocumentdischarge                                       1.003     
    accountreceivabledocument                                             1.001     
    accountreceivabledocumentdischarge                                    1.000     
    areaandlineofbusiness                                                 1.000     
    bank                                                                  1.000     
    banktransactions                                                      1.000     
    cancelrequest                                                         1.000     
    carrier                                                               1.000     
    city                                                                  1.000     
    company                                                               1.000     
    costcenter                                                            1.000     
    coveragedocument                                                      1.000     
    currencyquotation                                                     1.000     
    customervendor                                                        1.000     
    departament                                                           1.000     
    edidocumentfortransportation                                          1.000     
    employee                                                              2.001     
    employeeposition                                                      1.001     
    employeesituations                                                    1.000     
    inputdocument                                                         1.000     
    inventory                                                             1.000     
    invoice                                                               1.001     
    invoice                                                               3.004     
    item                                                                  1.001     
    item                                                                  3.001     
    itemstructure                                                         1.000     
    listofaccountpayabledocument                                          1.000     
    monthlypayroll                                                        1.000     
    order                                                                 3.003     
    packaging                                                             1.000     
    packagingrelationship                                                 1.000     
    paymentcondition                                                      1.000     
    pricelistheaderitem                                                   1.002     
    productsupplierrelationship                                           2.003     
    quotation                                                             1.002     
    request                                                               1.007     
    reversalofaccountpayabledocumentdischarge                             1.000     
    reversalofaccountreceivabledocumentdischarge                          1.000     
    role                                                                  1.000     
    salesorder                                                            1.000     
    schedulework                                                          1.000     
    seller                                                                1.000     
    shipmentofexportinvoice                                               1.000     
    sintegraregister-85-86                                                1.000     
    unitofmeasure                                                         1.000     
    unitofmeasureconversion                                               1.000     
    user                                                                  3.001     
    whois                                                                 1.000     

    TOTAL: 52 transações

Novos Aplicativos Externos
-------------------------------------------------------------------------------

Aplicativo
-------------------------------------------------------------------------------
dts11cordas8480                         

    Transações                                                           Versão
    ---------------------------------------------------------------------------
    accountreceivabledocument                                             2.000     
    activity                                                              1.000     
    carrier                                                               2.000     
    city                                                                  1.000     
    company                                                               1.000     
    customerestablishment                                                 1.000     
    customervendor                                                        1.000     
    customervendor                                                        1.001     
    customervendor                                                        2.001     
    eaienvironment                                                        1.000     
    employeeposition                                                      1.001     
    invoice                                                               3.003     
    invoice                                                               3.004     
    item                                                                  1.000     
    item                                                                  3.001     
    paymentcondition                                                      1.000     
    paymentcondition                                                      2.001     
    pricelistheaderitem                                                   1.001     
    pricelistheaderitem                                                   1.002     
    productionorder                                                       2.000     
    request                                                               1.007     
    seller                                                                1.000     
    unitofmeasure                                                         1.000     
    unitofmeasure                                                         2.000     
    unitofmeasureconversion                                               1.000     
    user                                                                  3.001     
    whois                                                                 1.000     

    TOTAL: 1 aplicativos 27 transações


Novas Transações em Aplicativos Existentes
-------------------------------------------------------------------------------

    TOTAL: 0 aplicativos 0 transações


    Novas rotas..................................: 1
    Novas informações de 'de-para' (Internal IDs): 0
    Data/hora de término.........................: 29/12/2015 - 16:19:38

Informações Técnicas

...

Nesta seção descrevemos informações de ordem técnica, como o formato do arquivo XML e o XSD utilizado para validação do arquivo de configuração importado.

Formato do Arquivo
Âncora
fileformat
fileformat

A tabela abaixo descreve o significado de cada uma das tags usadas no arquivo de configuração de EAI.

Tag

Descrição

Obrigatória

EaiConfiguration

Tag que abrange as configurações de EAI.

Atributos:

• Instance: nome do aplicativo hospedeiro.

Sim

Applications

Agrupa os vários aplicativos da configuração.

Sim

Application

Descreve um aplicativo, que pode ser interno (hospedeiro) ou externo. O aplicativo hospedeiro será aquele cujo nome conste no atributo instance da tag EaiConfiguration.

Atributos:

• name: nome do aplicativo (obrigatório).
• productName: nome do produto do aplicativo. Pode ser: LOGIX, PROTHEUS, DATASUL, RM (obrigatório).
• productVersion: versão do produto do aplicativo (obrigatório).

Sim

AppProgram

Nome do programa ou classe que executa as funções de processamento das transações.

Sim

ChannelProgram

Nome do programa ou classe que faz o envio das mensagens de forma síncrona.

Sim

QueueProgram

Nome do programa ou classe que envia as mensagens para a fila, em caso de envio assíncrono.

Sim

Properties

Agrupa as propriedades de um aplicativo.

Sim (aplicativo externo)

Property

Descreve uma propriedade do aplicativo.

Atributos:

• Category: categoria da propriedade. Pode ser: Channel, Application, Input-Queue.
• Name: nome da propriedade.

Sim (aplicativo externo)

 

TransactionsAgrupa as transações relacionadas ao aplicativo.Sim

Transaction

Descreve uma transação relacionada a um aplicativo.

Sim

Name

Nome da transação.

Sim

Version

Versão da transação.

Sim

SupportedMode

Modo de operação suportado pela transação. Pode ser: not_enabled, send_enabled, receive_enabled e both_enabled.

Sim

EnabledMode

Modo de operação habilitado para a transação. Pode ser: not_enabled, send_enabled, receive_enabled e both_enabled.

O valor desta tag deve estar de acordo com a tag supportedMode conforme segue:

SupportedModeEnabledMode
both_enabled

both_enabled

send_enabled

receive_enabled

not_enabled

send_enabledsend_enabled
 not_enabled
receive_enabled

receive_enabled

not_enabled

not_enablednot_enabled
Sim

Adapter

Nome do programa ou classe que processa a mensagem recebida para a transação.

Sim (aplicativo hospedeiro)

Anonymous

Indica se a transação pode ser recebida de um aplicativo não conhecido.

Sim (aplicativo hospedeiro)

IncludeOriginalMsg

Indica se a mensagem original será incluída no corpo da mensagem de resposta para aquela transação.

Sim (aplicativo hospedeiro)

Contexts

Agrupa os contextos relacionadas com a transação.

Sim (aplicativo hospedeiro)

Context (em Contexts)

Descreve o contexto associado à transação.

Sim, se houver Contexts

Routes

Agrupa as rotas relacionadas com a transação.

Sim (aplicativo hospedeiro)

Route

Descreve a rota da transação.

Sim, se houver Routes

Destination

Aplicativo externo para o qual a mensagem da transação será enviada.

Sim, se houver Route

Context (em Route)

Indica o contexto que deve estar na mensagem para que esta seja enviada ao aplicativo externo.

Sim, se houver Route

InternalIDs

Agrupa os registros de de-para.

Não

InternalID

Descreve um registro de de-para.

Atributos:

• Id: Identificador (nome) do de-para.

Sim, se houver InternalIDs

Table

Tabela do ERP contendo o registro referenciado pela parte "interna" do de-para.

Sim, se houver InternalID

KeyFields

Campos chaves da tabela que são usados na composição da parte "interna" do de-para.

Sim, se houver InternalID

ValueMappings

Agrupa os valores de um de-para.

Não

ValueMapping

Valores de de-para para um aplicativo externo.

Atributo:

• App: Identificador do aplicativo externo ao qual se refere o de-para.

Sim, se houver ValueMappings

ExternalValue

Valor no aplicativo externo.

Sim

InternalValue

Valor no aplicativo hospedeiro (interno).

Sim

XML Schema
Âncora
xmlschema
xmlschema

O XML abaixo define a estrutura do arquivo de configuração e é usado no processo de importação para validar o arquivo de configuração utilizado.

Bloco de código
languagexml
titleEAIConfiguration.xsd
collapsetrue
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    
    <xs:complexType name="TransactionType">
        <xs:sequence>
            <xs:element name="Name">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(\S)+"></xs:pattern>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="Version" type="xs:string"></xs:element>
            <xs:element name="SupportedMode">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="not_enabled"></xs:enumeration>
                        <xs:enumeration value="send_enabled"></xs:enumeration>
                        <xs:enumeration value="receive_enabled"></xs:enumeration>
                        <xs:enumeration value="both_enabled"></xs:enumeration>
                        <xs:enumeration value="NOT_ENABLED"></xs:enumeration>
                        <xs:enumeration value="SEND_ENABLED"></xs:enumeration>
                        <xs:enumeration value="RECEIVE_ENABLED"></xs:enumeration>
                        <xs:enumeration value="BOTH_ENABLED"></xs:enumeration>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="EnabledMode">
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:enumeration value="not_enabled"></xs:enumeration>
                        <xs:enumeration value="send_enabled"></xs:enumeration>
                        <xs:enumeration value="receive_enabled"></xs:enumeration>
                        <xs:enumeration value="both_enabled"></xs:enumeration>
                        <xs:enumeration value="NOT_ENABLED"></xs:enumeration>
                        <xs:enumeration value="SEND_ENABLED"></xs:enumeration>
                        <xs:enumeration value="RECEIVE_ENABLED"></xs:enumeration>
                        <xs:enumeration value="BOTH_ENABLED"></xs:enumeration>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="Adapter" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Esta tag é opcional para aplicativos externos</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(\S)+"></xs:pattern>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="Anonymous" type="xs:boolean" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Esta tag é opcional para aplicativos externos</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="IncludeOriginalMsg" type="xs:boolean" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Esta tag é opcional para aplicativos externos</xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="Contexts" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Esta tag é opcional para aplicativos externos</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Context" type="xs:string" maxOccurs="unbounded"></xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="Routes" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>Esta tag é opcional para aplicativos externos</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Route" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:sequence>
                                     <xs:element name="Destination" type="xs:string"></xs:element>
                                     <xs:element name="Context" type="xs:string"></xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    
    <xs:complexType name="ApplicationType">
        <xs:sequence>
            <xs:element name="AppProgram">
                <xs:simpleType>                
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(\S)+"></xs:pattern>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="ChannelProgram">
                <xs:simpleType>                
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(\S)+"></xs:pattern>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="QueueProgram">
                <xs:simpleType>                
                    <xs:restriction base="xs:string">
                        <xs:pattern value="(\S)+"></xs:pattern>
                    </xs:restriction>
                </xs:simpleType>
            </xs:element>
            <xs:element name="Properties" minOccurs="0" >
                <xs:annotation>
                    <xs:documentation>Esta tag é opcional para aplicativo interno</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Property"  maxOccurs="unbounded">                                                    
                            <xs:complexType>
                                <xs:simpleContent>
                                    <xs:extension base="xs:string">
                                        <xs:attribute name="category">
                                            <xs:annotation>
                                                <xs:documentation>Categoria à qual a propriedade se refere.
- Channel: propriedade relativa ao canal de comunicação com o aplicativo ao qual ela pertence.
- Application: propriedade relativa ao aplicativo.
- Input-Queue: propriedade relativa à fila de saída das mensagens.</xs:documentation>
                                            </xs:annotation>
                                            <xs:simpleType>
                                                <xs:restriction
                                                    base="xs:string">
                                                    <xs:enumeration
                                                        value="Channel">
                                                    </xs:enumeration>
                                                    <xs:enumeration
                                                        value="Application">
                                                    </xs:enumeration>
                                                    <xs:enumeration
                                                        value="Input-Queue">
                                                    </xs:enumeration>
                                                </xs:restriction>
                                            </xs:simpleType>
                                        </xs:attribute>
                                        <xs:attribute name="name" type="xs:string"></xs:attribute>
                                    </xs:extension>
                                </xs:simpleContent>                                
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="Transactions">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Transaction" type="TransactionType" maxOccurs="unbounded"></xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="name" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="(\S)+"></xs:pattern>
                </xs:restriction>
            </xs:simpleType>        
        </xs:attribute>
        <xs:attribute name="productName" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:enumeration value="logix"></xs:enumeration>
                    <xs:enumeration value="datasul"></xs:enumeration>
                    <xs:enumeration value="protheus"></xs:enumeration>
                    <xs:enumeration value="rm"></xs:enumeration>
                    <xs:enumeration value="LOGIX"></xs:enumeration>
                    <xs:enumeration value="DATASUL"></xs:enumeration>
                    <xs:enumeration value="PROTHEUS"></xs:enumeration>
                    <xs:enumeration value="RM"></xs:enumeration>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="productVersion" type="xs:string"></xs:attribute>
    </xs:complexType>
    
    <xs:complexType name="InternalIDType">
        <xs:sequence>
            <xs:element name="Table" type="xs:string"></xs:element>
            <xs:element name="KeyFields" type="xs:string"></xs:element>
            <xs:element name="ValueMappings" minOccurs="0">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="ValueMapping" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="ExternalValue" type="xs:string"></xs:element>
                                    <xs:element name="InternalValue" type="xs:string"></xs:element>                                    
                                </xs:sequence>
                                <xs:attribute name="app" use="required">
                                    <xs:simpleType>
                                        <xs:restriction base="xs:string">
                                            <xs:pattern value="(\S)+"></xs:pattern>
                                        </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
       

XML Schema

O XML abaixo define a estrutura do arquivo de configuração e é usado no processo de importação para validar o arquivo utilizado. Caso haja alguma inconsistência, o processo de importação é abortado.

Bloco de código
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
 <xs:complexType name="TransactionType">
 <xs:sequence>
 <xs:element name="Name">
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="Version" type="xs:string"></xs:element>
 <xs:element name="SupportedMode">
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:enumeration value="not_enabled"></xs:enumeration>
 <xs:enumeration value="send_enabled"></xs:enumeration>
 <xs:enumeration value="receive_enabled"></xs:enumeration>
 <xs:enumeration value="both_enabled"></xs:enumeration>
 <xs:enumeration value="NOT_ENABLED"></xs:enumeration>
 <xs:enumeration value="SEND_ENABLED"></xs:enumeration>
 <xs:enumeration value="RECEIVE_ENABLED"></xs:enumeration>
 <xs:enumeration value="BOTH_ENABLED"></xs:enumeration>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="EnabledMode">
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:enumeration value="not_enabled"></xs:enumeration>
 <xs:enumeration value="send_enabled"></xs:enumeration>
 <xs:enumeration value="receive_enabled"></xs:enumeration>
 <xs:enumeration value="both_enabled"></xs:enumeration>
 <xs:enumeration value="NOT_ENABLED"></xs:enumeration>
 <xs:enumeration value="SEND_ENABLED"></xs:enumeration>
 <xs:enumeration value="RECEIVE_ENABLED"></xs:enumeration>
 <xs:enumeration value="BOTH_ENABLED"></xs:enumeration>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="Adapter" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Esta tag é opcional para aplicativos externos</xs:documentation>
 </xs:annotation>
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="Anonymous" type="xs:boolean" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Esta tag é opcional para aplicativos externos</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="IncludeOriginalMsg" type="xs:boolean" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Esta tag é opcional para aplicativos externos</xs:documentation>
 </xs:annotation>
 </xs:element>
 <xs:element name="Contexts" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Esta tag é opcional para aplicativos externos</xs:documentation>
 </xs:annotation>
 <xs:complexType>
 <xs:sequence>
 <xs:element name="Context" type="xs:string" maxOccurs="unbounded"></xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 <xs:element name="Routes" minOccurs="0">
 <xs:annotation>
 <xs:documentation>Esta tag é opcional para aplicativos externos</xs:documentation>
 </xs:annotation>
 <xs:complexType>
 <xs:sequence>
 <xs:element name="Route" maxOccurs="unbounded">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="Destination" type="xs:string"></xs:element>
 <xs:element name="Context" type="xs:string"></xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 </xs:complexType>
 <xs:complexType name="ApplicationType">
 <xs:sequence>
 <xs:element name="AppProgram">
 <xs:simpleType> 
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="ChannelProgram">
 <xs:simpleType> 
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="QueueProgram">
 <xs:simpleType> 
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="Properties" minOccurs="0" >
 <xs:annotation>
 <xs:documentation>Esta tag é opcional para aplicativo interno</xs:documentation>
 </xs:annotation>
 <xs:complexType>
 <xs:sequence>
 <xs:element name="Property" maxOccurs="unbounded"> 
 <xs:complexType>
 <xs:simpleContent>
 <xs:extension base="xs:string">
 <xs:attribute name="category">
 <xs:annotation>
 <xs:documentation>Categoria à qual a propriedade se refere.
- Channel: propriedade relativa ao canal de comunicação com o aplicativo ao qual ela pertence.
- Application: propriedade relativa ao aplicativo.
- Input-Queue: propriedade relativa à fila de saída das mensagens.</xs:documentation>
 </xs:annotation>
 <xs:simpleType>
 <xs:restriction
 base="xs:string">
 <xs:enumeration
 value="Channel">
 </xs:enumeration>
 <xs:enumeration
 value="Application">
 </xs:enumeration>
 <xs:enumeration
 value="Input-Queue">
 </xs:enumeration>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 <xs:attribute name="name" type="xs:string"></xs:attribute>
 </xs:extension>
 </xs:simpleContent> 
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 <xs:element name="Transactions">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="Transaction" type="TransactionType" maxOccurs="unbounded"></xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 <xs:attribute name="name" use="required">
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType> 
 </xs:attribute>
 <xs:attribute name="productName" use="required">
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:enumeration value="logix"></xs:enumeration>
 <xs:enumeration value="datasul"></xs:enumeration>
 <xs:enumeration value="protheus"></xs:enumeration>
 <xs:enumeration value="rm"></xs:enumeration>
 <xs:enumeration value="LOGIX"></xs:enumeration>
 <xs:enumeration value="DATASUL"></xs:enumeration>
 <xs:enumeration value="PROTHEUS"></xs:enumeration>
 <xs:enumeration value="RM"></xs:enumeration>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 <xs:attribute name="productVersion" type="xs:string"></xs:attribute>
 </xs:complexType>
 <xs:complexType name="InternalIDType">
 <xs:sequence>
 <xs:element name="Table" type="xs:string"></xs:element>
 <xs:element name="KeyFields" type="xs:string"></xs:element>
 <xs:element name="ValueMappings" minOccurs="0">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="ValueMapping" maxOccurs="unbounded">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="ExternalValue" type="xs:string"></xs:element>
 <xs:element name="InternalValue" type="xs:string"></xs:element> 
 </xs:sequence>
 <xs:attribute name="app" use="required">
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <xs:pattern value="(\S)+"></xs:pattern>
 </xs:restriction>
 </xs:simpleType>
 </xs:attribute>
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 </xs:sequence>
 <xs:attribute name="id" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="(\S)+"></xs:pattern>
                </xs:restriction>
            </xs:simpleType>
:simpleType>
        </xs:attribute>
    </xs:complexType>
    
    <xs:complexType name="EaiConfigurationType">
        <xs:sequence>
            <xs:element name="Applications">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="Application" type="ApplicationType" maxOccurs="unbounded"></xs:element>
                    </xs:sequence>

                </xs:complexType>
            </xs:element>
            <xs:element name="InternalIDs" minOccurs="0">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="InternalID" type="InternalIDType" maxOccurs="unbounded"></xs:element>
                    </xs:sequence>
                </xs:complexType>
:complexType>
            </xs:element>
        </xs:sequence>
        <xs:attribute name="instance" use="required">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:pattern value="(\S)+"></xs:pattern>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:element name="EaiConfiguration" type="EaiConfigurationType"></xs:element>                    
</xs:schema>

 

...