COGZ11 - Materiali/informazioni su allegati¶
Sorgente: cbl/cogz11.cbl | Program-ID: COGZ11 | Tipo: Programma interattivo maschera + griglia di dettaglio
Menu: Lab.Odont. > Archivi > Allegati > Materiali
Scopo¶
Gestisce le "informazioni" (materiali/prestazioni) associate agli allegati delle commesse di laboratorio: per ogni codice informazione (tm-info) l'operatore definisce una descrizione, un metodo di gestione e un elenco di valori (righe di dettaglio) ciascuno con descrizione e priorita'. Questi valori alimentano i testi che compaiono negli allegati stampati (es. elenco materiali utilizzati).
L'entita' gestita e' la tabella LODINFAL (informazioni merci-prestazioni): il record di testata ha nfa-prog = 0 e contiene nfa-metodo/nfa-des, mentre i valori di dettaglio hanno nfa-prog progressivo e portano nfa-des/nfa-priorita. Il campo nfa-metodo puo' valere T (Totale), P (Prioritario), D (Dettagliato).
Il programma puo' funzionare stand-alone (da menu) oppure come chiamato da un altro programma (util-cogz11): in modalita' chiamata riceve un codice informazione in input (cogz11-i-info), salta direttamente alla griglia e restituisce al chiamante il progressivo della riga selezionata (cogz11-o-prog).
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri generali azienda (cogfiles.cpy) |
| LODINFAL | ISAM | I-O | Informazioni allegati (nfa-info, nfa-prog, nfa-merce, nfa-metodo, nfa-priorita, nfa-des); usa chiave secondaria .k04 |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
cogz11.select, cogz11.fd, cogz11.wrk, cogz11-01.scr, cogz11.prc, cogz11.decla |
Screen Designer |
wgrave, wgrid, wnscr, wopenf, wstato, cogazien |
Working storage standard + dati azienda + gestione griglia |
utilgdad.cpy |
Linkage GRIDADMN (gestione griglia) |
utilw52.cpy |
Linkage controlli COGS52 |
utilwz14.cpy, sendwz14.cpy |
Linkage/invio COGZ14 (aiuto informazioni, send-wz14) |
utilz12.cpy |
Linkage COGZ12 (dettaglio prestazioni) — in linkage section |
utilcogz11.cpy |
Interfaccia chiamata (util-cogz11, in linkage section) |
stato, stato1, winmsg, grave, opengen, mmmask, utilgrid |
Copybook fine procedure standard + griglia |
lodinfal.k04 |
Chiave secondaria LODINFAL (a fine procedure) |
Logica¶
Programma goto-driven con maschera di testata (info, descrizione, metodo) e griglia di dettaglio (valore + priorita') gestita via GRIDADMN.
- apri / main:
ctr-abil,z-99-init-program,open-files,rd-azi; rilevamento modalita' chiamata (cogz11-called = k-program-id->w-dc-called = "S"); abilitazione tasti (invio, invio-modifica, F3, F4, F8, SF4-griglia, CTRL-A aggiungi, CTRL-E elimina); caricamento bitmaplabodontoe pulsante custom "Prestazioni (F7)";z-prepara-tm-grid,z-costruisci-controlli. - a4: reset maschera,
flag-ins-var="I",tm-metodo="T",z-costruisci-grid; se chiamato conw-dc-infovalorizzato, precompilatm-info, eseguex-controlla-tm-infoe salta aa-inizio-dati. - a-tm-info: accept codice informazione; F8 apre l'aiuto COGZ14 (
send-wz14);x-controlla-tm-infolegge LODINFAL (rd-lodinfal): se esiste porta metodo/descrizione in maschera, impostaflag-ins-var="V", ricostruisce la griglia (rifai-griglia) e carica i valori esistenti (b1-carica). - a-tm-des / a-tm-metodo: accept descrizione e metodo (combo via COGS60).
- a-conferma-dati / a-inizio-dati: valida i campi testata; se metodo
Dchiede conferma ed esegueaggiorna/z-chiudi; altrimenti abilita i tasti funzione della griglia. - a-grid / a-accept-grid: gestione griglia. Su ESC esce (in modalita' chiamata torna al chiamante);
SF4apre GRIDADMN (configurazione griglia);CTRL-Aaggiunge riga (a-riga-dettaglioin inserimento);invioin modalita' chiamata restituiscetm-num-riga (i)incogz11-o-proged esce;invioin modalita' normale entra in modifica riga;F3conferma (aggiorna+z-chiudi);F4cancella l'intera informazione (cancella);CTRL-Eelimina la riga corrente;F7chiama COGZ12 (prestazioni) sulla riga. - a-riga-dettaglio / a-tm-val-des / a-tm-priorita / a-riga-dettaglio-fine: scheda di dettaglio per inserire/modificare valore e priorita' della riga; a fine riga aggiorna la griglia via GRIDADMN (
Add-Record/Modify-Record). Il progressivo nuova riga (tm-num-riga) e' assegnato incrementandow-max-riga. - aggiorna: riscrive la testata LODINFAL (
nfa-prog=0), poi tutte le righe valorizzate (nfa-prog=tm-num-riga,nfa-des,nfa-priorita); infine cancella (e1-canc-merci) i progressivi eliminati raccolti inw-tab-num-riga. - b1-carica: carica in tabella i valori esistenti leggendo LODINFAL con chiave secondaria
.k04(st-lodinfal-notmin-chia4), filtrandonfa-merce = " 00000". - cancella: elimina tutti i record LODINFAL del codice informazione (loop
st/rdnxt/del). - fine / z-chiudi:
z-close-files,exit program.
CALL¶
| Programma | Scopo |
|---|---|
GRIDADMN |
Gestione/configurazione griglia di dettaglio (util-gdad) |
COGZ12 |
Dettaglio prestazioni collegate alla riga (F7) |
COGZ14 |
Aiuto/selezione codice informazione (via send-wz14) |
Note¶
- Il programma e' riutilizzabile come subroutine di selezione: quando chiamato (
util-cogz11concogz11-called/cogz11-callervalorizzati) presenta la griglia in sola selezione e restituisce il progressivo della riga scelta incogz11-o-prog. Il commento050925marca l'aggiunta di questa modalita' e della colonnagrd-num-rigain griglia. - Le righe di dettaglio sono record LODINFAL con
nfa-prog > 0; la testata e' il record connfa-prog = 0. La lettura dei valori usa la chiave secondaria.k04filtrandonfa-merce = " 00000"(righe non legate a una merce specifica). - La cancellazione di una riga in griglia non elimina subito il record: accumula il progressivo in
w-tab-num-rigae la cancellazione effettiva su LODINFAL avviene in fase diaggiorna(paragrafoe1-canc-merci). - Il codice usa
PERFORM ... THRUePERFORM VARYING(es.carica-dati thru ex-carica-dati,varying w-i): e' codice legacy pre-convenzioni.