Árvore de páginas

Configuração Mile para o Módulo Faturamento

Produto:

Microsiga Protheus®

Versões:

12.1.25 e posteriores 

Ocorrência:

Configuração Mile para o Módulo Faturamento

Ambiente:

SIGAFAT - Faturamento

Passo a passo:

    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.

    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.


    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) )

    Atençã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 


    Atençã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.

    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


    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.

    Importante

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

    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


    Exemplo do MATA410

    Criamos um exemplo de aplicação no MATA410 (arquivos no link abaixo) com os campos padrões do Pedido de Vendas.

    Modelo de arquvi Mile mata410.zip

    Para importar :

    1) Abra o arquivo XML do link pelo Modulo Configurador

    2) Importe o arquivo TXT dentro do Pedido de Vendas

     


    Importante

    Substitua os Códigos do TXT com códigos existentes na base (código de cliente, código de produto, entre outros)


    Exemplo:

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


    Exemplo de erro de recepção

    Neste caso acima não existia cliente na base de dados com a Loja indicada no arquivo TXT (00)

    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

    Mile Importação e Exportação do Layout