Histórico da Página
MATA712 - MRP Ordens de Produção
Linha de Produto: | Protheus |
Segmento: | Manufatura |
Módulo: | SIGAPCP |
Rotina: | MATA712 |
Versões: |
Protheus 12 | |
Compatível Países: | Todos |
Sistemas Operacionais: | Todos |
Compatível às Bases de Dados: | Todos |
Nível de Acesso: | Nível 1 (Acesso Clientes) |
Idiomas: | Espanhol, Inglês |
Objetivo:
O objetivo da função MATA712 (MRP) é gerar ordens de produção e solicitações de compras baseado em uma Demanda (Pedido/Previsão).
IMPORTANTE:
...
Sintaxe: MATA712 - Ordens de Produção ( PARAMIXB1PARAMIXB2 ) --> Nil
Retorno: Nil(nulo)
Parâmetros:
O vetor PARAMIXB2 é composto pela estrutura abaixo:
PARAMIXB2[1] // Tipo de período 1=Diário;2=Semanal;3=Quinzenal;4=Mensal;5=Trimestral;6=Semestral;7=Diversos
PARAMIXB2[2] // Quantidade de períodos
PARAMIXB2[3] // Considera Pedidos em Carteira
PARAMIXB2[4] // Array contendo Tipos Tipos de produtos a serem considerados (se Nil, assume padrão)
PARAMIXB2[5] // Array contendo Grupos de produtos a serem considerados (se Nil, assume padrão)
PARAMIXB2[6] // Gera/Nao Gera OPs e SCs depois do cálculo da necessidade.
PARAMIXB2[7] // Indica se monta log do MRP
PARAMIXB2[8] // Número da Op Inicial
PARAMIXB2[9] // Database para inicio do cálculo
PARAMIXB2[10] // Números dos períodos para geração de OPs
PARAMIXB2[11] // Números dos períodos para geração de SCs
PARAMIXB2[12] // Máximo de 99 itens por OP
PARAMIXB2[13] // Datas para tipo de período diversos
No exemplo abaixo, existe a preparação do ambiente para rodar esta rotina, que é feita por meio do comando Prepare Environment.
// aemp[1] = Empresa (Caracter)
// aemp[2] = Filial (Caracter)
// Administrador = Através de qual usuário irá executar a rotina. (Caracter)
// senha = Senha do usuário (Caracter)
PREPARE ENVIRONMENT EMPRESA aemp[1] ;
FILIAL aemp[2] ;
USER 'Administrador' ;
PASSWORD 'senha' ;
TABLES "SB1","SB2","SC2","SC3","SC4","SC6" ;
MODULO "PCP"
Exemplos:
User Function jobm712()
Local PARAMIXB1 := .T. //-- .T. se a rotina roda em batch, senão .F.
Local PARAMIXB2 := {}
aAdd(PARAMIXB2,17) //-- Tipo de período 1=Diário; 2=Semanal; 3=Quinzenal; // 4=Mensal; 5=Trimestral; 6=Semestral; 7=Diversos
aAdd(PARAMIXB2,15) //-- Quantidade de períodos
aAdd(PARAMIXB2,.T.) //-- Considera Pedidos em Carteira
aAdd(PARAMIXB2,{}) //-- Array contendo Tipos de produtos a serem considerados // (, se Nil, assume padrão)
aAdd(PARAMIXB2,{}) //-- Array contendo Grupos de produtos a serem considerados // (, se Nil, assume padrão)
aAdd(PARAMIXB2,.T.) //-- Gera/Não Gera OPs e SCs depois do cálculo da necessidade.
aAdd(PARAMIXB2,.T.) //-- Indica se monta log do MRPaAdd(PARAMIXB2,"000001") //-- Número da Op Inicial
aAdd(PARAMIXB2,"98765") //-- Número da Op Inicial
aAdd(PARAMIXB2,"02/10/2018") //-- Database para inicio do cálculo
aAdd(PARAMIXB2,{1,3,5}) //-- Números dos períodos para geração de OPs
aAdd(PARAMIXB2,{1,3,5}) //-- Números dos períodos para geração de SCs
aAdd(PARAMIXB2,.F.) //-- Máximo de 99 itens por OP
aAdd(PARAMIXB2,{"02/10/2018","04/10/2018","05/10/2018"}) //-- Datas para tipo de período diversos
aemp := {"99","01"}
Prepare Environment Empresa aemp[1] filial aemp[2] USER 'Administrador' PASSWORD '' Tables "SB1","SB2","SC2","SC3","SC4","SC6" Modulo "PCP"
...
RESET ENVIRONMENT
Return Nil
Parâmetros:
Nome |
Tipo |
Descrição |
Default |
Obrigatório |
Referência |
PARAMIXB1 |
Lógico |
.T. se a rotina roda em batch, senão .F. |
X |
PARAMIXB2 |
Vetor |
(Vide Observações) |
X |
Para rodar em batch, exemplo:
...
Local nTipoPer := 1 -> Tipo de período 1=Diário;2=Semanal; 3=Quinzenal;4=Mensal;5=Trimestral; 6=Semestral;7=Diversos
Local nPeriodos := 20 -> Quantidade de períodos
...
Local aTipo := Nil -> Array contendo Tipos de produtos a serem considerados (, se Nil, assume padrão)
Local aGrupo := Nil -> Array contendo Grupos de produtos a serem considerados (, se Nil, assume padrão)
Local lGeraOpSc := .T. -> Gera/Não Gera OPs e SCs depois do cálculo da necessidade.
...
Local cNumOpDig := "000001" -> Número da Op Inicial
Local cDatabase := "02/10/2018"
Local aPerOP := {1.3.5}
Local aPerSC := {1.3.5}
Local lMaxItemOp := .F.
Local aDataDiv := {}
Uso: MATA712(lBatch,{nTipoPer,nPeriodos,lPedidos,,,lGeraOpSc,lLogMRP,cNumOpDig,cDatabase,aPerOP,aPerSC,lMaxItemOp,aDataDiv})