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
COGMOVDBcollegati (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"suCOGLAVOR) previi controlli (lotto non intermedio, nessuna lavorazione esterna aperta) e sistema gli impegni (sistema-impegno), riportando in giacenza viaCOGU12le 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¶
apri— inizializzazione (ctr-abil,z-99-init-program,rd-azi,open-files), abilitazione F3 (conferma) e F8 (calendario), preparazione mascheramm-1(25x80) e lettura configurazione (x99-confi).a4— display maschera "Chiusura forzata Produzione", reset griglia, default date: da 01/01/1990 a 31/12 dell'anno corrente.a-tm-da-data/a-tm-a-data— accept delle date estremi viaCOGS52; controllo congruenza (tm-a-data >= tm-da-data).a-richiesta-conferma— conferma (acc-conf).a-grid-ini— caricamento iniziale griglia datm-da-data(rst-not-less); se nessun dato, messaggio ed uscita al passo 2.a-05/a-10-*— visualizzazione tabella e navigazione (su/giu, Pag+/Pag- con rilettura a finestrapg-after-pg-dwn/pg-after-pg-up).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).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": inrd-controlli-fillcambia 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 TOper la navigazione (a-10,a-05) e diPERFORM ... 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 grigliadtab/fscroll. - La chiamata a
COGO17per la consegna diretta e' presente ma commentata; il ramo attivo esegue conferma e cancellazione impegni viad-cogmovdb. - Copybook di griglia/scroll:
dtab.cpy,tstfun2.cpy,fscroll.cpy; chiavi secondarie aggiunte manualmente a fine procedure (cogconor.k04,coglavor.k02,coglavor.k05).