Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

P712EXEC -

...

Manipular dados nas tabelas do MRP antes

...

do início do

...

processamento

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP - Planejamento e Controle da Produção

Parâmetro(s):
NomeTipoDescriçãoDefaultObrigatórioReferencia
PARAMIXBCaractere

Ticket reservado para processamento do MRP.




Idiomas:

Todos

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Ponto de Entrada

Descrição:O ponto de entrada P712EXEC permite o usuário realizar alterações nas tabelas do MRP antes do processamento do ticket reservado.
Localização:

Função MrpProcExe do fonte MRPProcess, antes de instanciar a aplicação do MRP.

Eventos:

Permite que o usuário traga dados de outros grupos de empresa para as tabelas da execução atual do MRPsejam manipulados os registros nas tabelas do MRP antes do processamento, de forma que o cálculo considere estas informações no processamento padrão da rotina.

Programa Fonte:PCPA712.prw

Sintaxe:

P712EXEC( cTicket ) → Nil

Retorno:

Nil

Observações:

A execução deste ponto de entrada é realizada em uma thread separada do processo padrão do MRP, para que conexões em outros grupos de empresa não tenham efeito no processamento do MRP. Portanto, não é permitido a abertura de nenhum tipo de interface neste ponto de entrada.

A tabela de calendários (HW0) não é afetada pelas mudanças do ponto de entrada pois é carregada no momento em que a tela é aberta.

Bloco de código
languagec#
firstline1
titleExemplo
linenumberstrue
#INCLUDE "PROTHEUS.CH"      
 
User Function P712EXEC() 
    Local cEmpBusca := "98"
    Local cFilBusca := "01"
    Local cLocal    := ""
    Local cProd     := ""
    Local nTamPrd   := GetSx3Cache("B2_COD", "X3_TAMANHO")
    Local nTamLoc   := GetSx3Cache("B2_LOCAL", "X3_TAMANHO")
    Local cTicket   := PARAMIXB
    
    //Parâmetros de execução do MRP podem ser obtidos na tabela HW1
    HW1->(dbSeek(xFilial("HW1") + cTicket))

    // Abre a tabela da outra empresa para buscar os dados
    NGPrepTBL({{"SB2",1}}, cEmpBusca, cFilBusca)
 
    DbSelectArea("T4V")
    T4V->(DbGoTop())
    While T4V->(!EoF())
        cProd  := AllTrimPadR(T4V->T4V_PROD , nTamPrd)
        cLocal := PadR(T4V->T4V_LOCAL, nTamLoc)
   
        If SB2->(DbSeek(xFilial('SB2') + PadR(cProd, GetSx3Cache("B2_COD", "X3_TAMANHO")) + cLocal))
            If RecLock('T4V',.F.)
                T4V->T4V_QTD :+= SB2->B2_QATU //soma o saldo de outra filial no saldo atual do MRP.
                T4V->(MsUnlock())
            EndIf
        EndIf
        T4V->(DbSkip())
    End
 
Return Nil