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): |
| ||||||||||||
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. |
#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