COGZ0A - Tabella destinazioni d'uso¶
Sorgente: cbl/cogz0a.cbl | Program-ID: COGZ0A | Tipo: Programma interattivo GUI di gestione tabella (griglia editabile con transito)
Menu: Lab.Odont. > Archivi > Tabelle > Destinazioni d'uso
Scopo¶
Gestisce l'anagrafica delle destinazioni d'uso del dispositivo medico (tabella LODTABDU). Ogni destinazione d'uso ha un codice, una descrizione breve (usata per il riconoscimento in fase di selezione) e un testo completo (dus-testo, fino a 500 caratteri) che viene poi importato all'interno della prescrizione. E' previsto un flag di cancellazione logica (dus-fl-canc).
La gestione avviene interamente in una griglia editabile alimentata da un file di transito (t-grid-det, gestito dalla infrastruttura standard .prc di Screens): all'apertura tutti i record non cancellati vengono caricati nel transito (z-grid-det-crea-transito); l'operatore modifica in griglia (aggiunta con Ctrl-A, cancellazione logica con Ctrl-E, modifica celle codice/descrizione/testo/flag), e alla conferma (F3) i record vengono riversati su LODTABDU (b-aggiorna), scrivendo i nuovi e riscrivendo solo quelli effettivamente variati.
Il programma e' richiamabile in modalita' selezione: se cogz0a-called = k-program-id e cogz0a-caller valorizzato, all'apertura entra direttamente in lettura dati (w-dc-called = "S"), abilita F3 selezione/modifica e, all'invio su una riga in modalita' selezione ("S"), restituisce il codice scelto in cogz0a-o-cod.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri generali azienda (cogfiles.cpy) |
| LODTABDU | ISAM | I-O | Tabella destinazioni d'uso (dus-cod, dus-des, dus-testo, dus-fl-canc) |
| t-grid-det | ISAM (temp) | I-O | File di transito della griglia, creato e cancellato dal programma (record t-gor-r-rec) |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
cogz0a.select, cogz0a.fd, cogz0a.wrk, cogz0a.tm, cogz0a-01.scr, cogz0a.prc, cogz0a.decla, cogz0a.imppredf-wrk, cogz0a.imppredf |
Screen Designer (griglia, transito, filtri predefiniti) |
feurtab.fd, cogfiles.cpy |
FEURTAB |
wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy |
Working storage standard + dati azienda |
wgrid.cpy, utilgdad.cpy |
Gestione griglia / GRIDADMN |
utilncnf.cpy |
Linkage RNEWCONF (predisposto ma non attivo) |
utilimppredf.cpy |
Linkage import filtri predefiniti |
wcont.cpy, wcont1.cpy |
Linkage di contorno |
utilcogz0a.cpy |
Parametri di chiamata (cogz0a-called, cogz0a-caller, cogz0a-o-cod) |
grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy |
Copybook di fine procedure |
Logica¶
- apri / main:
z-99-init-program,ctr-abil,rd-azi,open-files; rileva chiamata (w-dc-called); attiva i tasti funzione (F3 aggiorna oppure selezione/modifica se chiamato, SF4 griglia, SF5 export Excel, Ctrl-A/Ctrl-E); costruisce il menu pop-up griglia (build-main-popup-grid-det); imposta titolo "Tabella destinazioni d'uso";rd-msk-pop; impostaa-modalita= "S" (chiamato) o "A";z-costruisci-controlli,z-prepara-tm-grid,x-trova-col-num-grid-det. - a4: svuota griglia; imposta ordinamento predefinito su codice ascendente (
z-grid-det-componi-ord,z-grid-det-mostra-ord);z-imppredf-carica-default(filtro di default); se chiamato salta aa-leggi-dati. - a-leggi-dati:
z-grid-det-apri-transito,z-grid-det-crea-transito(popola il transito dalla tabella),z-grid-det-riordina-transito. - z-grid-det-crea-transito: scorre
LODTABDU(st-lodtabdu-notmin+rdnxt-lodtabdu), scartando i record condus-fl-cancvalorizzato; per ciascunoz-grid-det-riempi-t-rec(z-grid-det-riempi-campi-t-gorcopia cod/des/testo/flag nel record di transito). - a-grid-ini / a-grid:
z-grid-det-carica-tab, accept griglia (z-99-accept-grid-det); gestione ESC (test-wesc), mouse (x-test-mouse), SF4 (GRIDADMN), SF5 (export), pop-up (k-pmg-primo/k-pmg-ultimo). - F3: controlla abilitazioni (
w-abi-ins,w-abi-agg); se in aggiornamento valida tutte le righe (x-controlla-grid-det-tutto), chiede conferma e, se confermato, esegueb-aggiornae ricarica; se in modalita' selezione passa in aggiornamento e viceversa (gestione modalita' A/S). - INVIO (modalita' "S"): restituisce
tm-r-cod (i)incogz0a-o-code va afine. - Ctrl-A: nuova riga (bloccata se filtro attivo) via
z-grid-det-nuova-riga. - Ctrl-E: toggle del flag di cancellazione logica sulla riga (
tm-r-fl-agg/tm-r-fl-canc= "C"), bloccato se filtro attivo o utente non abilitato. - b-aggiorna: scorre il transito (
st-t-grid-det-notmin+rdnxt-t-grid-det); per ogni riga non vuota leggeLODTABDU(rd-lodtabdu), scrive il nuovo record se inesistente (wr-lodtabdu), altrimenti riscrive (rwr-lodtabdu) solo se descrizione, testo o flag sono cambiati. - validazioni cella:
x-controlla-tm-r-cod(upper-case + controllo duplicati contando le occorrenze nel transito),x-controlla-tm-r-des(descrizione breve obbligatoria),x-controlla-tm-r-testo(testo obbligatorio),x-controlla-tm-r-fl-canc(allineatm-r-fl-agg). - z-grid-det-be-ep: right-click apre il menu pop-up (
W$MENU); blocca la modifica delle righe marcate cancellate;z-grid-det-cod-be-epblocca la modifica del codice sulle righe gia' esistenti (tm-r-cod-pvalorizzato). - fine / z-chiudi:
z-close-files, chiude ed elimina il transitot-grid-det, distrugge il menu pop-up,exit program.
Configurazioni (RNEWCONF)¶
Il codice di configurazione (x99-confi, pacchetto "C") e' presente ma commentato/non attivo: util-ncnf viene solo inizializzato. Nessuna chiave RNEWCONF letta in produzione.
CALL¶
| Programma | Scopo |
|---|---|
GRIDADMN |
Preparazione/gestione griglia (SF4, prepara, add/modify record) |
W$MENU |
Apertura menu pop-up da right-click sulla griglia |
Note¶
- Codice della destinazione d'uso normalizzato in maiuscolo (
function upper-case) e controllo di unicita' effettuato contando le occorrenze nel file di transito (segnala "codice destinazione d'uso gia' presente"). - Cancellazione logica: Ctrl-E imposta il flag
dus-fl-canc; i record cancellati non vengono ricaricati nel transito alla riapertura. - Import/export filtri predefiniti (
imppredf) predisposto ma la parte interattiva Ctrl-S/Ctrl-F e' commentata; resta attivo solo il caricamento del filtro di default all'avvio. - Export Excel della griglia disponibile via SF5 (
z-esporta-grid-det). dus-codin tabella e'pic x(10)mentre in griglia/output il codice restituito e'pic x(08)(cogz0a-o-cod).