Histórico da Página
MATA712 - MRP Ordens de Produção
Linha de Produto: | Protheus |
Segmento: | Manufatura |
Módulo: | SIGAPCP |
Rotina |
Assunto
Função: | MATA712 |
Versões: | Advanced Protheus 7.10, Microsiga Protheus 8.11, Protheus 10 |
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:
Os números da Previsão de Vendas são conseguidos através por meio do contato com a área comercial com os clientes, a fim de obter informações a respeito da intenção de compras de cada um, num em um determinado período. As informações, associadas aos dados históricos de vendas e à evolução do mercado, possibilitam quantificar os montantes a serem comercializados num determinado período.
Quando a produção tem demanda elevada, é repetitiva e os produtos têm aceitação no mercado, a empresa pode manter a produção à frente das vendas, deixando certa quantidade à disposição do mercado. É a produção feita para estoque.
Esse tipo de produção tem a vantagem de a venda ocorrer efetivamente tão logo o pedido seja feito pelo cliente, mas traz o inconveniente de exigir da empresa um maior capital de giro, devido ao investimento em produção para armazenamento. A capacidade financeira tem de ser compatível com os níveis de produção e estoque.
Quando o produto não apresenta venda uniforme, é requisitado pelo mercado de forma imprevista e com baixa demanda, a empresa não se arrisca a produzir algo que não sabe quando vai vender e a produção só é feita sob encomenda. Nesse caso, os pedidos se antecipam à produção, com planejamento e programação feitos em função do que está sendo encomendado, respeitando-se as especificações e características de cada pedido.
Ao contrário do que acontece com a produção para estoque, que tem o seu preço de venda previamente estabelecido, a produção sob encomenda normalmente quantifica o preço após apreciação prévia do que está sendo solicitado, por meio de levantamento do custo atualizado.
Um veículo é feito para estoque. Há sempre alguém querendo adquiri-lo e a concessionária informa seu preço imediatamente.
Um guarda-roupa residencial é feito sob encomenda. É difícil encontrá-lo nas dimensões desejadas. O preço só é definido depois que o fornecedor toma conhecimento das especificações.
Um produto com demanda elevada deve ter suas características e especificações simplificadas e padronizadas.
...
O vetor PARAMIXB2 é composto pela estrutura abaixo:
PARAMIXB2[1] // Tipo de periodo período 1=DiarioDiário;2=Semanal;3=Quinzenal;4=Mensal;5=Trimestral;6=Semestral
PARAMIXB2[2] // Quantidade de periodosperíodos
PARAMIXB2[3] // Considera Pedidos em Carteira
PARAMIXB2[4] // Array contendo Tipos de produtos a serem considerados (se Nil, assume padraopadrão)
PARAMIXB2[5] // Array contendo Grupos de produtos a serem considerados (se Nil, assume padraopadrão)
PARAMIXB2[6] // Gera/Nao Gera OPs e SCs depois do calculo cálculo da necessidade.
PARAMIXB2[7] // Indica se monta log do MRP
PARAMIXB2[8] // Numero Número da Op Inicial
No exemplo abaixo, existe a preparação do ambiente para rodar esta rotina, que é feita atravéspor 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"
...
aAdd(PARAMIXB2,1) //-- Tipo de periodo período 1=DiarioDiário; 2=Semanal; 3=Quinzenal;
...
aAdd(PARAMIXB2,{}) //-- Array contendo Tipos Tipos de produtos a serem considerados
// (se Nil, assume padraopadrão)
aAdd(PARAMIXB2,{}) //-- Array contendo Grupos de produtos a serem considerados
// (se Nil, assume padraopadrão)
aAdd(PARAMIXB2,.T.) //-- Gera/Nao Não Gera OPs e SCs depois do calculo cálculo da necessidade.
aAdd(PARAMIXB2,.T.) //-- Indica se monta log do MRPaAdd(PARAMIXB2,"000001")
//-- Numero Número da Op Inicial
...
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 |
...
Local nTipoPer := 1 -> Tipo de periodo período 1=DiarioDiário;2=Semanal;
3=Quinzenal;4=Mensal;5=Trimestral;
...
Local nPeriodos := 20 -> Quantidade de periodosperíodos
Local lPedidos := .F. -> Considera Pedidos em Carteira
Local aTipo := Nil -> Array contendo Tipos Tipos de produtos a serem
considerados (se Nil, assume padraopadrão)
Local aGrupo := Nil -> Array contendo Grupos de produtos a serem
considerados (se Nil, assume padraopadrão)
Local lGeraOpSc := .T. -> Gera/Nao Não Gera OPs e SCs depois do calculo cálculo da necessidade.
Local lLogMrp := .F. -> Indica se monta log do MRP
Local cNumOpDig := "000001" -> Numero Número da Op Inicial
Uso: MATA712(lBatch,{nTipoPer,nPeriodos,lPedidos,,,lGeraOpSc,lLogMRP,cNumOpDig})
...