COGQ85 - Avanzamento Lavori
Sorgente: cbl/cogq85.cbl | Tipo: Programma a menu | Program-ID: COGQ85
Menu: Magazzino > Produzione > Cicli di Lavorazione > Operativo > Avanzamento Lavori
Scopo
Programma interattivo character-mode per il consuntivo di produzione step-by-step sui cicli di lavorazione. Identifica il lotto da avanzare tramite lettura codice a barre (macchina, operatore, lotto), mostra le fasi del ciclo in una griglia e consente di registrare i dati consuntivi effettivi per ogni fase (macchina, operatore, tempi att/lav/dis, quantita' prodotte, scarti, chiusura fase). Gestisce logiche specifiche per lavorazioni speciali (stampaggio, assemblaggio, progettazione) e integrazione CRM. Usa file di transito COGTRANS e COGTRAN2 per la visualizzazione delle fasi.
File e Tabelle
| File/Tabella |
Uso |
| FEURTAB (cogfiles) |
Parametri generali |
| File da cogq85.select |
File principali del ciclo (lotti, fasi, macchine, operatori) |
| CLCLAVSP |
Lavorazioni speciali (archivio CLCLAVSP.ARC) |
| COGTRANS |
File transito per fasi del lotto corrente (temp, per operatore) |
| COGTRAN2 |
File transito per dati singola fase (temp, per operatore) |
| COGPZPRD |
File pezzi produzione — dati consuntivi fase (temp, per operatore) |
| LOGFILE |
Log operazioni (COGQ85.LOG in ext-sys-dir) |
| FLSTA |
File stato |
Programmi chiamati
| Programma |
Scopo |
| CTRABIL |
Verifica abilitazione principale e secondaria (COGQ85-1) |
| COGQS1/COGQS2/COGQS3/COGQS4 |
Utility calendario macchine e pianificazione |
| COGQ05/COGQ07/COGQ08/COGQ14 |
Utility operazioni su cicli |
| COGQ44 |
Utility COGQ44 |
| COGQ62/COGQ65/COGQ67/COGQ69/COGQ86 |
Utility operazioni avanzamento |
| COGQS6 |
Utility QS6 (area linkage chiamante) |
| COGQS7 |
Gestione note fase |
| COGQSB |
Utility QSB |
| COGS21/COGS52/COGS54/COGS60/COGS62/COGS65/COGS68 |
Utility schermo standard |
| COGU10/COGU13/COGU20 |
Utility input (divisa, numerico) |
| COGD40 |
Utility D40 |
| CRMK10/CRM030/CRMS06/CRMS08/CRMS09 |
Integrazione CRM |
| RNEWCONF |
Lettura configurazione |
Copybook principali
cogq85.select, cogq85.fd, cogq85.wrk — Strutture file generate da Screens
cogq85.decla — Sezione DECLARATIVES (io-error section)
k-personal.cpy — Costanti personalizzazione cliente
costanti-stampaggio.cpy — Costanti per flussi stampaggio/progettazione
WSTATO.CPY, WOPENF.CPY, WGRAVE.CPY, WNSCR.CPY, COGAZIEN.CPY — Copybook standard
utilncnf.cpy — Utility lettura RNEWCONF
utilqs1.cpy..utilq86.cpy — Utility specifiche cicli di lavorazione
utilpost.cpy, utilmymail.cpy — Utility invio email notifiche
utilcrmk10.cpy, utilcrm030.cpy, utilcrms06.cpy, utilcrms08.cpy, utilcrms09.cpy — Integrazione CRM
utilcogd40.cpy, utilcogqs7.cpy, utilcogqsb.cpy, utilcogq44.cpy — Utility specifiche
utilgesdebug.cpy — Utility debug
WCONT.CPY, WCONT1.CPY, utilcogqs6.cpy — Area linkage
Struttura dati principali
tab-maschera
| Campo |
Tipo |
Descrizione |
| tm-lettura |
X(17) |
Input lettura codice a barre |
| tm-ultima-fase |
9(04) |
Ultima fase del ciclo |
| tm-fase-unica |
X(01) |
"S" se il ciclo ha una sola fase |
| tm-tipo-ordine |
X(01) |
Tipo ordine (A=stampi, B=progettazione, C=tamponi) |
| tm-fase-stampaggio |
9(04) |
Numero fase stampaggio |
| tm-mac |
X(05) |
Codice macchina corrente |
| tm-lotto |
9(10) |
Anno(4)+Numero(6) lotto corrente |
| tm-lotto-confronto |
9(10) |
Lotto precedente (rileva cambio lotto) |
| tm-ope |
9(04) |
Codice operatore |
| tm-mer |
X(09) |
Codice merce del lotto |
| tm-merce-nom |
9(08) |
Matricola merce |
| tm-cli |
9(05) |
Cliente |
| tm-data |
9(08) |
Data corrente |
| tm-time |
9(08) |
Ora corrente (hhmm + ssss) |
tm-tab (griglia fasi, OCCURS 100)
| Campo |
Tipo |
Descrizione |
| tm-lot-fas |
9(03) |
Numero fase |
| tm-lav-num |
9(05) |
Codice lavorazione |
| tm-lav-des |
X(19) |
Descrizione lavorazione |
| tm-mac-cod-ele |
X(05) |
Macchina |
| tm-mac-des |
X(13) |
Descrizione macchina |
| tm-ope-des |
X(10) |
Operatore |
| tm-minuti-prg/att/dis/lav |
vari |
Tempi in minuti |
| tm-ore-prg/att/dis/lav |
vari |
Tempi in ore |
| tm-pz-prd |
9(06) |
Pezzi prodotti |
| tm-pz-sca |
9(04) |
Pezzi scartati |
| tm-pz-hr |
9(02)v99 |
Pezzi per ora (input manuale) |
| tm-fl-fine |
X(01) |
Flag chiusura fase |
| tm-stato |
X(06) |
Stato fase |
Costanti lavorazioni speciali (costanti-stampaggio.cpy)
| Costante |
Valore |
Descrizione |
| k-causale-prod-stampi |
47 |
Causale produzione stampi |
| k-causale-progettazione |
48 |
Causale progettazione |
| k-causale-prod-tamponi |
67 |
Causale produzione tamponi |
| k-lav-progettazione-cad |
211 |
Lavorazione progettazione CAD |
| k-lav-trimming |
102 |
Lavorazione trimming |
| k-lav-approvazione-interna-stampo |
209 |
Approvazione interna stampo |
Logica di Elaborazione
1. Inizializzazione (screen-0)
- Verifica abilitazione principale (
ctr-abil) e secondaria (CTRABIL con nome "COGQ85-1" → w-abi-abi-cogq85-1)
- Costruzione nomi file transito per operatore corrente (
w-nome-trs, w-nome-tr2, w-nome-prd, w-nome-lsp)
open-files, rd-azi, x99-confi (lettura RNEWCONF)
- Tentativo
open output cogtrans cogpzprd: se gia' aperto da altro processo → messaggio "Funzione gia' in uso" → z-chiudi (lock funzione per operatore)
- Riapertura in I-O di
cogtrans, clclavsp, cogpzprd
- Caricamento maschera
mm-1 (25 righe x 80 colonne, posizione 1,1)
2. Ciclo principale (a4 → a-10)
- Accept data (
datasis) e ora corrente, display in maschera
- Lettura input tramite codice a barre (
rd-lettura, paragrafo a-10):
- Prefisso "M": identificazione macchina (
lettura-macchina); se la macchina ha operatore predefinito, lo imposta automaticamente
- Codice numerico a 4 cifre: identificazione operatore (
lettura-ope)
- Anno(4)+Numero(8): identificazione lotto (
lettura-comme)
- Il formato lotto e' accettato sia come
AAAANNNNNNNN sia come AAAA/NNNNNNNN e AA/NNNN (conversione automatica)
- F5: ricerca macchina tramite COGQ08
3. Apertura fase (confe-apertura → disp-fase-ap)
- Verifica se esiste gia' una fase aperta sulla macchina (scan CLCCCDET per macchina con
cdt-data-fin = zeroes)
- Se trovata: visualizzazione fase aperta con opzioni (continua, chiudi, annulla)
- Caricamento fasi del lotto in COGTRANS e dati fase in COGTRAN2
4. Visualizzazione e avanzamento griglia fasi
- Griglia con max 100 fasi (t-size-max=100), 11 righe visibili (t-length=11), inizio riga 11 (t-start=11)
- Per ogni fase selezionata: input macchina effettiva, operatore, tempi, quantita' prodotte/scartate
- Controllo incrociato fasi (
fl-ctr-incrociato) per coerenza produzione multi-fase
- Tolleranza quantita' ultima fase:
w-qta-tollerata = qta-ordine * 130 / 100
- Logiche speciali: assemblaggio (controllo
w-abi-abi-cogq85-1), trimming, approvazione stampo, progettazione CAD, riesame
5. Salvataggio e chiusura fase
- Aggiornamento COGTRANS, COGTRAN2, COGPZPRD con dati consuntivi
- Scrittura negli archivi definitivi del ciclo
- Se tutte le fasi chiuse: lotto completato, aggiornamento stato lotto
- Notifiche email via
utilpost/utilmymail se configurate
- Aggiornamento CRM (CRMK10/CRM030/CRMS06/CRMS08/CRMS09) se lavorazione collegata
6. Chiusura (z-chiudi)
- Chiusura e cancellazione file transito (COGTRANS, COGTRAN2, COGPZPRD)
- Chiusura tutti i file,
z-99-exit-program
Note
- Il lock e' implementato via
open output cogtrans cogpzprd: se non ottiene lo stato "00", un altro processo ha gia' i file aperti e il programma termina con messaggio.
fl-qta-manuale: se "S", l'operatore ha immesso direttamente i pezzi/ora anziche' usare il calcolo automatico.
w-abi-abi-cogq85-1: personalizzazione Artic — controlla se l'operatore puo' avanzare la fase di assemblaggio.
- I file transito sono nominati per operatore (campo
wo-oper), consentendo sessioni parallele da operatori diversi.
- Il log e' scritto in
COGQ85.LOG nella directory di sistema (ext-sys-dir).