Page tree

Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.

  

Informações Gerais

 

Especificação

Produto

Logix

Módulo

EAI

Segmento Executor

Tecnologia

Projeto1

PDR_LD_FRW001

IRM1

PCREQ-8293

Requisito1

PCREQ-8448

Subtarefa1

PDR_LD_FRW001-181

Release de Entrega Planejada

12.1.9

Réplica

Não se aplica.

País

(  ) Brasil  (  ) Argentina  (  ) México  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colômbia   ( X ) TODOS.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 


Objetivo


Permitir a importação do arquivo de configurações de EAI, executando as validações básicas para garantir a estrutura do arquivo XML e integridade dos dados importados. O posterior processamento dos dados importados será tratado em outra especificação.


Definição da Regra de Negócio


O programa de configurações do EAI Logix (EAI10000) será alterado para incluir um botão, com label "Importar", que permita abrir a tela de seleção de arquivos, onde o usuário informará o caminho e nome do arquivo contendo as configurações de EAI que deseja importar.

Para acionar o botão "Importar", o usuário terá de escolher, no lado esquerdo da tela do EAI10000 as seguintes opções: Parametrização -> Gerais.

O arquivo importado, que deve estar no formato XML, será validado em relação à sintaxe XML e ao esquema XML definido na especificação ER_PCREQ-8447_Exportação_configurações_EAI.

Além destas validações, será verificado no arquivo importado o seguinte:

  • O atributo instance, da tag EaiConfiguration, deve existir como um aplicativo dentro do arquivo importado (tag Aplication, atributo name).
  • O valor da tag Adapter deve corresponder a um programa existente no RPO do Logix.
  • Se a tag Anonymous não existir no arquivo, assumir true como valor padrão se a transação for Whois; senão, assumir false.
  • Se a tag IncludeOriginalMsg não existir no arquivo, assumir false como valor padrão.
  • Se a tag Contexts não existir no arquivo, assumir o contexto padrão.
  • O valor da tag Destination deve existir como um aplicativo dentro do arquivo importado e deve ser diferente do aplicativo interno (ou hospedeiro).
  • O valor do atributo app, da tag ValueMapping, deve existir como um aplicativo dentro do arquivo importado.

O conteúdo importado do arquivo de configurações será exibido no console do AppServer caso a opção de debug esteja ativada no logixprofile.pro (propriedade eai.debug = 1).

Os eventuais erros de validação do arquivo importado serão mostrados para o usuário e listados no console do AppServer, e a importação será finalizada.

Os dados importados serão mantidos em uma estrutura de dados temporária, a qual será utilizada para a etapa de gravação das configurações, que será assunto de outra especificação.

Rotina para importação de XML

Para efetuar a importação do XML de configurações, deve-se utilizar a classe LTransDataXML. Esta classe carrega um arquivo no formato XML, valida sua estrutura e armazena os elementos e atributos em tabelas temporárias no banco de dados.

Há uma tabela temporária para os elementos (ou tags) e para os atributos. As estruturas de ambas estão descritas abaixo:

  • Tabela de elementos:
    • Nome do elemento;
    • Valor do elemento;
    • Sequência em relação a outros elementos com mesmo nome;
    • Sequência geral dentro do arquivo.

  • Tabela de atributos:
    • Nome do elemento;
    • Sequencia geral dentro do arquivo;
    • Nome do atributo;
    • Valor do atributo;
    • Sequência em relação a outros atributos com mesmo nome.

Para importar um arquivo XML a partir de um fonte 4GL, basta usar a seguinte sintaxe:

LOG_import_xml_to_4gl( cXMLPath )

Onde cXMLPath corresponde ao caminho completo do arquivo XML, por exemplo, c:\temp\arquivo.xml.

O uso a partir de um fonte AdvPl deve usar a seguinte sintaxe:

import_xml_to_4gl( cXMLPath )

Onde cXMLPath é o caminho completo do arquivo XML.

Após a importação, os dados poderão ser recuperados percorrendo as tabelas w_xml_data (tabela de elementos) e w_xml_data_attrib (tabela de atributos).

Validação de XML utilizando XSD

O XML do arquivo de configuração será validado utilizando o XSD EaiConfiguration.xsd, o qual deve estar situado no diretório apontado pela propriedade eai.xsdpath do arquivo logixprofile.pro. Se não for localizado neste diretório ou a propriedade não existir, deve ser procurado no caminho apontado pela propriedade STARTPATH do arquivo TotvsAppServer.ini.

Caso o arquivo XSD não seja encontrado em nenhum dos diretórios informados, ele será gerado pelo programa de importação e gravado num dos diretórios abaixos, obedecendo esta ordem de precedencia:

  1. Diretório apontado pela propriedade eai.xsdpath, caso a mesma exista no arquivo logixprofile.pro;
  2. Diretório apontado pela propriedade STARTPATH do arquivo TotvsAppServer.ini.

Para a geração automática do arquivo XSD, será necessário incluí-lo no RPO como um recurso. Para isso, o arquivo será incorporado ao RPO com a extensão .aph (EaiConfigurationXSD.aph) e a recuperação, quando necessária, será feita através da função AdvPl H_EAICONFIGURATIONXSD().



Protótipo de Tela

Botão de importação do arquivo


 

 

Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.