CONTEÚDO

  1. Visão Geral
  2. Exemplo de utilização
    1. Fluxo
    2. Pré-requisitos e Restrições
    3. Configurações do JOB
    4. Configurações do Consumo de Verba
  3. Outras Ações / Ações relacionadas
  4. JOB
  5. Tabelas Utilizadas

01. VISÃO GERAL

Esta documentação visa auxiliar na configuração deste processo que será executado pelo JOB sp_AtualizaVerbaBaixaPDV ou pelos JOBs da Pkg_Mrl_VerbaSelloutConsumo.

O ERP oferece como opção a baixa de verba em modo assíncrono na importação das vendas de frente de caixa (PDV) e no faturamento de documento fiscal no ERP, especialmente para as empresas que trabalham com o modelo de verba compartilhada. Com essa opção, a atualização da verba acontece em segundo plano, permitindo que a baixa de venda ou o faturamento seja processado com maior desempenho, reduzindo a concorrência no banco de dados e otimizando a operação.

02. EXEMPLO DE UTILIZAÇÃO

Fluxo

Imagem 1 - Fluxo dos processos executados no JOB

Pré-requisitos e Restrições

Existir verbas vigentes no momento das vendas. Entende-se como verba vigente uma verba que esteja no período de validade e que tenha saldo para consumir.

Configurações do JOB

Importante

Para clientes que já utilizam o JOB sp_AtualizaVerbaBaixaPDV e vão substituir pelos novos JOBs da Pkg_Mrl_VerbaSelloutConsumo será necessário a interrupção dos Schedulers de importação de vendas e verficar se todos os dados da tabela de controle de consumo assíncrono foram finalizados, ou seja, na tabela Mrl_CtrlConsumoAssincronoVerba não podem existir linhas com Status 1 ou 2. Em seguida, também interromper os Schedulers do processo de baixa de verba.

Observação: Caso ainda existam linhas que não foram finalizadas na tabela de controle de consumo assíncrono após a interrupção dos Schedulers, será necessário entrar em contato com o Suporte para solicitar o ajuste antes da ativação dos novos JOBs

Configurar o PD CONTR_VERBA_BONIF_BAIXA_PDV do grupo BAIXA_PDV

    • Opção S: Com esta configuração o consumo será online, ou seja, conforme configuração do PD FORMA_APLIC_VERBA_BONIF.
    • Opção N: Com esta configuração o consumo será offline (Baixa assíncrona), realizado através da execução dos JOBs, com exceção dos casos que se enquadram na opção P do PD FORMA_APLIC_VERBA_BONIF.


Por padrão, é sugerido configurar para executar a cada 1 minuto.

Parâmetros

    • pnQtdLinhaCommit: Parâmetro de entrada opcional. Utilizado para indicar a quantidade de linhas que serão processadas antes de cada commit.
    • pnNroDivisao: Parâmetro de entrada opcional. Utilizado para executar o processo para uma única Divisão. Com esta configuração é possível realizar a baixa de verba simultaneamente para divisões diferentes.


Exemplos de possíveis configurações do JOB sp_AtualizaVerbaBaixaPDV:

Executar para uma única divisão realizando commits a cada N linhas processadas

Recomendado

Configuração para clientes com muitas Divisões que possuem muitas empresas, o exemplo abaixo executará o processo para a Divisão 1, commitando os dados a cada 50 linhas processadas.

begin 
	sp_AtualizaVerbaBaixaPDV(pnQtdLinhaCommit => 50, 
							 pnNroDivisao => 1); 
end;

Executar para uma lista de divisões realizando commits a cada N linhas processadas

Configuração para clientes com muitas Divisões mas que não possuem muitas empresas, o exemplo abaixo executará o processo para as Divisões 2, 3, 4 commitando os dados a cada 50 linhas processadas.

begin
  for ListaDivisao in (select a.NroDivisao
                       from   max_Divisao a
                       where  a.NroDivisao in (2, 3, 4))
  loop
     sp_AtualizaVerbaBaixaPDV(pnQtdLinhaCommit => 50,
							  pnNroDivisao => ListaDivisao.NroDivisao);
  end loop;
end;

Importante

O objeto abaixo faz parte do novo fluxo de baixa da verba e está disponível a partir do service pack 24.01.004

Para utilizar os novos objetos é necessário configurar o PD IND_FLUXO_CONSUMO com a opção S.

Exemplos de possíveis configurações dos JOBs

Recomendado

Configuração para clientes com muitas Divisões que possuem muitas empresas, os exemplos abaixo executarão os processos para uma única Divisão ou Empresa, commitando os dados a cada 50 linhas processadas.

begin 
	Pkg_Mrl_VerbaSelloutConsumo.sp_InsereFila(pnNroDivisao => 1
											  pnQtdLinhaCommit => 50);
end;
begin 
	Pkg_Mrl_VerbaSelloutConsumo.sp_ConsumoAssincrono(pnNroDivisao => 1
													 pnQtdLinhaCommit => 50);
end;
begin 
	Pkg_Mrl_VerbaSelloutConsumo.sp_AtualizaVenda(pnNroEmpresa => 100
												 pnQtdLinhaCommit => 50); 
end;
begin 
	Pkg_Mrl_VerbaSelloutConsumo.sp_AtualizaCusto(pnNroEmpresa => 100
												 pnQtdLinhaCommit => 50); 
end;

Configuração para clientes com muitas Divisões mas que não possuem muitas empresas, os exemplos abaixo executarão os processos para uma lista de Divisões ou Empresas, commitando os dados a cada 50 linhas processadas.

begin
  for ListaDivisao in (select a.NroDivisao
                       from   max_Divisao a
                       where  a.NroDivisao in (2, 3, 4))
  loop  	
	Pkg_Mrl_VerbaSelloutConsumo.sp_InsereFila(pnNroDivisao => ListaDivisao.NroDivisao,
											  pnQtdLinhaCommit => 50); 
  end loop;
end;
begin
  for ListaDivisao in (select a.NroDivisao
                       from   max_Divisao a
                       where  a.NroDivisao in (2, 3, 4))
  loop  	
	Pkg_Mrl_VerbaSelloutConsumo.sp_ConsumoAssincrono(pnNroDivisao => ListaDivisao.NroDivisao,
													 pnQtdLinhaCommit => 50); 
  end loop;
end;
begin
  for ListaEmpresa in (select a.NroEmpresa
                       from   max_Empresa a
                       where  a.NroEmpresa in (200, 300, 400))
  loop  	
	Pkg_Mrl_VerbaSelloutConsumo.sp_AtualizaVenda(pnNroEmpresa => ListaEmpresa.NroEmpresa,
												 pnQtdLinhaCommit => 50); 
  end loop;
end;
begin
  for ListaEmpresa in (select a.NroEmpresa
                       from   max_Empresa a
                       where  a.NroEmpresa in (200, 300, 400))
  loop  	
	Pkg_Mrl_VerbaSelloutConsumo.sp_AtualizaCusto(pnNroEmpresa => ListaEmpresa.NroEmpresa,
												 pnQtdLinhaCommit => 50); 
  end loop;
end;


Configurações do Consumo de Verba

Configurar o PD FORMA_APLIC_VERBA_BONIF do grupo PED_VENDA

    • Opção P: O consumo das verbas é realizado na digitação do item do pedido de venda no ERP.
    • Opção F: O consumo das verbas é realizado no Faturamento do pedido de venda no ERP.

Observação: O consumo das vendas importadas do PDV será na geração do documento fiscal com exceção dos itens importados do pedido de venda no ERP que já foram consumidos.


Configurar o CGO utilizado na venda para utilizar verba.

    • Caminho: Módulo Parâmetros > Menu Parâmetros > Aplicação Código Geral de Operação - MAX0023
      Na Aba Emissão de NF, marcar a opção Utiliza Valor de Verba de Bonificação.

Imagem 2 - Códigos Gerais de Operação (CGO)

03. Outras Ações / Ações relacionadas

AçãoDescrição
Código Geral de Operação (CGO) - MAX0023Configurar o CGO utilizado na venda para utilizar verba.
Parâmetros Dinâmicos - DEA0090Configurar os PDs relacionados ao processo.

04. JOB

Principais Campos e Parâmetros

Não há

05. TABELAS UTILIZADAS

Não há