COGQ55 - Cancellazione Lotto di Produzione¶
Sorgente: cbl/cogq55.cbl | Tipo: Programma GUI (AcuCOBOL, Screens) | Program-ID: COGQ55
Menu: Magazzino > Produzione > Cicli di Lavorazione > Operativo > Cancellazione Lotto di Produzione
Scopo¶
Cancella un lotto di produzione identificato da anno + numero, eliminando in sequenza tutti i record correlati nelle tabelle cicli di lavorazione. Supporta chiamata diretta da altri programmi tramite la copybook utilcogq55.cpy (modalita' called).
File e Tabelle¶
| File/Tabella | Uso |
|---|---|
| FEURTAB | Input - tabella generica (parametri, abilitazioni) |
| COGMERCI | Input - anagrafica merci (decodifica articolo) |
| COGGEANA | Input - anagrafica generica (decodifica cliente) |
| CLCDISEG | Input - disegni/cicli (lettura disegno del lotto) |
| CLCCCTES | I-O - testata lotto produzione (lettura + cancellazione) |
| CLCCCRIG | I-O - righe fasi del lotto (scan + cancellazione) |
| CLCCCCNS | I-O - consuntivo di produzione (scan + cancellazione) |
| CLCCCDAY | I-O - consuntivo giornaliero (scan + cancellazione) |
| CLCCCDET | I-O - dettaglio consuntivo in tempo reale (scan + cancellazione) |
| CLCSTAMP | I-O - collegamento con stampi (scan + cancellazione) |
| CLCDALAV | I-O - dati aggiuntivi lavorazione (lettura + cancellazione) |
File aperti tramite cogq55.select / cogq55.fd generati da Screens.
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGP13S | Cancellazione del lancio di produzione collegato al lotto (op. "cancella-tutto") |
Copybook principali¶
cogq55.select/cogq55.fd/cogq55.wrk— generati da Screenscogq55-01.scr— screen principalecogq55.decla— declaratives per gestione I/Ocogq55.prc— paragrafi standard I/O (rd-, st-, del-) per tutti i fileutilcogq55.cpy— struttura di linkage per chiamata esterna (parametri:cogq55-called,cogq55-lotto)utils52.cpy— utility dateutils68.cpy— utility display merce (COGS68)utilp13s.cpy— utility interfaccia COGP13Swgrave.cpy,wnscr.cpy,wopenf.cpy,wstato.cpy,cogazien.cpy— standard working-storagewcont.cpy/wcont1.cpy— area comunicazione chiamante
Logica di Elaborazione¶
Inizializzazione (apri)¶
- Rileva il numero di argomenti (
C$NARG): se 1 (chiamata da menu), inizializzautil-cogq55; se 2 (chiamata da programma esterno), copia i parametri ricevuti. - Verifica abilitazioni (
ctr-abil), legge dati azienda (rd-azi), apre i file. - Se richiamato con
cogq55-called = "COGQ55-CALLED", pre-carica il numero di lotto e salta direttamente alla richiesta di conferma. - Imposta titolo maschera "Cancellazione Lotto di Produzione".
Input dati (a4, a-tm-lot-ann, a-tm-lot-num)¶
- Accept del campo anno lotto (
tm-lot-ann): validazione >= 1996. - Accept del campo numero lotto (
tm-lot-num): validazione > 0; verifica esistenza del lotto in CLCCCTES.
Presentazione dati e richiesta conferma (a-richiesta-conferma)¶
- Legge COGMERCI per decodifica articolo (
cct-db= chiave merce del lotto). - Legge CLCDISEG per il disegno associato.
- Legge COGGEANA (tipo 'C') per il nominativo del cliente.
- Mostra quantita' del lotto (campo
cct-qta, formattato comezetaqta). - Controllo avanzamento: scansione di CLCCCRIG (chia1: ann+num+fas); se almeno un record ha stato diverso da "A" (da avviare), imposta
fl-iniziata = "S". - Messaggio "Confermi Cancellazione Lotto?"; se confermato con F3:
- Verifica CLCDALAV: se il lotto ha un record con
dlv-mac <> " ", il lotto e' ancora in macchina e la cancellazione viene bloccata. - Se
fl-iniziata = "S": seconda richiesta di conferma "Confermi Cancellazione Lotto Gia' Iniziato?".
Elaborazione cancellazione (b-elabora)¶
Cancellazione in sequenza per anno+numero lotto:
- CLCCCDET (consuntivo tempo reale): scan su chia1 (ann+num), DELETE per ogni record trovato.
- CLCSTAMP (collegamento stampi): scan, DELETE per ogni record.
- CLCDALAV (dati aggiuntivi): lettura diretta + DELETE se esiste.
- CLCCCDAY (consuntivo giornaliero): scan, DELETE per ogni record.
- CLCCCCNS (consuntivo produzione): scan, DELETE per ogni record.
- CLCCCRIG (righe fasi): scan su chia1, DELETE per ogni record.
- CLCCCTES (testata lotto): lettura diretta + DELETE.
- Chiamata a COGP13S con operazione "cancella-tutto" passando i dati di collegamento al lancio (
p13s-cns-*,p13s-merce,p13s-qta-prd,p13s-data). Se COGP13S restituisce un codice errore non vuoto, viene mostrato un messaggio di avviso (ma l'elaborazione prosegue). - Messaggio "Cancellazione eseguita!!!".
Chiusura¶
- Se richiamato in modalita' called (w-argomenti=2), copia
util-w-cogq55inutil-cogq55al ritorno. z-close-files,close window,z-99-exit-program.
Note tecniche¶
- Il programma distingue due modalita' operative tramite
w-argomenti(daC$NARG): standalone (da menu, 1 argomento) e called (da altro programma, 2 argomenti conutil-cogq55nel linkage). - Il blocco sulla cancellazione per lotto in macchina e' basato sul campo
dlv-macdi CLCDALAV: se diverso da spazio indica lavorazione in corso. - Il controllo
fl-iniziatasi basa sullo stato delle righe CLCCCRIG: stato "A" = da avviare (mai iniziata); qualsiasi altro stato indica fase gia' avviata o completata. - La copybook
utilcogq55.cpyviene inclusa due volte nella working-storage con alias (REPLACINGutil-cogq55->util-w-cogq55) per separare i dati ricevuti dai dati di lavoro interni. - COGP13S gestisce la cancellazione del lancio collegato nel modulo produzione (COGMOMAG e strutture correlate): il parametro
fl-silent = "S"sopprime l'output a video di COGP13S.