Árvore de páginas

Versões comparadas

Chave

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

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})

...