Árvore de páginas

Configuração Mile para o Módulo Compras

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:

    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 MATA020

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


    Arquivos modelos:


    TXT de integração:


    Exemplo layout:

    sa2.xml


    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:


    Importante

    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.

    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:


    Exemplo layout:

    mata103.xml


    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:


    Importante

    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.

    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:


    Exemplo layout:

    MATA125.xml


    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:


    Importante

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

    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:



    Exemplo layout:


    MATA121.xml


    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:

     



    Importante

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

    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