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 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 no período de validade e que tenha saldo para consumir.

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.

...

Informações
iconfalse
titleExemplos de possíveis configurações do JOB sp_AtualizaVerbaBaixaPDV:
Totvs custom tabs box
tabsConfiguração 1, Configuração 2
idspasso1,passo2config_antigo_1,config_antigo_2
Totvs custom tabs box items
defaultyes
referenciapasso1config_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
referenciapasso2config_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 SellOut

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 (COLOCAR O CÓDIGO DA APLICAÇÃO)- MAX0023
      Na Aba Emissão de NF, 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