COGQA2 - Consultazione e avanzamento lotti per lavorazione (Trimming)¶
Sorgente: cbl/cogqa2.cbl | Program-ID: COGQA2 | Tipo: Programma interattivo GUI (griglia + avanzamento)
Menu: Magazzino > Produzione > Stampaggio > Trimming
Scopo¶
Mostra in un'unica griglia tutti i lotti aperti per una lavorazione (tipicamente lav. 102 = trimming) e consente avanzamento rapido (quantita' prodotte/scartate/chiusura), modifica priorita' e note. Personalizzazione Area Admin per Artic Seals.
Autore: Andrea Parmeggiani - Eurosystem2000.
File e tabelle¶
Tabella primaria gestita dallo screen designer (cogqa2.select/.fd/.wrk). Le entita' principali coinvolte sono:
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| COGLAVOR | ISAM | Input | Lotti di lavorazione (scan via st-coglavor-notmin-chia9 con cla-fl-cls = "A") |
| CLCCCTES | ISAM | Input | Testata commessa (esclude se cct-stato = "C") |
| COGTESOR | ISAM | Input | Testata ordini (esclude se tor-chiu = "C") |
| COGCONOR | ISAM | I-O | Consegne ordine (chiave 2 e 5) |
| COGRIGOR | ISAM | I-O | Righe ordine (chiave 3) |
| COGGCDOC | ISAM | I-O | Generic doc (chiave 4) per collegamento riordini |
| COGGEANA | ISAM | Input | Anagrafica clienti |
| COGMERCI | ISAM | Input | Anagrafica articoli |
| COGRACMC | ISAM | Input | Raccordo merce/CMA (chiave 2) |
| COGSLMAG | ISAM | Input | Saldi magazzino (giacenza impegnata) |
| CLCLAVOR / CLCANAMA | ISAM | Input | Lavorazioni / macchine |
| CLCCCRIG | ISAM | I-O | Riga lavorazione (stato/priorita') |
| CLCCCRAG | ISAM | I-O | Note di riga lavorazione |
| CLCCCCNS | ISAM | I-O | Consuntivo fase |
| CLCCCDAY / CLCCCDET | ISAM | I-O | Dettaglio giornaliero / dettaglio consuntivo |
| CLCMOVDC | ISAM | I-O | Movimento di controllo (via COGQS6) |
| COGTRANS | ISAM (temp.) | I-O | File di transito per la griglia, chiave trs-chia1 (lotto), chiavi 2 (trs-priorita + trs-data-cns) e 3 (trs-priorita + trs-cma) per ordinamenti |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
cogqa2.select, cogqa2.fd, cogqa2.wrk, cogqa2.tm, cogqa2.prc, cogqa2.decla, cogqa2-01.scr |
Screen designer |
cogtrans.k01/k02/k03 |
Chiavi file di transito |
coglavor.k09, cogconor.k02/k05, coggcdoc.k04, cogrigor.k03, cogracmc.k02 |
Chiavi secondarie |
wgrave, wnscr, wopenf, wstato, cogazien |
Working storage standard |
wgrid, utilgdad |
Griglia e GRIDADMN |
utilu20, utils52, utils65, utils68 |
Utility |
utilq05, utilq08, utilq65 |
Utility COGQ05 (lavorazioni), COGQ08 (macchine), COGQ65 (dettaglio commessa) |
utilu23 |
Utility COGU23 (ricerca prima consegna utile per articolo) |
utilncnf |
Lettura RNEWCONF |
utilcogq44 |
Linkage COGQ44 (situazione produzioni) |
utilcogqs7 |
Audit modifiche (x-cogqs7-aggiorna) |
utilcogqs0 |
Linkage COGQS0 (ricerca articolo/macchina default) |
utilcogqs6 |
Linkage COGQS6 (movimento di controllo) |
proc-cogqs7.cpy |
Procedure utility audit |
wcont, wcont1, utilcogqs6 (linkage) |
Linkage standard |
mmmask, opengen, grave, stato, stato1, winmsg |
Infrastruttura standard |
Logica di elaborazione¶
Inizializzazione (apri)¶
z-99-init-program,ctr-abil,rd-azi,open-files.- Compone il nome del file di transito:
<tmp-dir>/#$COGQA2_<oper>. - Carica 2 bitmap custom (
varie.bmp,produz.bmp) e crea 2 pulsanti custom: "Refresh griglia" (F1, idx 7) e "Situazione produzione" (F9, idx 25).
Maschera (a4 -> a-tm-lav -> a-tm-ord -> a-tm-mac -> a-tm-cli-ric -> a-tm-data-ric)¶
tm-lav-cod(default 102 trimming) - aiuto F8 via COGQ05.tm-ord- via COGS60 (combo).tm-mac-cod- aiuto F8 via COGQ08.tm-cli-ric-cod- aiuto F8 via COGS65W (tipo "C").tm-data-ric- aiuto F8 via COGS52.
F3 conferma -> a-fine-dati-inizio -> a-elabora.
Creazione transito (b-crea-transito)¶
Riapre cogtrans in output (rileva se file in uso da altro operatore). Scan coglavor filtrato cla-fl-cls = "A":
1. Esclude se cct-stato = "C" o tor-chiu = "C".
2. Cerca la lavorazione richiesta nel ciclo del lotto (b-cerca-lavorazione-scelta): scan inverso (rdprv) clcccrig -> calcola b-qta-stamp (somma ccc-qta-prd per lav 100 stampaggio), b-qta-fase (somma per lavorazione richiesta), b-qta-prec (somma per lavorazione precedente; se la corrente e' tornitura -> precedente = conteggio 101).
3. Verifica macchina di default via COGQS0 (filtro tm-mac-cod).
4. Scrive cogtrans (b-scrivi-cogtrans):
- Determina la data consegna:
- Se l'ordine e' del cliente interno (az-cli-int): b2-cerca-consegna-cliente chiama COGU23 cercando la prima consegna cliente utile per quell'articolo. Se i filtri tm-cli-ric-cod/tm-data-ric non passano -> esclude.
- Altrimenti usa cor-data ed esclude se tm-cli-ric-cod non corrisponde al cliente dell'ordine.
- Calcola trs-qta-dif = qta-prec - qta-att e legge la giacenza impegnata da COGSLMAG.
Caricamento griglia (z-carica-dettaglio)¶
Scan di cogtrans con chiave 2 o 3 a seconda di tm-ord ("D" data consegna, "C" CMA), popola tm-grid-det-dati-ele.
Avanzamento (F3 sulla griglia -> c-avanzamento)¶
Cicla su tutte le righe della griglia. Per ciascuna con qta-ava <> 0 o qta-sca <> 0 o fl-cls = "S" esegue c-avanza-riga:
1. Aggiorna clcccrig (stato C/P, ccr-data-fin-prv).
2. Aggiorna/crea consuntivo fase clccccns (somma quantita' prodotta/scartata, stato C/A, data fine).
3. Aggiorna/crea dettaglio giornaliero clcccday e dettaglio consuntivo clcccdet.
4. Audit via x-cogqs7-aggiorna.
5. Crea movimento di controllo via COGQS6 (aggiungi-mdc, doc tipo "L", quantita' avanzata).
Modifica diretta priorita'/note (c-aggiorna-lavorazione)¶
Su modifica di tm-r-priorita (i) o tm-r-note (i) viene aggiornato in tempo reale clcccrig (priorita'), clcccrag (note) e il record cogtrans corrispondente.
Auto-chiusura¶
In x-controlla-tm-r-qta-ava se qta-att + qta-ava > qta-prec il flag tm-r-fl-cls (i) viene forzato a "S" (la riga viene marcata per chiusura).
Chiamate a sottoprogrammi¶
| Programma | Utilizzo |
|---|---|
COGQ05 |
Aiuto F8 lavorazioni |
COGQ08 |
Aiuto F8 macchine |
COGS65W |
Aiuto F8 cliente richiedente |
COGS52 |
Selezione data |
COGS60 |
Combo ordinamento |
COGQ65 |
Dettaglio commessa (F8 sulla griglia) |
COGQ44 |
Situazione produzione (F9 / pulsante custom) |
COGU23 |
Ricerca prima consegna cliente utile per articolo |
COGQS0 |
Ricerca macchina default per articolo |
COGQS6 |
Creazione movimento di controllo (mdc) |
COGQS7 |
Audit log modifiche |
GRIDADMN |
Personalizzazione griglia (S-F4) |
Note implementative¶
- Personalizzazione Artic Seals: costanti
k-lav-stampaggio = 100,k-lav-conteggio = 101,k-lav-tornitura = 102. Per tornitura la fase precedente forzata e' "conteggio". - Lavorazione 1 (assemblaggio) e' inclusa anche se marcata chiusa (
ccr-stato <> "C" or ccr-lav = 1). k-max-ele-tab = 800: dimensione griglia massima.- File transito per-operatore:
<tmp-dir>/#$COGQA2_<oper>. Riapertura in output con controllo "Funzione gia' in uso". - Esiste anche una versione alternativa di ricerca consegna (
b2-cerca-consegna-cliente-collegata) basata sui collegamenticoggcdocma e' marcata "NON UTILIZZATA" nel sorgente. - Il programma rispetta in larga parte le convenzioni del codebase (PERFORM senza THRU, IF flat, EXIT PERFORM CYCLE) ma usa ancora alcuni
GO TOnei paragrafi accept (a-tm-lav, ecc.).