Árvore de páginas

Versões comparadas

Chave

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

Tempo aproximado para leitura: 02 min

1. DADOS GERAIS

Linha de Produto:Microsiga Protheus
Segmento:Varejo
Módulo:Auto-Peças (SIGAPEC)
Função:

Configuração VMI (OFAGCT02)

Ticket:8107594
Requisito/Story/Issue (informe o requisito relacionado) :MMIL-5490
Pacote(s) Gerado(s):

12.1.25: https://suporte.totvs.com/portal/p/10098/download?e=922725

12.1.23: https://suporte.totvs.com/portal/p/10098/download?e=922724Liberação Pendente


02. SITUAÇÃO/REQUISITO

Existe a necessidade de criar uma solução para os clientes AGCO, onde o sistema envie dados a AGCO após geração dos mesmos no protheus.

03. SOLUÇÃO

Implantada a Melhoria do Projeto VMI AGCO. Abaixo, seguem as orientações de configuração e utilização das integrações desenvolvidas.

VMI AGCO

A TOTVS DMS trouxe junto com a AGCO uma solução para os seus clientes, o funcionamento geral do sistema consiste em envio de dados a AGCO após geração dos mesmos no protheus. Dados muito importantes são gerados através
do Painel de Orçamentos, a principal rotina do VMI AGCO, pois nela é gravado o nível de atendimento e as vendas perdidas.
O VMI AGCO corresponde a um Estoque Gerenciado pelo Fornecedor. 

Funcionamento Geral do VMI AGCO

O funcionamento do VMI AGCO consiste em:

  • Envio de Inicialização
  • Envios Diários


Quando a configuração do VMI AGCO é gravada, um arquivo para cada filial configurada é gravado na pasta system, esse arquivo delimita os dados de inicialização e diário para que não exista conflito entre as informações, os 2 programas a seguir são programas agendados que não devem ser rodados diretamente do menu.

O programa responsável pela geração dos arquivos de inicialização é o OFAGCA02, ele gera todas as interfaces para 36 meses de dados, começando pela DMS-1, seguido pela DMS-2, e assim por diante, assim que uma interface é gerada por completo, um ponto de restauração é gerado, um arquivo na pasta system, este ponto é o que garante que caso o processo caia, ele continuará da próxima interface, no entanto, caso o processo caia no meio de alguma interface o progresso irá se perder e a geração da interface será iniciada do zero.

Para saber se a mesma terminou os trabalhos de geração de init, um conteúdo igual ao exemplo abaixo é expelido no console.log:



Este processo de inicialização pode demorar um tempo, dependendo sempre da movimentação das empresas configuradas.

A geração de dados diários consiste em dois processos, um deles é a execução do programa OFAGCA01 via agendador, que verifica alterações pelas tabelas de movimentação (esse processo funciona assim para evitar alteração em fontes de terceiros), a outra forma são gatilhos dentro dos próprios programas de uso diário, exemplo, ofixa012 para alterações em orçamentos, mata120 para manutenções em pedidos, etc; todos os gatilhos são automáticos e transparentes ao usuário.

Consulta de arquivos gerados

O programa da consulta dos arquivos gerados é a OFAGCT03, nesta tela é possível filtrar os arquivos de diversas formas e até mesmo pedir o reenvio do mesmo ou a recriação de um arquivo.

Ambiente Teste / Produção

O ambiente de Produção é o ambiente padrão do VMI AGCO, para alterar para o ambiente de testes, basta adicionar no parametro MV_XMILDBG o valor TESTEAGCO e pronto, já está configurado para enviar os dados para o servidor de testes da AGCO.

Nova filial

Caso uma nova filial venha a entrar no VMI AGCO atrasado, basta na tela "OFAGCT02" selecionar a mesma e um novo arquivo de configuração é criado para ela. A partir disso poderá ser enviados os dados de inicialização além do início dos diários.


Instalação

Para criação dos campos necessários, o update UPDOFIU5 deve ser executado em modo "E" (exclusivo).

Configuração

Toda a configuração do VMI AGCO está presente no mesmo programa, o "OFAGCT02". Nele temos diversas configurações, desde usuário e senha para comunicação com a AGCO, peças que serão controladas pelo VMI AGCO, fornecedores parceiros, peças paralelas, dentre outras, todas muito importantes para um trabalho saudável do VMI AGCO.

Quando a configuração do VMI AGCO é salva/criada pela primeira vez, um arquivo delimitando os dados é criado, ele tem o nome igual ao código abaixo: 

xFilial('VS3') + "_VMI_DELIMITA_INIT.JSON"


É este arquivo que diz o intervalo entre dados passados e diários.

A única forma de recriar este arquivo é pela rotina de consulta. Abaixo imagens das telas e cada configuração das abas comentadas:


Aba Fornecedores

Filiais AGCO

Neste Grid deverão ser selecionadas as filiais que serão controladas pelo VMI AGCO.

Concessionários da Rede

Neste Grid deverão ser selecionados as concessionárias que fazem parte da rede e que fazem negócios com as filiais da sua empresa, ou seja, que são parceiros, pois os dados destas negociações não devem ser enviadas ao VMI AGCO.

Fornecedores AGCO

Neste Grid deverão ser selecionados os Fornecedores AGCO.


Aba Peças

Grupos Originais

Grupos das peças originais AGCO que serão controladas pelo VMI AGCO.

Grupos Paralelos

Grupo das peças paralelas AGCO que serão controladas pelo VMI AGCO.



Aba Pedidos

Tipos de Pedidos

Aqui devem ser cadastrados os Tipos de pedidos que vão compor os 3 tipos principais para o VMI AGCO que são: Garantia, Reposição e Máquina Parada.
O cadastro deve ser feito com filial em branco caso seja somente 1 tipo para todas as filiais.



Aba Outros


Usuário:
Usuário utilizado para comunicação com a AGCO.

Senha:
Senha utilizada para comunicação com a AGCO.

Mot. Vda. Perdida:
Motivo de cancelamento que vai sinalizar uma Venda Perdida ao VMI AGCO.

Vda. Anormal:
Situação que sinalizará uma venda fora do normal para o VMI AGCO, como queima de estoque, promoção, atacado.

Matriz:
Matriz principal da Empresa(Grupo), a AGCO deverá fornecer o CNPJ configurado. Esta seleção será a responsável pelo CNPJ enviado, que é a chave de cada comunicação com o VMI AGCO.

Fornecedor Padrão/Loja Fornec. Padrão:
Todas as peças devem ter um fornecedor padrão, o mesmo é configurado no "SB1", porém caso Não exista essa configuração, o fornecedor configurado aqui será enviado, o ideal é que esse fornecedor esteja configurado na primeira aba (Fornecedores).



• Dicionários:

Criação de Tabela no arquivo SX2 – Tabelas:

Chave

Nome

Modo

PYME

VB6

Log VMI

E

S



Criação de Campo no arquivo SX3 – Campos:

Tabela VB6 - Log VMI:

Campo

VB6_FILIAL

VB6_CODIGOVB6_DATAVB6_HORA

VB6_INTERF

Tipo

Caracter

CaracterDataNuméricoCaracter
Ordem0102030405

Tamanho

2

12846

Decimal

0

0000

Formato

@!

@!


@E 9999@!
Contexto1 - Real1 - Real1 - Real1 - Real1 - Real
Propriedade1 - Alterar1 - Alterar1 - Alterar1- Alterar1- Alterar
Grupo de Campos033



Título

Filial

Codigo DataHoraInterface

Descrição

Filial do Sistema

CodigoDataHoraInterface VMI

Opções






Inic. Padrão





Inic. Browse





Con. Padrão




Modo

E

EEEE

Val. Sistema






Nível

1

1111

Usado

Não

SimSimSimSim

Obrigatório

Não

NãoNãoNãoNão

Browse

Sim

SimSimSimSim

When






Help

Informe aqui a Filial.

Informe aqui o Codigo.

Data geracao.

Hora geracao.

Interface gerada.



Campo

VB6_ORIGEM

VB6_JSONVB6_FLGENVVB6_ERRO

VB6_CONTRO

Tipo

Caracter

MemoCaracterCaracterCaracter
Ordem0607080910

Tamanho

40

101100254

Decimal

0

0000

Formato

@!


@!@!@!
Contexto1 - Real1 - Real1 - Real1 - Real1 - Real
Propriedade1- Alterar1- Alterar1- Alterar1- Alterar1- Alterar
Grupo de Campos




Título

Origem

JSONEnviado?ErroControle

Descrição

Origem

JSONEnviado?ErroControle Interno

Opções






Inic. Padrão






Inic. Browse





Con. Padrão




Modo

E

EEEE

Val. Sistema






Nível

1

1111

Usado

Sim

SimSimSimNão

Obrigatório

Não

NãoNãoNãoNão

Browse

Sim

SimSimSimNão

When






Help

Origem da geracao.

Json gerado.

Controle de envio para AGCO.

Erro de envio.

Controle interno do VMI para debug.



Campo

VB6_ULTTEN

VB6_NUMTENVB6_NCONTRVB6_OK

VB6_RETREQ

VB6_IMPEDI

Tipo

Data

NumericoCaracterCaracterCaracterCaracter
Ordem111213141516

Tamanho

8

4122

254

1

Decimal

0

00000

Formato


@E 9999@!@!@!@!
Contexto1 - Real1 - Real1 - Real1 - Real1 - Real1 - Real
Propriedade1 - Alterar1 - Alterar1- Alterar1 - Alterar1 - Alterar1 - Alterar
Grupo de Campos





Título

Ult. Tent.

Num. Tent.Num. Cont.MarkBrwRetorno JSONImpeditivo

Descrição

Data Ultima Ten.

Numero de TentativasNumero de ControleUsado no MarkBrwRetorno JSONImpeditivo

Opções







Inic. Padrão






Inic. Browse







Con. Padrão







Modo

E

EEEEE

Val. Sistema







Nível

1

1111

Usado

Sim

SimSimSimSimSim

Obrigatório

Não

NãoNãoNãoNãoNão

Browse

Sim

Sim

SimNãoSimSim

When







Help

Data da ultima tentativa de envio.

Numero de tentativas de envio.

Numero de controle, usado para verificar
jsons que foram gerados em conjunto.

Esta ok ?

Retorno da requisicao em JSON.

Indica um erro impeditivo, ou seja,
nao e possivel enviar por algum erro
nos dados gerados.



Tabela SC7 - Pedidos de Compra:

Campo

C7_TIPPED

Tipo

Caracter
Ordem11

Tamanho

2

Decimal

0

Formato

@!
Contexto1 - Real
Propriedade1 - Alterar
Grupo de Campos

Título

Tp Pedido

Descrição

Tipo Pedido

Opções


Inic. Padrão
Inic. Browse
Con. PadrãoVEJPED

Modo

E

Val. Sistema

OJD010VLD(cA120Forn,cA120Loj) .AND. OJD010TP(n)

Nível

1

Usado

Sim

Obrigatório

Não

Browse

Sim
When

Help

Informe o tipo de pedido.




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

Índice

VB6

VB6VB6

Ordem

1

23

Chave

VB6_FILIAL+VB6_CODIGO+VB6_FLGENV

VB6_FILIAL+DTOS(VB6_DATA)+VB6_FLGENV

VB6_FILIAL+VB6_ERRO

Descrição

Codigo VB6 + Flag de envio

Data Geracao + Flag de envio

Erro

Proprietário

S

SS


 


04. DEMAIS INFORMAÇÕES

  • Esta atualização de dicionários estará disponível na próxima release (12.1.27).

05. ASSUNTOS RELACIONADOS

  • Não há.


Templatedocumentos


HTML
<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}
</style>