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. Passo a passo
    4. Configurações do JOB
    Tela
    1. Configurações do Consumo de Verba
  3. Outras Ações / Ações relacionadas
  4. TelaJOB
  5. Principais Campos e Parâmetros
  6. Tabelas utilizadasUtilizadas

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 na retaguardano 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.

Configurar os parâmetros dinâmicos abaixo:

    • FORMA_APLIC_VERBA_BONIF do grupo PED_VENDA
      • Opção P: O consumo das verbas é realizado na digitação do pedido de venda na retaguarda
      • Opção F: O consumo das verbas é realizado na geração das notas de venda importadas do PDV ou no Faturamento dos documentos fiscais na retaguarda.

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 balcão que já foram consumidos.


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.

Passo a Passo 

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 > Aba Emissão de NF > Marcar o checkbox Utiliza Valor de Verba de Bonificação.

Image Removed

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

Configurações do JOB

...


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.


, Configuração 3, Configuração 4passo1,passo2,passo3,passo4
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
para divisões

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

100

50 linhas processadas.

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

Executar para uma

única divisão......   , o exemplo abaixo executará o processo para a Divisão 2

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.

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

N

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_
AtualizaVerbaBaixaPDV
ConsumoAssincrono(pnNroDivisao => 1,
													 
=> 2
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
referencia
passo3
config_consumo_2

Configuração para clientes com muitas Divisões mas

Executar para uma lista de divisões

Recomendado para divisões

que não possuem muitas empresas

configuradas

,

o exemplo abaixo executará o processo para as Divisões 3, 4 e 5, 

os exemplos abaixo executarão os processos para uma lista de Divisões ou Empresas,commitando os dados a cada

N

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,
5))   loop      sp_AtualizaVerbaBaixaPDV

											  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;
Totvs custom tabs box items
defaultno
referenciapasso4
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;

Executar para todas as divisões

Apesar dos parâmetros de entrada serem opcionais, recomendamos a utilização para melhor desempenho na execução. O exemplo abaixo executará o processo para todas as Divisões, commitando os dados a cada N linhas processadas.
Bloco de código
languagesql
begin
  for ListaEmpresa in (select a.NroEmpresa
                       from   max_Empresa a
                       where  a.NroEmpresa in (200, 300, 400))
  loop  	
	
sp_AtualizaVerbaBaixaPDV
Pkg_Mrl_VerbaSelloutConsumo.sp_AtualizaCusto(pnNroEmpresa => ListaEmpresa.NroEmpresa,
												 pnQtdLinhaCommit => 50); 
  end loop;

03. TELA 


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.

Image Added

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

...

FORMA_APLIC_VERBA_BONIF do grupo PED_VENDA

...

CONTR_VERBA_BONIF_BAIXA_PDV do grupo BAIXA_PDV

...

Não há

05. TABELAS UTILIZADAS

Não há.



Templatedocumentos