Histórico da Página
MATA650 - Cadastro de Ordem de Produção
Linha de Produto: | Protheus | ||||||||
Segmento: | Manufatura | ||||||||
Módulo: | SIGAPCP - Planejamento e Controle da Produção | Parâmetro(s): | Nome | Tipo | Descrição | Default | Obrigatório | Referência | |
Nível de Acesso: | Nível 1 (Acesso Clientes) | ||||||||
Idiomas: | Todos | ||||||||
País(es): | Todos | ||||||||
Banco(s) de Dados: | Todos | ||||||||
Sistema(s) Operacional(is): | Todos |
Ponto de Entrada
Descrição: | Cadastramento de Ordens de Produção que é um documento que inicia o processo de fabricação do produto relacionando todos os componentes e as etapas de fabricação determinadas por sua estrutura, além disso, é essencial na geração das requisições dos materiais. Importante: o sistema administra as OPs de sua geração ao seu término. A ordem de produção pode ser incluída manualmente, OPs por Pedidos de Venda (através da geração de OPs) e por ponto de pedido (através do MRP - projeção de estoque). As OPs são referenciadas nas atualizações e consultas através da seguinte composição de código:
As atualizações das OPs são efetuadas pela informação das movimentações internas (baixa). Uma OP é encerrada quando o sistema detecta uma movimentação do Tipo Produção para o valor total da OP ou quando a soma de movimentações do Tipo Produção totaliza a quantidade original da OP. O custeio de uma OP é calculado através da soma dos custos dos componentes por nível até o nível do produto pai. É possível visualizar o andamento do processo de execução das OPs através da opção Gráfico na janela de manutenção de Ordens de Produção. Quando uma ordem de produção é incluída, o sistema verifica automaticamente tudo o que é necessário para que esta produção possa ser executada e efetua o empenho de todos os materiais necessários conforme determinado em sua estrutura. |
Programa Fonte: | MATA650.PRX |
Sintaxe: | MATA650 - Cadastro de Ordem de Produção ( aRotAuto, nOpcAuto ) --> Nil |
Retorno: | Nil (Nulo) |
Observações: | O parâmetro AUTEXPLODE, demonstrado no exemplo abaixo, é preenchido na execução da rotina automática para definir se as OPs intermediárias e as solicitações de compras, que ainda não foram geradas, devem ser geradas automaticamente ou não. Para cadastros manuais, é apresentada uma mensagem ao sair do ambiente de cadastro da Ordem de Produção perguntando se as OPs intermediárias e as solicitações de compras devem ser geradas. O segundo parâmetro da rotina Mata650 refere-se as opções de execução considerando os seguintes critérios: 1 = Pesquisa 2 = Visualização 3 = Inclusão 4 = Alteração 5 = Exclusão |
Bloco de código | ||||
---|---|---|---|---|
| ||||
#Include "Protheus.ch" #include "rwmake.ch" #include "TbiConn.ch" User Function Tmata650() Local aMATA650 := {} //-Array com os campos //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ 3 - Inclusao ³ //³ 4 - Alteracao ³ //³ 5 - Exclusao ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Local nOpc := 5 Private lMsErroAuto := .F. PREPARE ENVIRONMENT EMPRESA "01" FILIAL "0101" aMata650 := { {'C2_FILIAL' ,"0101" ,NIL},; {'C2_PRODUTO' ,"PROD001 " ,NIL},; {'C2_NUM' ,"000097" ,NIL},; {'C2_ITEM' ,"01" ,NIL},; {'C2_SEQUEN' ,"002" ,NIL}} ConOut("Inicio : "+Time()) //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ //³ Se alteracao ou exclusao, deve-se posicionar no registro ³ //³ da SC2 antes de executar a rotina automatica ³ //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ If nOpc == 4 .Or. nOpc == 5 SC2->(DbSetOrder(1)) // FILIAL + NUM + ITEM + SEQUEN + ITEMGRD SC2->(DbSeek(xFilial("SC2")+"000097"+"01"+"002")) EndIf msExecAuto({|x,Y| Mata650(x,Y)},aMata650,nOpc) If !lMsErroAuto ConOut("Sucesso! ") Else ConOut("Erro!") MostraErro() EndIf ConOut("Fim : "+Time()) RESET ENVIRONMENT Return Nil |