⏱️ Módulo de Produção – Programação manual usando Lead Time

<aside> 📌

Objetivo: explicar, de forma técnica, como o sistema calcula as datas das Ordens de Produção (OPs) pai e filhas ao gerar manualmente o Programa de Produção pelo item pai, considerando o Lead Time de cada produto da estrutura.

</aside>


Abaixo segue a explicação técnica detalhada baseada nas packages PCKG_PRODUCAO e PCKG_PROG_PRODUCAO.


🧩 1. Contexto da geração manual

Quando o usuário gera manualmente o Programa de Produção pelo item pai (sem origem MPS/MRP), o sistema invoca internamente a função de geração de OPs.

A package PCKG_PROG_PRODUCAO possui o parâmetro vGERAOPFILHOS que, quando ativo, dispara a criação automática das ordens filhas conforme a estrutura (ENESTCOMPONENTES) e o roteiro (ENESTROTINAS) do produto pai.


⚙️ 2. Cálculo de datas com Lead Time habilitado

A definição do comportamento depende do parâmetro PDPARAMESTAB.LEADTIMEOP, lido logo no início da geração.

image.png

Se o parâmetro estiver “S – Sim”, o sistema passa a considerar o Lead Time (FSPRODUTOPCP.LEADTIME) de cada produto para determinar as datas das OPs.

Durante a criação das ordens filhas, a rotina percorre a hierarquia de PDORDEMPROD.NIVELORDPROD e ajusta as datas:

Esse cálculo percorre todos os níveis (1, 1.1, 1.1.1, etc.), garantindo o encadeamento temporal.


🔄 3. Sequenciamento hierárquico