ERP – Explosão de Necessidades – Como configurar o sistema para que um pedido de previsão não gere as reservas para componentes da estrutura do item
Dúvida
Como configurar o sistema para que um pedido de previsão não gere as reservas para componentes da estrutura do item, quando é realizado processo de via tela F813GNE_MPNE - Manufatura / Gestão de PCP / Necessidades de Produção/Compra (MRP) / Cálculo (MRP) baseada em um pedido de previsão gerado na tela F120LPV_RVPE - Mercado / Gestão de Vendas / Pedidos / Pedido de Previsão / Família/Produto?
Solução
Não existe uma forma nativa do sistema não gerar reservas dos componentes do modelo do produto para pedidos de previsão. No entanto é possível criar uma personalização, conforme descrito abaixo:
1. Avalie a documentação do identificador de regras PCP-813EXPNE01. Clique aqui para acessar a documentação do identificador;
2. Crie uma regra para ser vinculada a esse identificador onde via cursor você verifique o pedido é de previsão (E120PED.TipPed = 5) e com isso, realize um cursor no cadastro do produto buscando o código da origem do componente que está sendo gerado no momento do processamento, retornando dessa forma a origem para a variável 'VSOrigens' do identificador PCP-813EXPNE01 para que não ocorrer a reserva do componente;
3. Após criar a regra, ative o identificador de regras e vincule a regra criada, acessando a tela F098REG - Cadastros / Identificadores e parâmetros / Identificador de Regras.
Atenção
A regra deste identificador é executada uma vez para cada componente que está sendo processado na geração das necessidades de produção.
Observação
Abaixo segue um exemplo de uma regra que poderá ser utilizada como base para a regra personalizada que você irá criar:
Definir Numero CodEmp; @--- Empresa logada ---@
Definir Numero xAuxNCodEmp; @--- Variável auxiliar, não existe no identificador ---@
Definir Numero PcpNCodFil;
Definir Numero PcpNNumPed;
Definir Alfa PcpACodPro;
Definir Alfa VSOrigens;
Definir Numero xAuxNTipPed; @--- Variável auxiliar, não existe no identificador ---@
Definir Cursor CUR_E120PED;
Definir Cursor CUR_E075PRO;
xAuxNCodEmp = CodEmp; @--- Variável auxiliar recebe o código da empresa logada ---@
Inicio
@--- Cursor para buscar o tipo de pedido que está gerando as necessidades ---@
CUR_E120PED.SQL "SELECT TIPPED FROM E120PED \
WHERE CODEMP = :xAuxNCodEmp \
AND CODFIL = :PcpNCodFil \
AND NUMPED = :PcpNNumPed";
CUR_E120PED.AbrirCursor();
Se (CUR_E120PED.Achou)
Inicio
xAuxNTipPed = CUR_E120PED.TipPed;
Fim;
CUR_E120PED.FecharCursor();
Fim;
@--- Se o tipo de pedido for de previsão, busca o código da origem dos componentes ---@
Se (xAuxNTipPed = 5)
Inicio
CUR_E075PRO.SQL "SELECT CODORI FROM E075PRO \
WHERE CODEMP = :xAuxNCodEmp \
AND CODPRO = :PcpACodPro";
CUR_E075PRO.AbrirCursor();
Se (CUR_E075PRO.Achou)
Inicio
@--- Atribui na variável VSOrigens a origem do componente para não ocorrer reserva ---@ VSOrigens = CUR_E075PRO.CODORI;
Importante
A regra citada acima é apenas um exemplo de regra. Você deve customizar a regra da forma como melhor lhe atender, considerando as suas regras de negócio.