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-codleggeLODTABEL(tipo 4): se assente imposta inserimento e attiva F3-aggiorna, se presente imposta variazione, riproponetm-desc/tm-prima-riga-alle 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-descesige 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, fallbackwr-lodtabel). Con F4 in variazione: rilegge e cancella (del-lodtabel). Al termine torna sempre ada4. - 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 = 4di 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-allnon ha un controllo di merito (x-controlla-tm-prima-riga-allaccetta sempre): e' un semplice numerico a 3 cifre.