Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Especificação | |||
Produto | Microsiga Protheus | Módulo: SIGALOJA |
|
Segmento Executor |
| ||
Projeto1 | M_VAR001 | IRM1 |
|
Requisito1 | 002206/Integração DRP/Neogrid | Subtarefa1 |
|
Chamado2 |
| ||
Release de Entrega Planejada |
| Réplica |
|
País | ( X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro: All |
Rotinas |
|
|
Rotina | Tipo de Operação | Opção de Menu |
LOJA7030 – Job de Envio dos XML's | Job | Não se aplica |
LOJA7030A – Função de Geração do XML | Job | Não se aplica |
LOJA7031 – Cadastro de Eventos | Criação | Atualizações -> Cadastros -> Eventos |
LOJA7031A – Exibir e Inicializar a Descrição dos Eventos | Função | Não se aplica |
LOJA7031B – Inicializar a Descrição dos Eventos | Função | Não se aplica |
LOJA7032 – Cadastro de Tipos de Evento | Criação | Atualizações -> Cadastros -> Tipos de Evento |
LOJA7033 – Job de Retorno dos XML's | Job | Não se aplica |
Objetivo
Disponibilizar rotinas que permitam efetuar a integração do Back Office Protheus com a NeoGrid (produto DRP – Distribution Resource Planning) através do envio de informações de vendas e de posição de estoque que serão processadas e analisadas pelo DRP com o objetivo de sugerir recomendações de solicitações, pedidos de compra ou transferência de estoque entre filiais.
A principal vantagem da integração é permitir o balanceamento de estoques dos produtos do varejista na cadeia como um todo considerando o histórico de consumo. Como consequência disso, possibilita outras vantagens na gestão de estoques (descritas no fluxo abaixo) e resulta no aumento da rentabilidade e do market share.
Definição da Regra de Negócio
Para melhor visualização da integração abaixo segue o fluxo com a troca de informações e os Jobs envolvidos.
O cadastro de eventos serve para administrar situações internas ou externas que possam impactar na demanda e com isso alterar o planejamento de previsão de reposição de estoques nas lojas.
Filtros do Cadastro de Evento.
Regras de aplicação do evento. Indica a quais SKUs o evento será aplicado, temos que incluir pelo menos 1 (um) filtro, dentre as três abas (Produto, Fornecedor, Armazém).
Na aba Produto o evento pode ser filtrado pelo código do produto, grupo de produto, ou categoria de produto onde cada opção equivale um registro.
Na aba Fornecedor o evento pode ser filtrado pelo código do fornecedor.
Na aba Armazém o evento pode ser filtrado pelo código do armazém.
Exemplos de eventos:
O cadastro de Tipo de Eventos tem como objetivo, incluir os tipos de eventos, que farão parte do cadastro de eventos para poder identificar melhor o evento em questão.
Exemplos de tipo de eventos:
O envio dos dados é feito via FTP através de um Job (Client NeoGrid), que monitora uma determinada pasta definida por parâmetro no Protheus (MV_LJNEOUT).
As informações a serem enviadas a partir do Protheus ao DRP são:
O objetivo deste envio é fornecer ao DRP Neogrid todas as informações necessárias para que sejam analisadas e assim definir as necessidades de compras buscando o balanceamento dos estoques.
As movimentações de SKU (Stock Keeping Unit, ou Unidade de Armazenamento de Estoque) e movimentações de DFU (Demand Forecast Unit, ou Unidade de Previsão de Demanda) contemplam todas as vendas emitidas tanto na Venda Assistida (SIGALOJA) na retaguarda quanto aos PDVs, originados no FrontLoja (SIGAFRT) ou no TOTVS PDV (SIGAFRT), interpretando dados da tabela de Itens de Notas Fiscais de Venda (SD2).
Devoluções nos Itens de Notas Fiscais de Entrada (SD1), gerados na rotina de Troca e Devolução do SIGALOJA (LOJA720), e Transferência de estoque entre filiais (SD3), também contemplam as movimentações de SKU.
O envio e o retorno das informações é realizado através de 3 processos principais:
Gerar arquivos para envio
Os arquivos com layout pré-definidos (ver detalhamento mais abaixo) são gerados através do Job LOJA7030, gravados em uma pasta determinada através do parâmetro MV_LJNEOUT e serão enviados ao DRP através do Client NeoGrid (StartClient.exe).
Job Client NeoGrid (StartClient)
O client deve ser adquirido junto a NeoGrid e instalado na Raiz do Protheus (RootPath). O parâmetro MV_LJNEOIN (pasta que receberá os arquivos para download, pedido de compra, solicitação de compra) deve conter o caminho especificado na configuração de recebimento do Client. Ex: "\Client Neogrid\WebEDIMercadorClient_V3.6.1\IN\" ou "\ClientMercador\Bin\IN\".
O parâmetro MV_LJNEOUT (pasta que receberá os arquivos para upload, informações geradas pelo Protheus) deve conter o caminho especificado na configuração de envio do Client. Ex: "\Client Neogrid\WebEDIMercadorClient_V3.6.1\OUT\" ou "\ClientMercador\Bin\OUT\".
Ao entrar em contato com a Neogrid, peça o arquivo Client DRP. Aguarde o retorno até receber o arquivo compactado de instalação. Descompacte esse arquivo e mova para dentro do RootPath.
Exemplos da estrutura de pastas após a instalação:
Importação para o Protheus
Caso algum item do XML não seja processado por motivo de falta de estoque, produto inexistente, etc., o XML é recriado somente com os itens não processados e copia imediatamente na pasta IN. O arquivo é apresentado com NOMENCLATURA ret no final do arquivo, sendo necessário verificar o console ou o arquivo de logs. Assim, será processado novamente na próxima leitura.
Importante
Verifique a gravação de Logs do Pedido de Compra, Solicitação de Compras e Transferência entre filiais na pasta autocom\logs (ambiente).
Para ativação do arquivo de logs, basta digitar no appserver.ini as seguintes instruções:
enable = 1
Importante
Para que os XML´s possam ser gravados no envio e retorno, tanto pelo Protheus como pela Neogrid, é estritamente necessário alterarmos as permissões da pasta \WebEDIMercadorClient_V3.6.1 para permissão de leitura e gravação.
Modo de Compartilhamento de Tabelas
Para o correto funcionamento da Integração Protheus x DRP Neogrid, é necessário atentar-se ao modo de compartilhamento das seguintes tabelas:
Quando não há gestão de grupos de empresas configurada, as tabelas Produtos (SB1) e Fornecedores (SA2) deverão estar em modo de acesso compartilhado.
Ou quando há gestão de grupos de empresas:
Haverá transferência de estoque entre empresas?
Caso seja necessário efetuar transferência de estoque entre empresas, é necessário que o modo de compartilhamento de tabelas seja configurado conforme exemplo abaixo:
Entidade | Empresa | Unidade | Filial | Tabela Protheus |
---|---|---|---|---|
Produtos | Compartilhado | Compartilhado | Compartilhado | SB1 |
Fornecedores | Compartilhado | Compartilhado | Compartilhado | SA2 |
Categoria x Grupo de Produtos | Compartilhado | Compartilhado | Compartilhado | ACV |
Categorias | Compartilhado | Compartilhado | Compartilhado | ACU |
Haverá transferência de estoque entre unidades de negócio?
Caso seja necessário efetuar transferência de estoque entre unidades de negócio, é necessário que o modo de compartilhamento de tabelas seja configurado conforme exemplo abaixo:
Entidade | Empresa | Unidade | Filial | Tabela Protheus |
---|---|---|---|---|
Produtos | Exclusivo | Compartilhado | Compartilhado | SB1 |
Fornecedores | Exclusivo ou Compartilhado | Compartilhado | Compartilhado | SA2 |
Categoria x Grupo de Produtos | Exclusivo ou Compartilhado | Compartilhado | Compartilhado | ACV |
Categorias | Exclusivo ou Compartilhado | Compartilhado | Compartilhado | ACU |
Haverá transferência de estoque entre filiais?
Caso seja necessário efetuar transferência de estoque entre filiais, é necessário que o modo de compartilhamento de tabelas seja configurado conforme exemplo abaixo:
Entidade | Empresa | Unidade | Filial | Tabela Protheus |
---|---|---|---|---|
Produtos | Exclusivo | Exclusivo | Compartilhado | SB1 |
Fornecedores | Exclusivo ou Compartilhado | Exclusivo ou Compartilhado | Compartilhado | SA2 |
Categoria x Grupo de Produtos | Exclusivo ou Compartilhado | Exclusivo ou Compartilhado | Compartilhado | ACV |
Categorias | Exclusivo ou Compartilhado | Exclusivo ou Compartilhado | Compartilhado | ACU |
É obrigatório, no mínimo, transferência de estoque entre filiais, obrigando a configuração no item acima.
Além da tabela Produtos (SB1) estar compartilhada, as tabelas Produtos (SB1) e Dados Adicionais do Produto (SB5) devem possuir o mesmo compartilhamento, evitando inconsistências devido a compartilhamentos incorretos.
É importante que para o funcionamento completo da integração Protheus x DRP Neogrid, todos os produtos deverão estar disponíveis em todos os locais de estoque acessíveis. E para cada produto, deverá estar representado por um fornecedor, que também deverá estar acessível para todos os locais de estoque.
Local de estoque, para o DRP, representa a localização da filial mais o número do armazém daquela filial. No Protheus, cada filial poderá ter um ou mais armazéns. Este local de estoque poderá ser uma loja ou um centro de distribuição.
Importante
Caso a configuração não respeite estas regras, será exibido uma mensagem ao entrar no Job de Envio (LOJA7030) que existe incompatibilidade de acesso entre tabelas.
Importante
Caso queira refazer os testes, é necessário abrir o APSDU e editar as tabelas, deixando em branco os campos abaixo:
MFP: MFP_DRPEXP
NNR: NNR_DRPEXP
SA2: A2_DRPEXP
SB2: B2_DRSALDO
SB5: B5_DRPEXP
SC7: C7_DRPEXP
SD1: D1_DRPEXP
SD2: D2_DRPEXP
SD3: D3_DRPEXP
Pré-requisitos:
Observe a tela que apresenta o exemplo da estrutura de pastas após a instalação:
Cadastros de Tipos de Eventos:
Cadastro de Eventos:
4. Configure os Filtros do Evento:
Filtros do Evento: Para cadastrar os filtros, existem 3 pastas, mas para efetuar o filtro, é necessário que seja cadastrado no mínimo um (1) filtro em uma das pastas.
Produto
Observação: Você pode unir produto com grupo e/ou categoria separando em mais de um registro.
Fornecedor
Armazém
5. Confira os dados e clique em Confirmar.
Pré - Requisitos – Cadastro de arquivos para DRP:
Cadastros:
Importante
Se a tabela SA2 (Fornecedores) for compartilhada, obrigatoriamente devem ser preenchidos os campos Fornecedor Padrão (B1_PROC) e Loja Padrão (B1_LOJPROC).
3. Se a tabela SA2 (Fornecedores) for exclusiva, acesse Atualizações / Gerencia Estoque / Produto x Fornecedor (MATA060).
4. Relacione cada filial, cada fornecedor e cada produto, lembrando que o cadastro não permite mais de um fornecedor para o mesmo produto e filial.
Exemplo:
Pré-requisitos - Cadastro de Transferência entre Filiais para o DRP
Importante
É necessário ter duas filiais, uma origem (exemplo: D MG 01) e uma destino (exemplo: D MG 02).
Configure o parâmetro: MV_FILTRF := .T.
1. No Controle de Lojas (SIGALOJA) acesse Atualizações/ Cadastros/ Produtos (LOJA110).
Configure os campos:
Grupo;
Fornecedor Padrão;
Loja Padrão;
2. Preencha os campos da pasta Mrp/Suprimentos:
Ponto Pedido;
Segurança;
Lote Econômico;
Lote Mínimo (deve ser menor que Lote Econômico);
Estoque Máximo (deve ser maior que Ponto Pedido).
3. Acesse Atualizações / Cadastros / Locais de Estoque (AGRA045):
4. Crie um segundo armazém para a filial de origem.
5. Acesse Atualizações / Cadastros/ Saldos, Atual (MATA225)
6 Cadastre os produtos com seus novos armazéns e confirme.
Importante
Para os próximos passos é necessário obter CNPJs diferentes para filial 01 e filial 02.
10. No Controle de Lojas ( SIGALOJA) acesse Atualizações / Cadastros / Clientes (MATA030).
11. Crie um código para a filial de destino, e na descrição, especificar a filial.
12. Na pasta Outros, digite a filial de destino no campo Fil. Transf.
13. Crie um código para a filial de origem, e na descrição, especificar a filial.
14. Na pasta Outros, digite a filial de origem no campo Fil. Transf.
Importante
15. Acesse Cadastros / Gerência Estoque / Fornecedores (MATA020).
16. Crie um código para a filial de origem, e na descrição, especificar a filial.
17. Na pasta Outros, digite a filial de origem no campo Fil. Transf.
18. Crie um código para a filial de destino, e na descrição, especificar a filial.
19. Na pasta Outros, digite a filial de destino no campo Fil. Transf.
Importante
20. Acesse Gerência de Vendas, Tipos de Entrada e Saída (MATA080) .
21. Cadastre primeiro o tipo para Saída:
22. Cadastre o tipo para Entrada.
Caso o cadastro seja COMPARTILHADO, será necessário efetuar apenas um cadastro de entrada e outro de saída.
Caso o cadastro seja EXCLUSIVO, tem que fazer um cadastro de entrada e outro de saída para cada filial.
23. No Estoque (SIGAEST) filial de origem, acesse Atualizações /Movimentações /Fiscais, Transferência entre Filiais (MATA310).
24. Preencha os parâmetros abaixo:
25. Marque todas as categorias.
26. Observe a tela de Transferência entre Filiais:
No lado esquerdo, temos a origem.
No lado direito, temos o destino.
27. No lado esquerdo, selecione a filial de origem e o produto que deseja transferir.
28 No lado direito, selecione a filial de destino e o produto que deve receber a transferência.
29. Clique em Ações Relacionadas, e clique em Relação.
30. Digite a quantidade a ser transferida, e confirme.
Observe que a quantidade disponível foi alterada na origem e no destino.
31. Clique em confirmar.
32. Selecione a série desejada e confirme.
Aguarde a transferência.
Observe que a transferência foi gerada na SD2 (saída) e na SD1 (entrada).
33. No Estoque (SIGAEST) filial de origem, acesse Atualizações / Movimentações / Transferência Múltipla (MATA261).
34. Clique em Incluir.
35. Digite o produto de origem, e o armazém de origem.
Na mesma linha, digite o produto de destino e o armazém de destino.
36. Na mesma linha, digite a quantidade, e confirme.
Observe que a transferência entre Armazéns foi gerada na tabela SD3, criando dois registros: um de saída de armazém e outro de entrada de armazém, identificados como D3_LOCAL.
Pré - requisitos - Envio de movimentações para DRP: Venda
Pedido de Compra:
Importante
Configuração do Envio - Agendamento:
Importante
A configuração do Job deve ter recorrência diária (executando uma por dia, dê preferência após o expediente).
Todos os lançamentos devem ser lidos e exportados para o DRP, sem exceções.
Caso esqueça de alguma movimentação em uma data anterior, é possível passar a data retroativa dos movimentos não transferidos ao primeiro parâmetro, no formato:
AAAAMMDD, em um novo Job, que deve ser executado somente uma vez.
Exemplo: LOJA7030({"20151201",0,<empresa>,<filial>}).
Configuração do Recebimento - Agendamento:
Após a exportação para o DRP, é necessário aguardar o processamento no DRP para depois receber o retorno.
Envio de informações para DRP :
Observe o envio das informações no client da Neogrid, nas seguintes pastas:
Importante
Cancelamento da Nota Fiscal:
Após o envio dos itens para DRP, não será possível cancelar uma nota fiscal, em SIGAFAT/Atualizações/Faturamento/Exclusão Doc. Saída (MATA521).
Para isso, basta emitir uma nota de entrada, do tipo Devolução. Desta forma, os itens de devolução são enviados para DRP.
Retorno de informações para DRP:
Verifique no Client da Neogrid, as seguintes informações:
Para consultar as solicitações de Compras:
Para consular as solicitações de Pedido de Compra: .
Importante
Independente da seleção para solicitação ou pedido de compra, poderá apresentar no mesmo arquivo XML informações sobre transferências, tanto entre filiais como entre armazéns.
Para consultar Transferências entre filiais:
Transferência de Estoque entre Filiais: quando for efetuada uma análise sobre sugestões de compras no próprio DRP, são geradas transferências entre movimentações de estoque de uma filial para outra.
Tabelas Utilizadas
1 Upload - Itens
Nome do Arquivo | X_*_itens.txt |
Frequência | Enviar diariamente apenas os itens Alterados / Incluídos |
Campos | Tipo de Dado | Campo Protheus |
|
| Detalhes |
Código do Item | Varchar (50) | B1_COD | C – 15(30) |
| Código do Item |
Código Auxiliar do Item | Varchar (50) | B1_CODBAR | C– 15(30) |
| Código adicional para o item (ex. EAN13, UPC, DUN14) (pode ser enviado NULO) |
Descrição do Item | Varchar (300) | B1_DESC | C – 30 |
| Descrição completa do item |
Unidade de Medida | Char (10) | B1_UM | C – 02 | SAH | Descrição da unidade de medida do item |
Fator de Conversão | Decimal (12,6) | B1_CONV | N – 05,2 |
| Fator de conversão das quantidades individuais para a unidade base do sistema (definida nos parâmetros gerais) |
Fornecedor | Varchar (100) | Codigo do Fornecedor | C – 06 |
| Descrição do fornecedor do item (ou das divisões de negociação com fornecedor) (nome do fornecedor ou "cotação") |
Grupo 1 | Varchar (100) | Estrutura da Categoria | C – 04 | ACU | Descrição do agrupamento 1 (como exemplo pode ser utilizado para nacional / importado). Seu rótulo poderá ser configurado nos parâmetros gerais do sistema |
Grupo 2 | Varchar (100) |
|
|
| Descrição do agrupamento 2 (como exemplo pode ser utilizado para nacional / importado). Seu rótulo poderá ser configurado nos parâmetros gerais do sistema |
Grupo 3 | Varchar (100) |
|
|
| Descrição do agrupamento 3 (como exemplo pode ser utilizado para nacional / importado). Seu rótulo poderá ser configurado nos parâmetros gerais do sistema |
Grupo 4 | Varchar (100) |
|
|
| Descrição do agrupamento 4 (como exemplo pode ser utilizado para nacional / importado). Seu rótulo poderá ser configurado nos parâmetros gerais do sistema |
Grupo 5 | Varchar (100) |
|
|
| Descrição do agrupamento 5 (como exemplo pode ser utilizado para nacional / importado). Seu rótulo poderá ser configurado nos parâmetros gerais do sistema |
Grupo 6 | Varchar (100) |
|
|
| Descrição do agrupamento 6 (como exemplo pode ser utilizado para nacional / importado). Seu rótulo poderá ser configurado nos parâmetros gerais do sistema |
Fator Conversão 1 | Decimal (12,6) |
|
|
| Fator de conversão adicional 1. Seu rótulo poderá ser configurado nos parâmetros gerais do sistema* |
Fator Conversão 2 | Decimal (12,6) |
|
|
| Fator de conversão adicional 2. Seu rótulo poderá ser configurado nos parâmetros gerais do sistema* |
Fator Conversão 3 | Decimal (12,6) |
|
|
| Fator de conversão adicional 3. Seu rótulo poderá ser configurado nos parâmetros gerais do sistema* |
Grupo 7 | Varchar (100) |
|
|
| Descrição do agrupamento 7 (como exemplo pode ser utilizado para nacional / importado). Seu rótulo poderá ser configurado nos parâmetros gerais do sistema |
Grupo 8 | Varchar (100) |
|
|
| Descrição do agrupamento 8 (como exemplo pode ser utilizado para nacional / importado). Seu rótulo poderá ser configurado nos parâmetros gerais do sistema |
Grupo 9 | Varchar (100) |
|
|
| Descrição do agrupamento 9 (como exemplo pode ser utilizado para nacional / importado). Seu rótulo poderá ser configurado nos parâmetros gerais do sistema |
Grupo 10 | Varchar (100) |
|
|
| Descrição do agrupamento 10 (como exemplo pode ser utilizado para nacional / importado). Seu rótulo poderá ser configurado nos parâmetros gerais do sistema |
Grupo 11 | Varchar (100) |
|
|
| Descrição do agrupamento 11 (como exemplo pode ser utilizado para nacional / importado). Seu rótulo poderá ser configurado nos parâmetros gerais do sistema |
Grupo 12 | Varchar (100) |
|
|
| Descrição do agrupamento 12 (como exemplo pode ser utilizado para nacional / importado). Seu rótulo poderá ser configurado nos parâmetros gerais do sistema |
2 Upload – SKU (Item / Local de Estoque)
Arquivo contendo informações do item no local de estoque.
Nome do Arquivo | X_*_skus.txt |
Frequência | Enviar diariamente as SKUs novas. Caso a administração dos parâmetros abaixo seja feita fora do NeoGrid, enviar também as modificações. |
Mandatório | Sim |
Campos | Tipo de Dado | Campo Protheus |
|
| Detalhes |
Código do Item | Varchar (50) | B2 COD_ | C – 15(30) | SB1 | Código do item |
Código Local de Estoque | Varchar (20) | B2_FILIAL+ | C – 02(06) | NNR | Código do local de estoque |
Padrão de Freqüência | Varchar (15) | NULO |
|
| Identificação do Padrão de Freqüência |
Modelo de Planejamento | Int (1) | Zero |
|
| Tipo do Modelo de Planejamento |
Horizonte de Planejamento | Int (3) | NULO | Numerico |
| Horizonte de Planejamento |
Reposição Automática | Int (1) | NULO | C – 01 |
| Indicador de Reposição Automática |
Data de Maturidade | Varchar (8) | NULO | N – 3,0 |
| Data de Maturidade da SKU (aaaammdd) |
Data de Descontinuação | Varchar (8) | NULO |
|
| Data de Descontinuação da SKU (aaaammdd) (se for enviado "NULO", mantém o valor cadastrado) |
Nível de Serviço | Decimal (4,2) | NULO |
|
| Ajusta o Nível de Serviço da SKU com o valor enviado no arquivo. Conceitualmente este número deve estar dentro do intervalo de 50,00 até 99,99. (se for enviado "NULO", mantém o valor cadastrado) |
Data de Validade do NS | Varchar (8) | NULO | N – 3,0 |
| Data de Validade do Nível de Serviço (aaaammdd) - (se for enviado "NULO", mantém o valor cadastrado) |
Estoque de Segurança | Decimal (11,3) | B5_ESTSNEO | N – 12,2 |
| Estoque de Segurança da SKU - (caso enviado "NULO", não atualiza este campo na carga de SKUs já existentes) |
Data de Validade do ES | Varchar (8) | NULO |
|
| Data de Validade do Estoque de Segurança (aaaammdd) (se for enviado "NULO", mantém o valor cadastrado) |
Período Histórico para ddv | Int (3) | NULO | NULO |
| Período Histórico para ddv (dias de venda) |
Lote de Reposição | Int (2) | Quantos dias (em dias) | NULO |
| Lote de Reposição da SKU |
Multiplicador para Emin | Decimal (3,1) | NULO |
|
| Multiplicador para Estoque Mínimo |
Multiplicador para Emax1 | Decimal (3,1) | NULO |
|
| Multiplicador para Estoque Máximo 1 |
Multiplicador para Emax2 | Decimal (3,1) | NULO |
|
| Nível de Serviço da SKU (se for enviado "NULO", mantém o valor cadastrado) |
Tipo de Estoque de SegurançaP | Int (1) | 0 | NULO |
| 0 para fórmula padrão1 para fórmula com LR - (caso enviado "NULO", o valor padrão é 0) |
Limite Máximo de Estoque | Decimal (11,3) | B1_EMAX | N – 12,2 |
| Limite máximo de estoque |
Limite Mínimo de Estoque | Decimal (11,3) | B1_EMIN | N – 12,2 |
| Limite minimo de estoque |
Multiplicador Exceçoes de Transferencia | Decimal (5,2) | NULO |
|
| Multiplicador de Exceções de Transferência. |
Estoque Máximo | Decimal (11,3) | (B1_EMAX * B2_CM1) | N – 12,2 |
| Valor do estoque máximo da SKU < |