Vai al contenuto

COGQ70 - Attivita' Giornaliere CdL

Intestazione

Campo Valore
Programma COGQ70
Titolo Attivita' Giornaliere Programmate
Posizione menu Magazzino -> Produzione -> Cicli di Lavorazione -> Operativo -> Avanzamento Lavori -> Attivita' Giornaliere
Posizione menu alternativa Magazzino -> Produzione -> Cicli di Lavorazione -> Visualizzazioni -> Attivita' Giornaliere

Scopo e logica generale

COGQ70 e' un programma batch/interattivo che visualizza e stampa il piano delle attivita' giornaliere per macchina (centro di lavoro). Dato un giorno e un'eventuale macchina di filtro, scansiona le righe ciclo (CLCCCRIG) per ricavare tutte le fasi pianificate per quel giorno. Gestisce anche le fasi iniziate nei giorni precedenti che si estendono nel giorno corrente, calcolando i minuti residui per i tre tempi (attrezzaggio, lavorazione, disattrezzaggio) tramite COGQS3.

Il programma usa COGTRANS come file di transito temporaneo con doppia chiave (macchina+data+ora e data+ora+macchina). La maschera e' di tipo carattere (old-style, non Screen Designer).


Flusso principale

  1. Inizializzazione (screen-0): controllo abilitazione, costruzione nome transito, apertura file, lettura azienda, apertura/creazione COGTRANS, visualizzazione maschera a caratteri
  2. Accept parametri (a-accetta / a4):
  3. a-10: data (via COGS52 calendario). Verifica giorno lavorativo tramite COGQS1; se ore = 0 messaggio "giorno non lavorativo"
  4. a-20: macchina (con F8 -> COGQ08 per ricerca per codice; ricerca per descrizione via COGQ07). Se blank -> tutte le macchine
  5. a-90: conferma (F3)
  6. Elaborazione (b-elabora):
  7. Scansiona CLCANAMA (anagrafica macchine) per tutte le macchine o quella selezionata
  8. Per ogni macchina cerca fasi in CLCCCRIG chiave 2 (data-ini-prv + macchina):
    • Prima cerca fasi del giorno precedente che sconfinano nel giorno corrente (b-20-loop con rdprv-clcccrig)
    • Poi cerca fasi del giorno corrente (b-30-loop con rdnxt-clcccrig)
  9. Calcola i minuti residui per fasi precedenti tramite COGQS3 (b3-cerca-residuo)
  10. Scrive record su COGTRANS (b1-scrivi-transito) per ciascuna fase
  11. Scrive record riepilogativo con conteggio per macchina (b2-scrivi-n-record)
  12. Visualizzazione (c-visualizza): lettura COGTRANS e presentazione a video / stampa su FLSTA
  13. Chiusura (z-chiudi): chiusura e cancellazione COGTRANS, chiusura file, exit program

Struttura COGTRANS

trs-chia1:
  trs-mac          pic x(05)   Codice macchina
  trs-data         pic 9(08)   Data (AAAAMMGG)
  trs-ora          pic 9(04)   Ora inizio (HHMM)
trs-lotto:
  trs-lot-ann / trs-lot-num / trs-lot-fas   Anno/numero/fase lotto
trs-cli            pic 9(05)   Codice cliente
trs-cli-des        pic x(20)   Descrizione cliente
trs-lav            pic 9(05)   Codice lavorazione
trs-lav-des        pic x(10)   Descrizione lavorazione
trs-mac-des        pic x(30)   Descrizione macchina
trs-dis            pic x(10)   Disegno
trs-ora-inizio     pic 9(04)   Ora inizio fase (HHMM)
trs-minuti-prg / trs-minuti-att / trs-minuti-lav / trs-minuti-dis
trs-ore-prg / trs-ore-att / trs-ore-lav / trs-ore-dis

Chiave alternativa su trs-chia2 = trs-data, trs-ora, trs-mac.


File e tabelle acceduti

File logico Record Modalita' Uso
COGGEANA ana-rec Input Anagrafica generale - nome cliente
CLCTABEL (tabelle CLC) Input Tabelle cicli di lavorazione
CLCLAVOR lav-rec Input Anagrafica lavorazioni
CLCANAMA mac-rec Input Anagrafica macchine - scansione per macchina
CLCDISEG dis-rec Input Anagrafica disegni
CLCCCTES cct-rec Input Testate commesse ciclo - cliente e disegno base
CLCCCRIG ccr-rec Input Righe commesse ciclo - fasi pianificate (chiave 2: data+macchina)
COGTRANS trs-rec I-O File transito temporaneo per elaborazione
FLSTA riga Output File di stampa

Copybook inclusi

Working storage

Copybook Contenuto
wstato.cpy Working stato
wopenf.cpy Gestione apertura file
wgrave.cpy Gestione errori gravi
wnscr.cpy Gestione schermo
cogazien.cpy Dati azienda
wdisp002.cpy Utility display
utilqs1.cpy Interfaccia COGQS1 (calendario lavorativo)
utilqs3.cpy Interfaccia COGQS3 (calcolo tempo residuo fase)
utilq07.cpy Interfaccia COGQ07 (ricerca macchina per descrizione)
utilq08.cpy Interfaccia COGQ08 (ricerca macchina per codice)
utilq62.cpy Interfaccia COGQ62
utilq65.cpy Interfaccia COGQ65
utils52.cpy Interfaccia COGS52 (calendario)
utils54.cpy Interfaccia COGS54 (stampante)
utils62.cpy Interfaccia COGS62 (calcolo tempi)

Linkage

Copybook Contenuto
wcont.cpy Dati operatore
wcont1.cpy Dati azienda linkage

Programmi chiamati (CALL)

Programma Scopo
COGS52 Calendario (selezione data)
COGQS1 Verifica giorno lavorativo e calcolo ore lavorative
COGQS3 Calcolo minuti residui di una fase a una data di riferimento
COGQ07 Ricerca macchina per descrizione
COGQ08 Ricerca macchina per codice (F8)
COGS62 Calcolo differenza/somma tempi HH:MM
GRIDADMN Amministrazione griglia (visualizzazione)

Configurazione (RNEWCONF)

Il programma non usa direttamente RNEWCONF. I parametri operativi (ora inizio giornata: default 8:00 = w-ora-inizio = 800) sono costanti nel sorgente.

Il flag fl-ore-minuti (default "M" = minuti) determina l'unita' di misura dei tempi visualizzati.


Logica di business

Fasi del giorno precedente

Per ogni macchina, prima di cercare le fasi del giorno corrente, il programma cerca fasi con ccr-data-ini-prv < tm-data che abbiano ccr-data-fin-prv >= tm-data tramite navigazione all'indietro su CLCCCRIG chiave 2 (rdprv-clcccrig). Per ciascuna di esse chiama COGQS3 per calcolare i minuti residui al momento del giorno corrente, poi ridistribuisce i residui sui tre tempi (dis -> lav -> att) rispettando il totale disponibile nel giorno (tm-minuti-lav-g).

Fasi del giorno corrente

Scansione CLCCCRIG chiave 2 con ccr-data-ini-prv = tm-data e ccr-mac = mac-cod. Per ogni fase che finisce oltre il giorno corrente, vengono calcolati i tempi effettivi del giorno tramite COGS62 (differenza tra ora inizio giornata + ore lavorative e ora inizio fase).

Calcolo ora di inizio

L'ora di inizio della prima fase e' w-ora-inizio = 800 (08:00). Le fasi successive ricevono come orario di inizio il risultato della fase precedente (calcolato via COGS62 sommando i tempi).

Record riepilogativo macchina

Per ogni macchina viene scritto un record con trs-data = 0 e trs-ora = 0 che contiene il numero totale di fasi (trs-minuti-lav = w-scroll-rec). Viene usato dalla fase di visualizzazione per scorrere il transito.