MATA710 - Ordens de Produção
Linha de Produto: | Protheus | |||||||||||||||||||||||||||||||||||||||
Segmento: | Manufatura | |||||||||||||||||||||||||||||||||||||||
Módulo: | SIGAPCP - Planejamento e Controle da Produção | |||||||||||||||||||||||||||||||||||||||
Parâmetro(s): |
| |||||||||||||||||||||||||||||||||||||||
Nível de Acesso: | Nível 1 (Acesso Clientes) | |||||||||||||||||||||||||||||||||||||||
Idiomas: | Espanhol, Inglês | |||||||||||||||||||||||||||||||||||||||
País(es): | Todos | |||||||||||||||||||||||||||||||||||||||
Banco(s) de Dados: | Todos | |||||||||||||||||||||||||||||||||||||||
Sistema(s) Operacional(is): | Todos |
Ponto de Entrada
Descrição: | O objetivo da função MATA710(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 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 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. |
Programa Fonte: | MATA710.PRX |
Sintaxe: | MATA710 - Ordens de Produção ( PARAMIXB1PARAMIXB2 ) --> Nil |
Retorno: | Nil
|
Observações: | O vetor PARAMIXB2 é composto pela estrutura abaixo: PARAMIXB2[1] // Tipo de periodo 1=Diario;2=Semanal;3=Quinzenal;4=Mensal;5=Trimestral;6=Semestral No exemplo abaixo, existe a preparação do ambiente para rodar esta rotina, // aemp[1] = Empresa (Caracter) PREPARE ENVIRONMENT EMPRESA aemp[1] ; |
User Function jobm710()Local PARAMIXB1 := .T. //-- .T. se a rotina roda em batch, senão .F.Local PARAMIXB2 := {}aAdd(PARAMIXB2,1) //-- Tipo de periodo 1=Diario; 2=Semanal; 3=Quinzenal; // 4=Mensal; 5=Trimestral; 6=SemestralaAdd(PARAMIXB2,1) //-- Quantidade de periodosaAdd(PARAMIXB2,.T.) //-- Considera Pedidos em CarteiraaAdd(PARAMIXB2,{}) //-- Array contendo Tipos de produtos a serem considerados // (se Nil, assume padrao)aAdd(PARAMIXB2,{}) //-- Array contendo Grupos de produtos a serem considerados // (se Nil, assume padrao)aAdd(PARAMIXB2,.T.) //-- Gera/Nao Gera OPs e SCs depois do calculo da necessidade.aAdd(PARAMIXB2,.T.) //-- Indica se monta log do MRPaAdd(PARAMIXB2,"000001") //-- Numero da Op Inicial aemp := {"99","01"}Prepare Environment Empresa aemp[1] filial aemp[2] USER 'Administrador' PASSWORD '' Tables "SB1","SB2","SC2","SC3","SC4","SC6" Modulo "PCP"//****************************//* Monta a Tabela de Tipos * //****************************dbSelectArea("SX5")dbSeek(xFilial("SX5")+"02")Do While (X5_FILIAL == xFilial("SX5")) .AND. (X5_TABELA == "02") .and. !Eof() cCapital := OemToAnsi(Capital(X5Descri())) AADD(PARAMIXB2[4],{.T.,SubStr(X5_chave,1,2)+" "+cCapital}) dbSkip()EndDo//****************************//* Monta a Tabela de Grupos * //****************************dbSelectArea("SBM")dbSeek(xFilial("SBM"))AADD(PARAMIXB2[5],{.T.,Criavar("B1_GRUPO",.F.)+" "+"Grupo em Branco"})Do While (BM_FILIAL == xFilial("SBM")) .AND. !Eof() cCapital := OemToAnsi(Capital(BM_DESC)) AADD(PARAMIXB2[5],{.T.,SubStr(BM_GRUPO,1,4)+" "+cCapital}) dbSkip()EndDo MATA710(PARAMIXB1,PARAMIXB2) RESET ENVIRONMENTReturn Nil