Árvore de páginas

Novo processo de importação de abastecimento.

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Manufatura 

Módulo:

Manutenção de Ativos

Rotina:

Rotina

Nome Técnico

MNTA716
Importação de Abastecimentos
MNTA715
Layout de Importação

Rotina(s) envolvida(s)

Nome Técnico

MNTA635Consistencia dos registros de abastecimento
MNTA700Análise da Consistência

País(es):

Todos

Banco(s) de Dados:

Todos

Tabelas Utilizadas:

TR6 - Abastecimentos Importados;
TQ7 - Dados do Layout;
TQ8 - Estrutura do Layout;
TQQ - Abastecimentos Rejeitados;

TQP - Inconsistencias Abastecimentos.

Sistema(s) Operacional(is):

Todos

Descrição

A presente documentação tem por objetivo descrever o novo processo de importação de abastecimento do módulo de Manutenção de Ativos. Esse fará a centralização dos antigos métodos de importação, Importação Convênio CTF (MNTA130), Importação de Convênio Ticket (MNTA631), Importação Convênio GoodCard (MNTA986) e Importação GTFrota (MNTA131) em uma única rotina: Importação de Abastecimento (MNTA716).

Em consequência da implementação da nova rotina de importação, houve a necessidade de otimização no processo de Análise Consistência. As alterações realizadas serão discriminadas no decorrer da documentação.

Resumo

Segue abaixo um breve resumo das implementações da Importação de Abastecimento
  • Desabilitadas do menu as rotinas de:
    • MNTA130 - CTF;
    • MNTA631 - Ticket;
    • MNTA986 - GoodCard;
    • MNTA131 - GTFrota.
  • Criada rotina de cadastro de layouts, contendo como padrão os esquemas dos convênios mencionados acima. 
  • Criado processo centralizado de importação de abastecimento.
  • Realizada otimizações no processo de análise consistência.
  • Rotinas Alteradas:
    • MNTA635 – Consistência;
    • MNTA660 – Reprocessamento dos registros rejeitados;
    • MNTA700 – Análise Consistência;
    • mntutil       – Funções Genéricas;
    • mntutil_contador – Funções Genéricas de Contador.
  • Rotinas Novas:
    • MNTA715 – Layout de Importação;
    • MNTA716 – Importação de Abastecimentos.

Importante

Antes de executar o compatibilizador UPDMNTD1 é imprescindível:

  • Realizar o backup da base de dados do produto que será executado o compatibilizador (diretório \PROTHEUS11_DATA\DATA) e dos dicionários de dados SXs (diretório \PROTHEUS11_DATA\SYSTEM).
  • Os diretórios acima mencionados correspondem à instalação padrão do Protheus, portanto, devem ser alterados conforme o produto instalado na empresa.
  • Essa rotina deve ser executada em modo exclusivo, ou seja, nenhum usuário deve estar utilizando o sistema.
  • Se os dicionários de dados possuírem índices personalizados (criados pelo usuário), antes de executar o compatibilizador, certifique-se de que estão identificados pelo nickname. Caso o compatibilizador necessite criar índices, irá adicioná-los a partir da ordem original instalada pelo Protheus, o que poderá sobrescrever índices personalizados, caso não estejam identificados pelo nickname.
  • O compatibilizador deve ser executado com a Integridade Referencial desativada*.

 

Atenção

O procedimento a seguir deve ser realizado por um profissional qualificado como Administrador de Banco de Dados (DBA) ou equivalente!

A ativação indevida da Integridade Referencial pode alterar   drasticamente o relacionamento entre tabelas no banco de dados. Portanto,   antes de utilizá-la, observe atentamente os procedimentos a seguir:

  1. No Configurador (SIGACFG), veja se a empresa utiliza Integridade Referencial, selecionando a opção Integridade/Verificação(APCFG60A).
  2. Se não há Integridade Referencial ativa, são relacionadas em uma nova janela todas as empresas e filiais cadastradas para o sistema e nenhuma delas estará selecionada. Neste caso, E SOMENTE NESTE, não é necessário qualquer outro procedimento de ativação ou desativação de integridade, basta finalizar a verificação e aplicar normalmente o compatibilizador, conforme instruções.
  3.  Se há Integridade Referencial ativa em todas as empresas e filiais, é exibida uma mensagem na janela Verificação de relacionamento entre tabelas. Confirme a mensagem para que a verificação seja concluída, ou;
  4.  Se há Integridade Referencial ativa em uma ou mais empresas, que não na sua totalidade, são relacionadas em uma nova janela todas as empresas e filiais cadastradas para o sistema e, somente, a(s) que possui(em) integridade está(arão) selecionada(s). Anote qual(is) empresa(s) e/ou filial(is) possui(em) a integridade ativada e reserve esta anotação para posterior consulta na reativação (ou ainda, contate nosso Help Desk Framework para informações quanto a um arquivo que contém essa informação).
  5. Nestes casos descritos nos itens “iii” ou “iv”, E SOMENTE NESTES CASOS, é necessário desativar tal integridade, selecionando a opção Integridade/ Desativar (APCFG60D).
  6. Quando desativada a Integridade Referencial, execute o compatibilizador, conforme instruções.
  7. Aplicado o compatibilizador, a Integridade Referencial deve ser reativada, SE E SOMENTE SE tiver sido desativada, através da opção Integridade/Ativar (APCFG60). Para isso, tenha em mãos as informações da(s) empresa(s) e/ou filial(is) que possuía(m) ativação da integridade, selecione-a(s) novamente e confirme a ativação.

 

Contate o Help Desk Framework EM CASO DE DÚVIDAS!

 

  1. Em Microsiga Protheus TOTVS Smart Client, digite U_UPDMNTD1 no campo Programa Inicial.
  2. Clique em OK para continuar.
  3. Após a confirmação é exibida uma tela para a seleção da empresa em que o dicionário de dados será modificado.
  4. Ao confirmar é exibida uma mensagem de advertência sobre o backup e a necessidade de sua execução em modo exclusivo.
    1. Clique em Processar para iniciar o processamento. O primeiro passo da execução é a preparação dos arquivos. 
      É apresentada uma mensagem explicativa na tela.
    2. Em seguida, é exibida a janela Atualização concluída com o histórico (log) de todas as atualizações processadas. Nesse log de atualização são apresentados somente os campos atualizados pelo programa. O compatibilizador cria os campos que ainda não existem no dicionário de dados.
    3. Clique em Gravar para salvar o histórico (log) apresentado.
    4. Clique em OK para encerrar o processamento.

Procedimento para Implantação

O sistema é atualizado logo após a aplicação do pacote de atualizações (Patch) deste ticket.

  1. Aplique o patch do ticket e execute/acesse qualquer rotina através da entrada do módulo de Manutenção de Ativos para acionar a função de entrada de sistema para criar os layouts padrões de importação, bem como os novos nomes de campo e atualização de erros da SX5..

Atualizações do Compatibilizador

  1.    Criação de tabela no arquivo SX2– Tabelas:

Chave

Nome

Modo

PYME

TQ7

Dados do Layout

Compartilhado

N

TQ8

Estrutura do Layout

Compartilhado

N


2. Criação de Campos no arquivo SX3 – Campos:

  • Tabela TQ7 - Dados do Layout:

Campo

TQ7_FILIAL

TQ7_CODLAY

TQ7_DESLAY

TQ7_TABELA

TQ7_DESTAB

TQ7_TIPARQ

TQ7_SEPARD

TQ7_FORDTA

TQ7_SEPDEC

TQ7_INDCAB

TQ7_INDROD

TQ7_MSBLQL

Tipo

Carácter

Carácter

Carácter

Carácter

Carácter

Carácter

Carácter

Carácter

Carácter

Carácter

Carácter

Carácter

Tamanho

8

6

150

3

150

1

1

1

1

1

1

1

Decimal

0

0

0

0

0

0

0

0

0

0

0

0

Formato

 

 

@!

@!

@!

@!

@!

@!

@!

@!

@!

@!

Título

Filial

Cód. Layout

Desc. Layout

Cód. Tabela

Desc. Tabela

Arquivo TXT

Separador

Formato Data

Sep. Decimal

Cabeçalho

Ind. Rodapé

Bloqueado?

Descrição

Filial

Código do Layout

Descrição do Layout

Tabela principal

Descrição da Tabela

Tipo de Arquivo TXT

Tipo Separador

Formato Data

Separador Decimal

Indica cabeçalho

Indica Rodapé

Registro bloqueado

Nível

1

1

1

1

1

1

1

1

1

1

1

1

Usado

Não

Sim

Sim

Sim

Sim

Sim

Sim

Sim

Sim

Sim

Sim

Sim

Obrigatório

Não

Sim

Sim

Sim

Sim

Sim

Não

Sim

Sim

Sim

Sim

Não

Browse

Sim

Sim

Sim

Não

Não

Não

Não

Não

Não

Não

Não

Não

Opções

 

 

 

 

 

1=Fixo; 2=Separador

1=Pipe; 2=Ponto-e-Virgula; 3=Traco; 4=Tab

1=dd/mm/aaaa; 2=ddmmaaaa; 3=aaaa/mm/dd; 4=aaaammdd

1=Ponto; 2=Vírgula

1=Sim; 2=Não

1=Sim; 2=Não

1=Sim; 2=Não

When

 

 

 

 

 

 

lSeparador

 

 

 

 

 

Relação

 

GETSXENUM
("TQ7","TQ7_CODLAY")

 

 

 

 

 

 

 

 

 

 

Val. Sistema

 

 

 

 

 

 

 

 

 

 

 

 

Help

Filial

Código do Layout

Descrição do Layout

Código da Tabela Principal com os campos a serem utilizados na importação do abastecimento.

Descrição da Tabela Principal.

Tipo de Arquivo TXT.

1-Fixo: A posição dos registros é definida pelo tamanho.

2-Separador: A posição é definida por um separador específico.

Tipo do separador específico que delimitará a posição inicial/final de cada registros do arquivo TXT.

1=Pipe; 2=Ponto-e-Vírgula; 3=Traço; 4=Tab

Formato da data dos registros importados.

1=dd/mm/aaaa; 2=ddmmaaaa; 3=aaaa/mm/dd; 4=aaaammdd

Tipo de separador dos números decimais.

1=Ponto: os valores decimais são separados por ponto.

2=Vírgula: os valores decimais são separados por vírgula.

Indica se o Layout possui cabeçalho, se tiver, o mesmo é ignorado na importação.

1=Sim; 2=Não

Indica se o Layout possui rodapé (totalizador) ao final do arquivo, se tiver, o mesmo é ignorado na importação.

1=Sim; 2=Não

Indica bloqueio do registro para uso, sendo:

1: Sim, registro bloqueado; 2: Não, registro não bloqueado.

 

  • Tabela TQ8 - Estrutura do Layout:

Campo

TQ8_FILIAL

TQ8_CODLAY

TQ8_SEQUEN

TQ8_CPOTAB

TQ8_TIPO

TQ8_POSINI

TQ8_TAMARQ

TQ8_POSFIM

TQ8_CONTEU

TQ8_FUNCAO

Tipo

Carácter

Carácter

Numérico

Carácter

Carácter

Numérico

Numérico

Numérico

Carácter

Carácter

Tamanho

8

6

3

10

1

4

3

3

20

80

Decimal

0

0

0

0

0

0

0

0

0

0

Formato

 

 

999

 

 

9999

999

999

 

 

Título

Filial

Cód. Layout 

Seq. Campo

Campo

Tipo

Início

Tamanho

Fim

 Conteúdo

Função

Descrição

Filial

Código do Layout

Sequência do Campo

Campos do layout

Tipo do Campo

Posição Inicial na linha

Tamanho do campo

Posição Final da Linha

Conteúdo do registro

Função de processamento

Nível

1

1

1

1

1

1

1

1

1

1

Usado

Não

Sim

Sim

Sim

Sim

Sim

Sim

Sim

Sim

Sim

Obrigatório

Não

Sim

Sim

Sim

Sim

Sim

Sim

Sim

Não

Não

Browse

Sim

Sim

Não

Sim

Não

Sim

Não

Sim

Não

Não

Opções

 

 

 

 

 

 

 

 

 

 

When

 

 

 

 

 

 

 

 

 

 

Relação

 

 

 

 

 

 

 

 

 

 

Val. Sistema

 

 

 

 

 

 

 

 

 

 

Help

Filial

Código do Layout

Sequência do campo na importação do layout

Campos da tabela principal que fazem parte da configuração do layout

Tipo de campo.

1=Caracter; 2=Numérico; 3=Data

Posição Inicial do registro na linha do arquivo TXT que está sendo lido.

Tamanho do campo no arquivo TXT.

Posição final do registro na linha do arquivo TXT que está sendo lido.

Conteúdo de exemplo do registro a ser importado.

Função para validação do registro a ser lido.


Importante:

O tamanho dos campos que possuem grupo pode variar conforme ambiente em uso.

3.  Criação de Consulta Padrão no arquivo SXB – Consulta Padrão:
  • Pesquisa TQ7 - Layout Abastecimento:

Alias

TQ7  

TQ7  

TQ7  

TQ7  

TQ7  

Tipo

1

2

4

4

5

Sequência

01

01

01

01

01

Coluna

DB

01

01

02

 

Descrição

Layout Abastecimento

Código do Layout

Cód. Layout

Desc. Campo

 

Contém

TQ7

 

TQ7_CODLAY

TQ7_DESLAY

TQ7->TQ7_CODLAY

 

4.  Criação de Índices no arquivo SIX – Índices:

  • Tabela TQ7 - Dados do Layout

Índice

TQ7

Ordem

1

Chave

TQ7_FILIAL + TQ7_CODLAY

Descrição

Código do Layout

Proprietário

S

 

  • Tabela TQ8 - Estrutura do Layout

Índice

TQ8

Ordem

1

Chave

TQ8_FILIAL + TQ8_CODLAY + STR(TQ8_SEQUEN)

Descrição

Código do Layout + Sequência de Campo

Proprietário

S

Procedimento para Utilização

    1. Acesse a rotina de Layout de Importação em Atualizações / Controle de Abastecimento / Abastecimento / Layout de Importação (MNTA715). 

    * Esse processo não é obrigatório, visto que a base já possui os layouts padrões cadastrados. Porém é possível efetuar alterações nos layouts padrões quando necessário e realizar a inclusão de novos layouts 

    O programa apresenta os layouts de importação cadastrados.

    2. Na inclusão de um layout, faz-se necessário o preenchimento dos campos obrigatórios que definem as características de como serão importados os registros de abastecimento. Abaixo está descrito como preenche-los:

                   a. Cód. Layout (TQ7_CODLAY) – Gerado automaticamente de maneira sequencial;

                   b. Desc. Layout (TQ7_DESLAY) – Deve ser informada uma descrição para o layout;

                   c. Cód. Tabela (TQ7_TABELA) – Exibe o código referente a tabela de abastecimentos importados (TR6);

                   d. Desc. Tabela (TQ7_DESTAB) – Exibe a descrição da tabela TR6.

                   e. Arquivo TXT (TQ7_TIPARQ) – Deve ser informado qual o tipo de arquivo que estará sendo importado. Sendo que o mesmo pode ser “1 = Fixo” ou “2 = Separador”:

                                  * 1 = Fixo: As posições dos campos são definidas por um tamanho fixo;

                                  * 2 = Separador: As posições dos campos são definidas por um caractere de separação definido através do campo Separador (TQ7_SEPARD).

                   f. Separador (TQ7_SEPARD) – Deve ser informado qual o tipo de separador utilizado para definir o término e início dos campos do layout. Esse campo apenas será habilitado quando o campo Arquivo TXT (TQ7_TIPARQ)  estiver com o conteúdo “2 = Separador”. Os tipos disponíveis são:

                                   * Pipe ( | );

                                   * Ponto e vírgula ( ; );

                                   * Traço ( - );

                                   * Tab.

                   g. Formato Data (TQ7_FORDTA) – Deve ser informado o tipo do formato dos campos data utilizados no layout de importação. Os tipos disponíveis são:

                                   * 1 = dd/mm/aaaa;

                                   * 2 = ddmmaaaa;

                                   * 3 = aaaa/mm/dd;

                                   * 4 = aaaammdd.

                   h. Sep. Decimal (TQ7_SEPDEC) – Deve ser informado o tipo de separador utilizado nos campos que possuam casas decimais. Os tipos disponíveis são:

                                   * 1 = Ponto (.);

                                   * 2 = Vírgula (,).

                   i. Cabeçalho (TQ7_INDCAB) – Deve ser informado se o layout possui cabeçalho. Caso possua a primeira linha do arquivo TXT será ignorada na impressão.

                                   * 1 = Sim;

                                   * 2 = Não.

                   j. Ind. Rodapé (TQ7_INDROD) – Deve ser informado se o layout possui rodapé. Caso possua a última linha do arquivo TXT será ignorada na impressão.

                                   * 1 = Sim;

                                   * 2 = Não.

                   kBloqueado? (TQ7_MSBLQL) – Indica bloqueio do registro para uso.

                                   * 1 = Sim;

                                   * 2 = Não.

    O grid da esquerda apresenta todos os campos reais da tabela de Abastecimentos Importados (TR6).

    * Ao abrir um registro em alteração ou visualização só serão apresentados os campos que não foram adicionados a configuração do layout.

    A grid da direita indica os campos a serem lidos na importação.

    As colunas da tabela são.

                   * Campo: Nome do Campo adicionado;

                   * Tipo: Tipo do campo a ser lido. Sendo, 1-Caracter, 2-Numérico e 3-Data;

                   * Início: Indica em qual posição inicia o campo. Caso o layout possua separador esse campo será preenchido com um traço “-“ visto que a mudança de campo é definida pelo separador;

                   * Tamanho: Indica a quantidade máxima de caracteres que o campo suporta. Essa capacidade é definida conforme o tamanho do campo em base máximo da coluna da tabela. Essa capacidade pode ser alterada para um tamanho menor, exceto para campos datas, que seu tamanho é definido conforme o formato da data (TQ7_FORDTA);

                   * Fim: Indica em qual posição em que se encerra o campo. Caso o layout possua separador esse campo será preenchido com um traço “-“ visto que a mudança de campo é definida pelo separador;

                   * Conteúdo: Exibe um exemplo de como o campo deve ser preenchido;

                   * Função: Permite a inclusão de uma função de usuário que será executada após a leitura do campo para que possam serem realizadas validações especificas. Para saber como configurar essas funções deve ser verificado a FAQ MNT0026 

    Entre as grids, existem os botões de controle de campos:

    Botão "Adicionar o campo selecionado para o layout" Insere o campo selecionado para o layout – Adiciona o campo selecionado da tabela TR6 – Abastecimentos Importados para compor a estrutura do Layout. O registro é retirado da lista de campos disponíveis;

    Botão "Retirar do layout o campo selecionado"Remove o campo selecionado na estrutura do Layout, e devolve para lista de campos disponíveis. Se o campo selecionado para a remoção for um campo que não existe na tabela principal (TR6) ele ficará temporariamente na lista de campos disponíveis para auxiliar na configuração. Ao sair do programa o mesmo é apagado;

    Botão "Sobe o campo" – Movimenta verticalmente o campo selecionado na estrutura do layout para acima;

    Botão "Desce o campo" – Movimenta verticalmente o campo selecionado na estrutura para baixo;

    Botão "Adicionar campo que não existe na tabela principal" – A utilização dessa funcionalidade tem dois objetivos, primeiro manter a compatibilidade do sistema com os layouts antigos. Dessa forma, os campos que não são lidos pelo Protheus na importação ou não são salvos diretamente na tabela, podem ser mantidos no layout, para os campos que não são salvos diretamente, podem ser tratados por meio de uma função de usuário informada no campo função. O outro objetivo é fazer com que os campos do layout que possuam um tamanho maior que o do campo da tabela, possam ser utilizados com o tamanho correto. Para melhor entendimento do funcionamento dessa validação deve ser lido a FAQ MNT0026

    Exemplo de importação: Esta seção traz o campo de pré-visualização referente a formatação do arquivo que está sendo criado.

    3. Acesse a rotina de Importação de Abastecimentos em Atualizações / Controle de Abastecimento / Abastecimento / Importação de Abastecimento (MNTA716).

    Será apresentada a tela de instruções para a importação, após ler as instruções deve-se clicar em Avançar. A próxima tela apresentará um campo para informar o código do layout a ser importado, através da consulta padrão do campo podem ser visualizados os layouts cadastrados, após a seleção do layout deve-se clicar em Avançar, onde será apresentado uma tela de seleção de arquivo. Ao confirmar o arquivo será feito o processo de importação. Caso ocorra algum erro no processamento, nenhum registro será importado e será apresentado um relatório de erro. Do contrário será apresentado uma mensagem indicado o sucesso da importação.

    4. Acesse a rotina de consistência de abastecimentos em Atualizações / Controle de Abastecimento / Abastecimento / Consistencia Abastecimento (MNTA635)

    5. Realizar a consistência dos abastecimentos importados.

    6. Acesse a rotina de análise da consistência em Atualizações / Controle de Abastecimento / Abastecimento / Analise Consistencia (MNTA700).

    7. Verificar que a rotina possui sua tela maximizada, permitindo assim um maior aproveitamento dos espaços do programa.

    8. Na ocorrência de importação de abastecimentos que não possuam os campos data do abastecimento (TR6_DTABAS) e/ou hora do abastecimento (TR6_HRABAS) preenchidos, a rotina de consistência exibirá os novos erros a seguir:

    	* 51 - Não foi informada data para o abastecimento.
    	* 52 - Não foi informada hora para o abastecimento.
    	* 53 - Data/Hora de abastecimento maior que a data atual.

    9. Dessa forma, será permitido alterar a data e/ou hora do abastecimento. Após a alteração do campo não será mais permitido modificar as respectivas informações.

    10. Caso na importação o tipo de convênio do posto (TQM_CONVEN) seja diferente do tipo de convênio do combustível (TQF_CONVEN) irá gerar o novo erro:

    	* 54 - Convênio do comb. incompatível com o convênio do posto.
     
    11. Também foram criados novos erros para caso não seja informado combustível ou o mesmo não exista:
    	* 55 - Combustível não informado.
    	* 56 - Combustível não cadastrado.

    12. O campo de combustível foi alterado para respeitar o parâmetro que indica se na importação de arquivos relacionados a abastecimento, considera: 1 - Cód. Convênio ou 2 - Cód. Combustível(MV_NGIMPOR).