Vai al contenuto

COGZ17 - Modelli di progetto (titoli allegato)

Sorgente: cbl/cogz17.cbl | Program-ID: COGZ17 | Tipo: Programma interattivo di gestione tabella (anagrafica su maschera singola)

Menu: Lab.Odont. > Archivi > Modelli Progetto > Modelli


Scopo

Gestisce l'anagrafica dei "Modelli di progetto" del laboratorio odontotecnico, memorizzati come record di tipo 4 nella tabella generica di laboratorio LODTABEL. Ogni modello e' identificato da un codice a 2 caratteri e ha una descrizione e il numero della prima riga di allegato associata.

L'operatore digita il codice modello: se esiste (chiave 4+tm-cod su LODTABEL) il programma passa in variazione e ripropone descrizione e prima riga allegato; se non esiste, resta in inserimento. Con F3 si conferma l'inserimento/variazione; con F4 (solo in variazione) si cancella il modello.

E' una maschera a campo singolo (nessuna griglia): tre campi accept in sequenza (codice, descrizione, prima riga allegato) e una conferma. Il valore "prima riga all" (tm-prima-riga-all) indica da quale riga della struttura allegato parte la stampa per quel modello.

File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB ISAM Input Parametri generali azienda (cogfiles.cpy)
LODTABEL ISAM I-O Tabella generica laboratorio; qui usata con lta-tipo = 4 per i modelli di progetto (lta-cod, lta-04-des, lta-04-prima-riga-all)

Copybook utilizzate

Copybook Descrizione
cogz17.select, cogz17.fd, cogz17.wrk, cogz17-01.scr, cogz17.decla, cogz17.prc Screen Designer
feurtab.fd, cogfiles.cpy FEURTAB
wstato, wopenf, wgrave, wnscr, cogazien Working storage standard + dati azienda
utils52 Linkage subroutine COGS52 (controlli maschera)
utilwz09 Linkage COGWZ09 (help/ricerca modelli, tasto F8)
wcont, wcont1 Linkage di chiamata (stringhe)
stato1, stato, winmsg, grave, mmmask, opengen, sendwz09 Copybook di fine procedure

Logica

  • apri / main: z-99-init-program, ctr-abil, rd-azi, open-files; abilitazione tasti (F1 configura, F3 conferma/aggiorna, F4 cancella, F8 aiuto/calendario); x-carica-lingua, titolo " Modelli progetto ", rd-msk-pop, z-costruisci-controlli.
  • a4: reset tab-maschera, z-carica-controlli, disattivazione F4 e F3-aggiorna.
  • a-tm-cod: accept del codice modello con help F8 (send-wz09); x-controlla-tm-cod legge LODTABEL (tipo 4): se assente imposta inserimento e attiva F3-aggiorna, se presente imposta variazione, ripropone tm-desc/tm-prima-riga-all e attiva F4 e F3-aggiorna.
  • a-tm-desc / a-tm-prima-riga-all: accept di descrizione e prima riga allegato con relativi controlli (x-controlla-tm-desc esige descrizione non vuota).
  • a-richiesta-conferma: x-imposta-conferma (rivalida descrizione e prima riga); con F3 e conferma: in inserimento scrive un nuovo record (wr-lodtabel), in variazione rilegge e riscrive (rwr-lodtabel, fallback wr-lodtabel). Con F4 in variazione: rilegge e cancella (del-lodtabel). Al termine torna sempre ad a4.
  • x-test-mouse: routing del focus sui controlli in base a control-id/event-control-id.
  • fine / z-chiudi: z-close-files, chiusura finestra, z-99-exit-program, exit program.

CALL

Nessuna CALL esplicita nel corpo principale oltre alle subroutine di framework attivate via copybook (COGS52, COGWZ09 tramite send-wz09).

Note

  • I dati del modello sono record lta-tipo = 4 di LODTABEL: non esiste un file dedicato ai modelli. Le informazioni di dettaglio associate ai modelli sono gestite dai programmi fratelli COGZ18 (tabelle) e COGZ28 (informazioni).
  • Il flag interno flag-ins-var (inserimento/variazione) discrimina il ramo di aggiornamento.
  • Il campo tm-prima-riga-all non ha un controllo di merito (x-controlla-tm-prima-riga-all accetta sempre): e' un semplice numerico a 3 cifre.