01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Backoffice |
Módulo: | Estoque/Custos |
Função: | MATA330 - Recálculo do Custo Médio |
02. DESCRIÇÃO
LOCALIZAÇÃO: Function A330Inicia( ) - Função utilizada para pegar valores do inicio do período para serem reprocessados.
EM QUE PONTO: O Ponto de Entrada é utilizado para validar se deverá filtrar o armazém na rotina de recálculo do custo médio, utilizando o posicionamento da tabela SB2 (Saldos por armazém).
03. PARÂMETROS
Este ponto de entrada não recebe parâmetros em ADVPL.
PROCEDURE:
Nome | Tipo | Descrição |
---|---|---|
@IN_FILIALCOR | C | Código da filial |
@IN_COD | C | Código do produto |
@IN_LOCAL | C | Código do Armazém |
@IN_RECNOSB2 | N | R_E_C_N_O_ da tabela SB2 (Saldos por armazém) |
04. RETORNO
Utilização | Nome | Tipo | Obrigatório | Default | Observação |
---|---|---|---|---|---|
ADVPL | lRet | L | Não | .T. | .T. Recalcula armazém / .F. Não recalcula armazém |
Procedure | @OUT_RESULTADO | C | Sim | '0' | '0' Recalcula armazém / '1' Não recalcula armazém |
05. EXEMPLO DE UTILIZAÇÃO EM ADVPL
#INCLUDE 'totvs.ch' /*/{Protheus.doc} User Function MA330AL Ponto de Entrada utilizado para validar se deverá filtrar o armazém na rotina de recálculo do custo médio. @type User Function @author TOTVS /*/ User Function MA330AL() Local aArea := GetArea() Local cArmazem := "20" // Armazém que NÃO deseja recalcular custo médio Local lRet := .T. If SB2->B2_LOCAL == cArmazem lRet := .F. Endif RestArea(aArea) Return lRet // Retorno Lógico, sendo .T. para recalcular armazém e .F. para não recalcular
05. EXEMPLO DE UTILIZAÇÃO EM PROCEDURE
Também é possível utilizar este recurso utilizando procedure, para isto é necessário que a procedure P12_19.SPS (MATA330 - Recálculo do custo médio) esteja atualizada com a ultima versão disponível no portal e compilada corretamente no ambiente em questão.
O passo a passo abaixo descreve uma modificação em banco de dados Microsoft SQL:
1. Abra o Microsoft SQL Server Management Studio, e conecte no Pesquisador de Objetos
2. Na janela Pesquisador de Objetos, expanda a pasta Bancos de Dados e localize o banco que deseja modificar
3. Expanda o banco selecionado → Programação → Procedimentos Armazenados
4. Localize a procedure MA330AL, e selecione de acordo com o grupo de empresa que deseja modificar
5. Clique com o botão direito do mouse sobre a procedure, e selecione a opção Modificar para gerar o script
6. Será gerado um script SQL semelhante ao da imagem abaixo
7. Realize a modificação no script da procedure e defina o filtro do armazém de acordo com a necessidade
8. Após modificação, compile o script utilizando o atalho <F5> do teclado, ou localize no menu superior a opção Consulta e clique sobre Executar
Exemplo de modificação para filtrar o armazém utilizando procedure:
USE [P12127MNTDBEXP] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- Procedure creation ALTER PROCEDURE [dbo].[MA330AL_T1] ( @IN_FILIALCOR Char( 8) , @IN_COD Char( 30) , @IN_LOCAL Char( 2) , @IN_RECNOSB2 Integer , @OUT_RESULTADO Char( 01 ) output ) AS -- Declaration of variables BEGIN SET @OUT_RESULTADO = '0' IF @IN_LOCAL = '20' -- Armazém que NÃO deseja recalcular custo médio BEGIN SET @OUT_RESULTADO = '1' -- Retorno em caractere, sendo '0' para recalcular armazém e '1' para não recalcular END END