Árvore de páginas

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

Exemplo
#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  := PadR(T4V->T4V_PROD , nTamPrd)
        cLocal := PadR(T4V->T4V_LOCAL, nTamLoc)
   
        If SB2->(DbSeek(xFilial('SB2') + cProd + 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