Vai al contenuto

COGM71 — Chiusura forzata Produzione

Sorgente: cbl/cogm71.cbl | Tipo: interattivo a maschera con griglia scrollabile | Program-ID: cogm71

Menu: Magazzino > Uscite > Tessere & Bollini > Inserimento


Scopo

Il programma implementa la "Chiusura forzata Produzione": consente di visualizzare, in un intervallo di date, le consegne d'ordine (COGCONOR) ancora aperte in produzione e di forzarne la chiusura, movimentando/sistemando gli impegni collegati (COGMOVDB) e, per le lavorazioni gia' avviate, chiudendo il relativo lotto (COGLAVOR).

Per ciascuna riga la maschera distingue due casi in funzione della presenza del lotto (tm-lot-ann):

  • senza lotto (da produrre): F9 esegue la chiusura "diretta" della consegna, cancellando i movimenti di impegno COGMOVDB collegati (d-cogmovdb, tipi "CC" e "VI") e azzerando il flag lavorazione sull'ordine (cor-fl-lav = "N");
  • con lotto: F9 esegue chiudi-lotto, che chiude il lotto di lavorazione (cla-fl-cls = "C" su COGLAVOR) previi controlli (lotto non intermedio, nessuna lavorazione esterna aperta) e sistema gli impegni (sistema-impegno), riportando in giacenza via COGU12 le quantita' non ancora scaricate.

La griglia e' paginata (17 righe visibili) con scroll su/giu e Pag+/Pag- gestito tramite le copybook dtab/fscroll/tstfun2, con lettura a finestra su COGCONOR (chiave chia4).

File e tabelle principali

File/Tabella Copybook Uso
COGCONOR (via cogm71.fd), cogconor.k04, rd-cogconor-lk/rwr-cogconor, scan chia4 Consegne d'ordine: scansione per data (chiave chia4), lettura/riscrittura per chiusura e azzeramento flag lavorazione
COGMOVDB (via cogm71.fd), st-cogmovdb-notmin/rdnxt/del/rwr Movimenti di impegno collegati alla consegna (mdb-rif-mov), tipi "CC"/"VI": verifica impegno, cancellazione, chiusura
COGLAVOR (via cogm71.fd), coglavor.k02, coglavor.k05, rd-coglavor-lk/rwr Lavorazioni/lotti: ricerca lotto della consegna (chia5), chiusura lotto, verifica lavorazioni esterne (chia2)
COGLAVLA (via cogm71.fd), st-coglavla-notmin/rdnxt Righe ciclo lavorazione esterna: controllo che siano tutte chiuse (cll-stato = "C")
feurtab cogfiles.cpy Tabella file di sistema

Flusso principale

  1. apri — inizializzazione (ctr-abil, z-99-init-program, rd-azi, open-files), abilitazione F3 (conferma) e F8 (calendario), preparazione maschera mm-1 (25x80) e lettura configurazione (x99-confi).
  2. a4 — display maschera "Chiusura forzata Produzione", reset griglia, default date: da 01/01/1990 a 31/12 dell'anno corrente.
  3. a-tm-da-data / a-tm-a-data — accept delle date estremi via COGS52; controllo congruenza (tm-a-data >= tm-da-data).
  4. a-richiesta-conferma — conferma (acc-conf).
  5. a-grid-ini — caricamento iniziale griglia da tm-da-data (rst-not-less); se nessun dato, messaggio ed uscita al passo 2.
  6. a-05 / a-10-* — visualizzazione tabella e navigazione (su/giu, Pag+/Pag- con rilettura a finestra pg-after-pg-dwn/pg-after-pg-up).
  7. a-10 (tasto F9) — chiusura forzata della riga corrente: ramo senza lotto (d-cogmovdb) o con lotto (chiudi-lotto); dopo la chiusura ricarica la griglia ripartendo dalla chiave "primo record" salvata (w-p-key).
  8. fine / z-chiudi — chiusura file, window, uscita.

Paragrafi di supporto rilevanti: rd-controlli-fill (decide se includere una consegna: chiusa, consegnata o con impegni residui, con variante az-personal = "EX"); ctrl-impegno (verifica impegni residui su COGMOVDB); cerca-lotto (associa il lotto COGLAVOR alla riga); sistema-impegno (chiude gli impegni e reintegra la giacenza via COGU12); cerca-lavla/ciclo-lavla (verifica assenza di lavorazioni esterne aperte).

Sottoprogrammi chiamati

Programma Ruolo
COGS52 Accettazione/verifica date estremi (calendario)
COGS68 Composizione descrizione merce nella riga di griglia (z-s68-tm-merce)
COGU12 Aggiornamento giacenza (reintegro impegni non scaricati alla chiusura, u12-entrusc="U")
RNEWCONF Lettura configurazione (magazzino di stoccaggio)

Configurazioni (RNEWCONF)

Gruppo Chiave Pilota
PRNTLSPREL euta-c019-mag-stoc Se "S" (tm-cfg-mag-stoc), in fase di reintegro giacenza usa il magazzino di stoccaggio del movimento (mdb-mag-stoccaggio) anziche' il magazzino della consegna/lotto

Note

  • L'intestazione del sorgente riporta "Gestione Coge / Chiusura forzata produzione": il titolo runtime effettivo e' "Chiusura forzata Produzione". Il menu indicato ("Tessere & Bollini > Inserimento") va verificato: il program-ID e la logica corrispondono alla chiusura forzata produzione, non a inserimento tessere/bollini.
  • Variante cliente az-personal = "EX": in rd-controlli-fill cambia la logica di selezione delle consegne da chiudere (per "EX" filtra le non gia' chiuse con impegni residui; negli altri casi applica sempre il controllo impegni).
  • Codice legacy: uso estensivo di GO TO per la navigazione (a-10, a-05) e di PERFORM ... THRU ex-* per i paragrafi di supporto (tst-fun, d-cogmovdb, chiudi-lotto, sistema-impegno, ctrl-impegno, cerca-lotto, cerca-lavla, ciclo-lavla, cerca-lavla), coerentemente con lo stile della griglia dtab/fscroll.
  • La chiamata a COGO17 per la consegna diretta e' presente ma commentata; il ramo attivo esegue conferma e cancellazione impegni via d-cogmovdb.
  • Copybook di griglia/scroll: dtab.cpy, tstfun2.cpy, fscroll.cpy; chiavi secondarie aggiunte manualmente a fine procedure (cogconor.k04, coglavor.k02, coglavor.k05).