Versões comparadas

Chave

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

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 SellOut
  3. Outras Ações / Ações relacionadas
  4. JOB
  5. Tabelas UtilizadasAplicações Relacionadas

01. VISÃO GERAL

Esta documentação tem como objetivo 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 sellout 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 dentro do no período de validade e que tenha saldo para consumir.

Não pode ser utilizado em conjunto com a baixa de venda agrupada.

Configurações do JOB

Aviso
titleImportante

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 do JOB sp_AtualizaVerbaBaixaPDVdos JOBs, com exceção dos casos que se enquadram na opção P do PD FORMA_APLIC_VERBA_BONIF.


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


passo1,passo2
Informações
iconfalse
titleExemplos de possíveis configurações do JOB sp_AtualizaVerbaBaixaPDV:
Totvs custom tabs box
tabsConfiguração 1, Configuração 2
ids
passo1passo2
config_antigo_1,config_antigo_2
Totvs custom tabs box items
defaultyes
referencia
config_antigo_1

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

Dica
titleRecomendado

Configuração para clientes com muitas Divisões que possuem muitas empresas

configuradas

, o exemplo abaixo executará o processo para a Divisão 1, commitando os dados a cada 50 linhas processadas.

Bloco de código
languagesql
begin 
	sp_AtualizaVerbaBaixaPDV(pnQtdLinhaCommit => 50, 
							 pnNroDivisao => 1); 
end;
Totvs custom tabs box items
defaultno
referencia
config_antigo_2

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

Recomendado

Configuração para clientes com muitas Divisões mas que não possuem muitas empresas

configuradas

, o exemplo abaixo executará o processo para as Divisões 2,3, 4 commitando os dados a cada 50 linhas processadas.

Bloco de código
languagesql
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;
Aviso
titleImportante

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.

Informações
iconfalse
titleExemplos de possíveis configurações dos JOBs
Totvs custom tabs box
tabsConfiguração 1, Configuração 2
idsconfig_consumo_1,config_consumo_2
Totvs custom tabs box items
defaultyes
referenciaconfig_consumo_1
Dica
titleRecomendado

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.

Bloco de código
languagesql
begin 
	Pkg_Mrl_VerbaSelloutConsumo.sp_InsereFila(pnNroDivisao => 1,
											  pnQtdLinhaCommit => 50);
end;
Bloco de código
languagesql
begin 
	Pkg_Mrl_VerbaSelloutConsumo.sp_ConsumoAssincrono(pnNroDivisao => 1,
													 pnQtdLinhaCommit => 50);
end;
Bloco de código
languagesql
begin 
	Pkg_Mrl_VerbaSelloutConsumo.sp_AtualizaVenda(pnNroEmpresa => 100,
												 pnQtdLinhaCommit => 50); 
end;
Bloco de código
languagesql
begin 
	Pkg_Mrl_VerbaSelloutConsumo.sp_AtualizaCusto(pnNroEmpresa => 100,
												 pnQtdLinhaCommit => 50); 
end;
Totvs custom tabs box items
defaultno
referenciaconfig_consumo_2

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.

Bloco de código
languagesql
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;
Bloco de código
languagesql
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;
Bloco de código
languagesql
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;
Bloco de código
languagesql
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

...

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

Image Modified

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á



Templatedocumentos