Árvore de páginas

CONTEÚDO

  1. Descrição
  2. Localização
  3. Programa Fonte
  4. Parâmetros
  5. Retorno
  6. Exemplo de utilização

01. DESCRIÇÃO

Este Ponto de Entrada permite acessar o custo medio inicial por produto no recalculo do custo medio e

tratar os valores iniciais para uso no recalculo, quando o custo medio for por Filial (MV_CUSFIL = 'F') ou por empresa (MV_CUSFIL = 'E').

02. LOCALIZAÇÃO

Quando não utilizado procedures no recalculo, esta localizado na função A330Inicia - Função utilizada para pegar os valores do inicio do periodo para serem reprocessados.

Quando utilizado procedures é instalado sem tratamentos na aplicação de procedures.


03. PROGRAMA FONTE

MATA330.PRX

P12_19.SPS

04. Parâmetros

ParâmetroDescriçãoConteúdo Padrão
ParamIXB[1]Codigo do produtoCaractere B1_COD
ParamIXB[2]valor do campo B2_CM1 (Moeda 1) em saldos iniciais
ParamIXB[3]valor do campo B2_CM2 (Moeda 2) em saldos iniciais
ParamIXB[4]valor do campo B2_CM3 (Moeda 3) em saldos iniciais
ParamIXB[5]valor do campo B2_CM4 (Moeda 4) em saldos iniciais
ParamIXB[6]valor do campo B2_CM5 (Moeda 5) em saldos iniciais


05. RETORNO

Retorno: Array com os novos valores de CM.

array 1Novo Valor CM1
array 2Novo Valor CM2
array 3Novo Valor CM3
array 4Novo Valor CM4
array 5Novo Valor CM5


06. EXEMPLO DE UTILIZAÇÃO

Exemplo
#INCLUDE "RWMAKE.CH" 
#INCLUDE "TBICONN.CH"

User Function M330CMU()

Local cCodOriMOD := ParamIXB[1]  //-- Codigo do Produto
Local nCM1 := ParamIXB[2]  // custo moeda 1
Local nCM2 := ParamIXB[3]  // custo moeda 2
Local nCM3 := ParamIXB[4]  // custo moeda 3
Local nCM4 := ParamIXB[5]  // custo moeda 4
Local nCM5 := ParamIXB[6]  // custo moeda 5
Local aRet := {}

Alert ('Entrou no PE')

If cCodOriMOD = 'PRODUTO'
    nCM1:= nCM1 * 10
    nCM2:= nCM2 * 10
    nCM3:= nCM3 * 10
    nCM4:= nCM4 * 10
    nCM5:= nCM5 * 10
EndIf 

aRet:= {nCM1,nCM2,nCM3,nCM4,nCM5}

Return aRet  //-- Retorno array contendo os custos nas cinco moedas 

==================================================================================================
exemplo sem ação em procedures

Create procedure M330CMU_##
(
   @IN_FILIALCOR    Char('B1_FILIAL'),
   @IN_CODORIMOD    Char('B2_COD'),
   @IN_DDATABASE    Char(08),
   @IN_TRB_CM1      float,
   @IN_TRB_CM2      float,
   @IN_TRB_CM3      float,
   @IN_TRB_CM4      float,
   @IN_TRB_CM5      float,
   @OUT_TRB_CM1     float OutPut,
   @OUT_TRB_CM2     float OutPut,
   @OUT_TRB_CM3     float OutPut,
   @OUT_TRB_CM4     float OutPut,
   @OUT_TRB_CM5     float OutPut,
   @OUT_RESULTADO   char(01) Output
)
as
/* ---------------------------------------------------------------------------------------------------------------------
    Programa    -  <s> M330CMU (MATA330) Ponto de Entrada </s>
    Versão      -  <v> Protheus P12 </v>
    Assinatura  -  <a> 001 </a>
    Entrada     -  <ri>
                   @IN_FILIALCOR    - Filial Corrente
                   @IN_CODORIMOD    - Codigo do Produto a ser recuperado o Custo
                   @OUT_TRB_CM1     - Custo Moeda1
                   @OUT_TRB_CM2     - Custo Moeda2
                   @OUT_TRB_CM3     - Custo Moeda3
                   @OUT_TRB_CM4     - Custo Moeda4
                   @OUT_TRB_CM5     - Custo Moeda5
                   </ri>
    Saida          <ro> @OUT_RESULT      - Status da execucao do processo </ro>
--------------------------------------------------------------------------------------------------------------------- */
declare @OutResult varchar(01)
begin
   select @OUT_TRB_CM1   = @IN_TRB_CM1
   select @OUT_TRB_CM2   = @IN_TRB_CM2
   select @OUT_TRB_CM3   = @IN_TRB_CM3
   select @OUT_TRB_CM4   = @IN_TRB_CM4
   select @OUT_TRB_CM5   = @IN_TRB_CM5
   select @OUT_RESULTADO = '1'
end