Vai al contenuto

TGL012 - Costi per macchina (Taglio Lamiere)

Panoramica

Programma GUI (maschera di testata + griglia) per la manutenzione dei costi per macchina del modulo Taglio Lamiere, memorizzati nel file dedicato TGLMACCS. I costi sono organizzati per macchina (dato di testata) e, per ciascuna macchina, per data di decorrenza (righe di griglia): ad ogni data corrispondono il costo macchina al minuto, il costo operatore, il costo programmazione, il costo gestione/forfait e il costo 3D.

L'operatore seleziona prima la macchina in testata (con controllo esistenza e help F8), quindi la griglia mostra lo storico dei costi per data. Il salvataggio (F3) riscrive completamente i costi della macchina: cancella tutti i record esistenti e riscrive quelli presenti in griglia.

Posizione nel menu

Menu Percorso
Magazzino Archivi & Tabelle > Taglio Lamiere > Costi per macchina

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB Input Tabella di sistema (nomi file)
TGLMACCS I-O Costi per macchina; chiave tmcs-macchina + tmcs-data
CLCANAMA Input Anagrafica macchine; usato per validare tm-macchina (rd-clcanama, descrizione da mac-des)

Copybook principali

Copybook Descrizione
feurtab.fd / cogfiles.cpy SELECT/FD e record della tabella di sistema
tgl012.select / tgl012.fd SELECT e File Description (generati da Screens; il FD referenzia TGLMACCS e CLCANAMA)
tgl012.wrk / tgl012.decla / tgl012.prc Working storage, declaratives e procedure di I/O generati da Screens
tgl012-01.scr Screen section (maschera di testata e griglia e-tm-tab)
costanti-tgls.cpy Costanti del modulo Taglio Lamiere
tglmaccs.cpy / tglmaccs.k01 Record TGLMACCS e chiave primaria
clcanama.cpy Record anagrafica macchine
wgrave.cpy / wnscr.cpy / wopenf.cpy / wstato.cpy Working storage errori, video, apertura file, stato I/O
cogazien.cpy Dati azienda
wgrid.cpy / utilgdad.cpy / utils52.cpy / utilu10.cpy / utilu20.cpy / utilw76.cpy Gestione griglia, GRIDADMN e utility controlli
wcont.cpy / util-tgl020.cpy / wcont1.cpy Aree di comunicazione; util-tgl020 per la chiamata a TGL020
grave.cpy / stato.cpy / stato1.cpy / winmsg.cpy / sendw76.cpy Gestione errori, stato verbi, messaggi, subroutine W76
mmmask.cpy Gestione maschera (rd-msk-pop, z-99-init-program, z-99-exit-program)
opengen.cpy Routine generica di apertura file (open-files, z-close-files)

Chiamate a sottoprogrammi (CALL)

Programma Scopo
TGL020 Help/selezione della Macchina (F8 sul campo Macchina); restituisce il codice in tgl020-out-cod
GRIDADMN Preparazione e personalizzazione della griglia (Shift-F4 layout colonne)

Logica di elaborazione

1. Inizializzazione (apri)

Imposta nome programma, verifica l'abilitazione, inizializza il programma, apre i file e legge i dati azienda. Abilita i tasti funzione (Invio, F3, F8 aiuto, Sf4, Ctrl-A, Ctrl-E), imposta il titolo, prepara la griglia (z-prepara-tm-grid) e i controlli, e imposta la modalita' iniziale in a-modalita.

2. Selezione della macchina di testata (a-tm-macchina)

Accept del campo Macchina con help F8 (richiama TGL020) e validazione x-controlla-tm-macchina: macchina obbligatoria ed esistente in CLCANAMA (la descrizione mac-des viene mostrata a video). Con F3 si passa a a-richiesta-conferma, che rivalida la macchina.

3. Caricamento griglia (a-richiesta-conferma -> a10-loop -> a30)

Dopo la conferma della macchina, si posiziona su TGLMACCS con st-tglmaccs-notmin (chiave macchina) e scorre con rdnxt-tglmaccs finche' tmcs-macchina corrisponde. Per ogni record valorizza la riga di griglia: data di decorrenza (tm-data), costo macchina al minuto (tm-costomin), costo operatore (tm-costoope), costo programmazione (tm-costoprog), costo gestione/forfait (tm-costoforf) e costo 3D (tm-costo-3d). Al termine costruisce la tabella video.

4. Gestione eventi griglia (a-grid / a-accept-grid)

Ciclo di accept sulla griglia (z-99-accept-tm-tab) che gestisce ESC (con test-wesc, ritorno a a4), Shift-F4 (GRIDADMN), F3 (salvataggio/cambio modalita'), Ctrl-A (aggiungi riga), Ctrl-E (elimina riga previa abilitazione w-abi-del e conferma). Il mouse/doppio click e' gestito da x-test-mouse, che distingue i controlli di testata (id 101-199) dalla griglia (id 1-99).

5. Validazioni di riga

  • x-controlla-tm-data: la data di decorrenza e' obbligatoria quando la riga non e' interamente vuota e non deve essere duplicata per la stessa macchina;
  • x-controlla-tm-costomin: il costo macchina al minuto e' obbligatorio quando la riga non e' vuota;
  • x-controlla-tm-costoope / x-controlla-tm-costoprog / x-controlla-tm-costoforf / x-controlla-tm-costo-3d: attualmente non impongono obbligatorieta' (i relativi controlli sono commentati); accettano quindi valore zero.

6. Salvataggio (a1-aggiorna / b-aggiorna)

a1-aggiorna esegue le validazioni complessive (x-controlla-tm-tab-col e x-controlla-tm-tab-tutto). Se validi chiama b-aggiorna, che opera per sostituzione completa della macchina:

  • cancella tutti i record TGLMACCS della macchina (st-tglmaccs-notmin + rdnxt + del-tglmaccs fino a rottura chiave);
  • riscrive con wr-tglmaccs tutte le righe di griglia con data o costo macchina valorizzati, riportando la chiave (macchina+data) e i cinque costi.

7. Chiusura (fine / z-chiudi)

Chiude i file, chiude la finestra, esegue z-99-exit-program ed esce con exit program.

Note tecniche

  • Tabella dedicata TGLMACCS a chiave composta: i costi risiedono in un file indicizzato dedicato con chiave macchina + data. La griglia rappresenta lo storico dei costi (per data di decorrenza) di una singola macchina selezionata in testata.
  • Salvataggio per sostituzione completa: come TGL040 e a differenza di TGL030/TGL044, il salvataggio cancella l'intero blocco di record della macchina e lo riscrive dalla griglia; i paragrafi b1-inserisci/b2-modifica/b3-cancella sono vuoti e non si usa il confronto cod/cod-prec.
  • Costi opzionali oltre i primi due: la riga viene scritta se ha data o costo macchina; gli altri costi (operatore, programmazione, forfait, 3D) non sono obbligatori. In b-aggiorna la riga e' considerata "vuota" (e quindi saltata) solo se tm-data e tm-costomin sono entrambi a zero.
  • Help richiamato: F8 su Macchina richiama TGL020; il campo e' comunque validato contro CLCANAMA.
  • Programma generato da Screens: struttura e I/O provengono dai file tgl012.select/.fd/.wrk/.decla/.prc e dalla screen tgl012-01.scr in cbl/screens/. La griglia e' amministrata da GRIDADMN.
  • Linkage con util-tgl020: il programma include util-tgl020.cpy nel linkage (layout comune del modulo per la comunicazione con i sottoprogrammi), ma non e' esso stesso richiamabile in selezione (w-dc-fl-called non viene mai posto a "S").