Árvore de páginas

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:

NomeTipoDescrição
@IN_FILIALCORCCódigo da filial
@IN_CODCCódigo do produto
@IN_LOCALCCódigo do Armazém
@IN_RECNOSB2NR_E_C_N_O_ da tabela SB2 (Saldos por armazém)

04. RETORNO

UtilizaçãoNomeTipoObrigatórioDefaultObservação
ADVPLlRetLNão.T.

.T. Recalcula armazém / .F. Não recalcula armazém

Procedure@OUT_RESULTADOCSim'0''0' Recalcula armazém / '1' Não recalcula armazém

05. EXEMPLO DE UTILIZAÇÃO EM ADVPL

MA330AL (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:

MA330AL (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