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:

...

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

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, no momento da geração das notas de vendaconforme 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_AtualizaVerbaBaixaPDV, assim como já é realizado o processo de consumo da verba referente às vendas realizadas no PDV.

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

...

    • dos 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.


, 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
passo1
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 50 linhas processadas.

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

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.

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;

Executar para uma única divisão

aaa
Bloco de código
languagesql
begin 
	Pkg_Mrl_VerbaSelloutConsumo.sp_
AtualizaVerbaBaixaPDV(pnNroDivisao => 2
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
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

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