Á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 Compras

Ambiente:

SIGACOM - Compras

Passo a passo:

Deck of Cards
startHiddenfalse
effectDuration0.5
idMile1Mile
effectTypehorizontal
loopCardstrue
Card
defaulttrueidMile1
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
defaulttrue
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
defaulttrue
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
defaulttrue
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
defaulttrue
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
defaulttrue
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
defaulttrue
idMile
labelExemplo Cadastro de Fornecedores

Exemplo do MATA020

Criamos um exemplo de aplicação no MATA020 com os campos padrões do Cadastro de Fornecedores.


Arquivos modelos:


TXT de integração:

View file
nameFornecedores 1.txt
height250


Exemplo layout:

View file
namesa2.xml
height250


1) Abra o arquivo XML do exemplo do layout acima pelo Módulo Configurador (Ambiente → Aceleradores → Mile → Layouts):



2) Após importe o arquivo TXT no configurador ou dentro do Cadastro de Fornecedores:


Configurador:

 


Cadastro de Fornecedores:


Aviso
titleImportante

Substitua os Códigos do TXT com códigos existentes na base (código de fornecedor, loja, CNPJ, endereço, entre outros).


Exemplo:



Exemplo de erro de recepção





Neste caso acima o CNPJ do fornecedor não era um código válido.

Card
defaulttrue
idMile
labelExemplo Documento de Entrada

Exemplo do MATA103

Criamos um exemplo de aplicação no MATA103 com os campos padrões do Documento de Entrada.

Arquivos modelos:


TXT de integração:

View file
nameteste_mata103.txt
height250


Exemplo layout:

View file
namemata103.xml
height250


1) Abra o arquivo XML do exemplo do layout acima pelo Módulo Configurador (Ambiente → Aceleradores → Mile → Layouts):



2) Após importe o arquivo TXT no configurador ou dentro do Documento de Entrada:


Configurador:

 


Documento de Entrada:


Aviso
titleImportante

Substitua os Códigos do TXT com códigos existentes na base (código de fornecedor, número do documento, código do produto, centro de custo, entre outros).


Exemplo:



Exemplo de erro de recepção




Neste caso acima o documento de entrada já havia sido cadastrado e o sistema não permite que haja duplicidade.

Card
defaulttrue
idMile
labelExemplo Contrato de Parceria

Exemplo do MATA125

Criamos um exemplo de aplicação no MATA125 com os campos padrões do Contrato de Parceria.

Arquivos modelos:


TXT de integração:

View file
namecontrato de parceria.txt
height250


Exemplo layout:

View file
namemata125.xml
height250


1) Abra o arquivo XML do exemplo do layout acima pelo Módulo Configurador (Ambiente → Aceleradores → Mile → Layouts):



2) Após importe o arquivo TXT no configurador ou dentro do Contrato de Parceria:


Configurador:

 


Contrato de Parceria:


Aviso
titleImportante

Substitua os Códigos do TXT com códigos existentes na base (número contrato de parceria, código do fornecedor, loja, condição de pagamento, entre outros).


Exemplo:



Exemplo de erro de recepção




Neste caso acima a condição de pagamento inserida no TXT de integração é inválida (não consta cadastrada no Protheus).

Card
defaulttrue
idMile
labelExemplo Pedido de Compra

Exemplo do MATA121

Criamos um exemplo de aplicação no MATA121 com os campos padrões do Pedido de Compra.

Arquivos modelos:


TXT de integração:


View file
namePedido Compra.txt
height250


Exemplo layout:


View file
nameMATA121.xml
height250


1) Abra o arquivo XML do exemplo do layout acima pelo Módulo Configurador (Ambiente → Aceleradores → Mile → Layouts):



2) Após importe o arquivo TXT no configurador:


Configurador:

 



Aviso
titleImportante

Substitua os Códigos do TXT com códigos existentes na base (número do pedido de compra, código do fornecedor, loja, condição de pagamento, entre outros).


Exemplo:



Exemplo de erro de recepção




Neste caso acima a loja do forneceedor inserida no TXT de integração é inválida (não consta cadastrada em relação ao fornecedor informado).

Card
idMile
labelExceções de uso do Mile

Exceções de uso do Mile

Algumas rotinas do sistema que não possuem ExecAuto não estão preparadas para o uso da configuração Mile, exemplo disso é  a rotina MATA161 - Análise de Cotação.



Documentação complementar:

MILE - Model Integrator Layout Engine

FAT00295 - Configuração Mile para o Módulo Faturamento