Árvore de páginas

Versões comparadas

Chave

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

...

Produto:

Microsiga Protheus®

Versões:

12.1.25 e posteriores 

Ocorrência:

Configuração Mile para o Módulo Estoque

Ambiente:

SIGAEST - Estoque Custos

Passo a passo:

Deck of Cards
startHiddenfalse
effectDuration0.5
idMile
effectTypehorizontal
Card
defaulttrue
labelConceito

O que é o MILE?

O MILE é o acrônimo para Model Integrator Layout Engine. O intuito desta ferramenta é facilitar a importação/exportação de dados para o sistema através do uso de rotinas automáticas (MSExecAuto) e/ou rotinas desenvolvidas em MVC utilizando arquivos em formato texto (TXT).

Conceito básico da ferramenta

 A ideia básica é mapear as informações que serão importadas ou exportadas em um layout . Esse layout trabalha no conceito de canais, é feita a leitura do arquivo texto e através do layout enviasse os dados para serem processados pelo adapter.      

1- O que é um Canal ?

O canal pode ser utilizado para definir que informações estão sendo trabalhadas, por exemplo, em uma importação de pedido de vendas há informações de cabeçalho e de ítens, as informações que compõem o cabeçalho podem estar em um canal e as de ítens em outro canal.
Exemplo:

Neste exemplo o canal "01", (no começo da linha) poderia ser o cabeçalho e o "02" os ítens.
O canal é uma informação que deve constar no arquivo texto e que define uma separação ou tipagem para os dados que estão sendo trabalhados.

Um layout pode possuir um, vários ou nenhum canal.

2- O que é uma Unidade de Informação?

Dentro de um arquivo texto iremos importar/exportar várias informações, mas cada layout se refere a um contexto (notas, pedidos, clientes, etc.). Dentro de cada contexto, cada conjunto de informações é uma unidade de informação.
Por exemplo, em um arquivo de pedidos de venda podem existir vários pedidos com vários canais, mas vamos importar/exportar 1 pedido a cada vez, nessa idéia, cada pedido é uma unidade de informação. Se vamos importar clientes, cada um dos clientes que será importado (independente de quantos canais tenha o layout) será uma unidade de informação e assim por diante.

3 - O que é um Adapter?

Adapter é a aplicação responsável por processar as informações que foram obtidas a partir do arquivo texto.

Card
idMile
labelLayout

O que é um Layout?

Layout é a configuração que permite, ao se ler um arquivo texto, identificar os dados contidos naquele arquivo e fazer o seu relacionamento com as informações dos adapters.

1- Composição do layout

Um layout pode ser configurado através da aplicação de manutenção de layouts (CFGA600) que se encontra no módulo do Configurador (SIGACFG) nas opções Ambiente / Aceleradores / MILE / Layouts
A seguir detalhamos a composição de um layout.


2- Geral

Contêm dados gerais do layout


Possui os campos:

Layout: Código do Layout

Descrição: Descrição do layout
Tipo de Adapter: Tipo de Adapter. Veja ítem 1.4 - O que é um Adapter

1=MSExecAuto - Tratamento por rotina automática (MSExecAuto) (a rotina deve possuir esta característica)
2=MVC - Tratamento por rotina em MVC
3=Função - Tratamento por função específica. Neste caso os dados serão lidos pela ferramenta e passados para função. Para mais detalhes veja ítem 9 - Trabalhando com uma função específica.


Adapter: Nome do Adapter.

Quando o tipo de adapter é:
MSExecAuto: Informa-se o nome da função de rotina automática (MSExecAuto).
MVC: Informa-se nome do FONTE (.pr?) que contêm o modelo de dados (MODELDEF).
Função: Informa-se o nome da função que irá receber os dados lidos


Tabela principal: Alias da tabela principal utilizada na importação. A área corrente é apontada para este alias antes de se efetuar a importação.
Ordem: Ordem da tabela principal utilizada na importação. A ordem da tabela principal é apontada para esta ordem antes de se efetuar a importação.
Versão do Layout: Versão do layout. Campo livre para informar a versão do layout.


Card
idMile
labelFormatação de Arquivo

Formatação do Arquivo

Contêm dados sobre o formato do arquivo texto.

Possui os campos:

Arquivo TXT: Formato do arquivo texto

1=Fixo: Dados com largura fixa
2=Separador:- Dados usam algum separador entre si


Separador: Se o formato do arquivo texto for por separador, informar o caracter separador utilizado. Os caracter aceitos são:

| Pipe
; Ponto-e-vírgula
, Vírgula
/ Barra
- Traço
 Tab Tabulação ( Chr(9) )

Aviso
titleAtenção

Se os dados contiverem algum dos símbolos dos separadores, os mesmo não serão importados corretamente.


Separador
 Decimal: Tipo de separador de casas decimais dos dados numéricos.

1=Ponto              Ex. 12345.67

2=Vírgula            Ex. 12345,67 


Aviso
titleAtenção

Se o tipo de separador de casas decimais não estiver correto, os dados não serão importados corretamente. Se os dados possuírem separadores de milhares, isto deve ser tratado no próprio layout utilizando o campo Execução.


 Entrada MultiCanal: Informa se o arquivo texto possui vários canais.

Card
idMile
labelTratamentos e validações

Tratamentos e validações

Contêm os nomes de funções específicas que podem ser definidas para tratamentos pontuais dos dados lidos.

Detalhes no link : MILE - Model Integrator Layout Engine


Card
idMile
labelAdapters de Rotina Automática

Adapters de Rotina Automática

Contêm definições de características específicas para adapters que são uma rotina automática (MSExecAuto).

Possui os campos:


Tipo MSExecAuto: Se o tipo de adapter for uma rotina automática (MSExecAuto), informar o modelo do rotina automática. São suportados 3 modelos:

1=Modelo 1 (Tabela simples)
2=Modelo 2 (1 Tabela com cabeçalho/ítens)
3=Modelo 3 (2 Tabelas diferentes cabeçalho/ítens)

Outros modelos não são suportados.

Detalhes Opcional: Quando o adapter é uma rotina automática (MSExecAuto), define se os detalhes dessa rotina automática são opcionais. Este campo deve ser preenchido conforme cada rotina automática, pois algumas aceitam esta característica e outras não.

Aviso
titleImportante

A operação executada para adapters de rotina automática (MSExecAuto) sempre será apenas INCLUSÃO.

Card
idMile
labelAdapter em MVC

Adapters em MVC

Contêm definições de características específicas para adapters em MVC.

Possui os campos:


Operações Importação: Para adapters em MVC, define quais operações serão consideradas na importação.


Apenas Inclusão: Todos dados sempre serão tratados como uma nova inclusão.
Inclusão/Alteração: Será verificada a chave única do modelo e determinado se o dado é uma inclusão ou alteração, se a chave não for encontrada será uma inclusão, se for encontrada, será uma alteração.

Método de Alteração: Define o método para efetuar as alterações.

Alteração Direta: Os dados serão alterados diretamente no modelo.
Excluir/Incluir: É feita a exclusão dos dados pelo adapter em MVC e em seguida uma nova inclusão.


Para configurar Canais sugerimos a leitura do link MILE - Model Integrator Layout Engine


Card
idMile
labelExemplo de uso do Mile

Exemplo do MATA270 inventário

Criamos um exemplo de aplicação no MATA270 (arquivos no link abaixo) com os campos padrões para importar no Inventário (tabela SB7).


Modelo de arquvi Mile mata410Arquivo de Importação MILE.zip


Para importar :

1) Abra o arquivo XML do link pelo Modulo Configurador

2) Importe o arquivo TXT na rotina Digitação de Inventário (MATA270)

 


Aviso
titleImportante

Substitua os Códigos do TXT com códigos existentes na base (código de produto, tipo de produto, quantidade inventariada, Lote, Endereço, entre outros)


Exemplo:


É possível validar o recebimento do registro no Modulo Configurador


Card
idMile
labelErro de recepção

Exemplo de erro de recepção

Neste caso acima o código digitado não existe na base de dados no arquivo TXT (00)

Card
idMile
labelErro de recepção

Acesso aos erro de recepção

Image Added

Como indicado acima, os LOGs de erros ficam arquivados para consultas

Card
idMile
labelExceções de uso do Mile

Exceções de uso do Mile

Algumas rotinas do sistema, não estão preparadas para o uso da configuração Mile, exemplo disso é  a rotina FATA150 - Catálogos x Produtos.



Documentação complementar:

MILE - Model Integrator Layout Engine