COGL16 - Gestione Presidi Sanitari¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGL16 |
| Titolo | Gestione classe e n.registrazione (presidi sanitari su merci) |
| Posizione menu | Magazzino > Uscite > Presidi Sanitari > Gestione Presidi Sanitari |
Scopo e logica generale¶
COGL16 e' un programma interattivo per la gestione CRUD dei dati di classificazione presidi sanitari associati alle merci. Usa una maschera Screen Designer con accept campo per campo. Supporta inserimento, variazione e cancellazione di record COGANPAR con anpa-tipo = 'M' (tipo merce).
I dati gestiti comprendono: classe (1-5), numero registrazione, classificazioni ADR/TO/TOX/GI, numero ONU, descrizione e fino a 5 principi attivi (con ricerca su archivio COGPRIAT).
Il programma verifica all'avvio che la gestione presidi sia attivata (az-ges-ant = 'S').
Flusso principale¶
- Inizializzazione (
apri): controllo abilitazione, init program, carica lingua, lettura azienda, apertura file, configurazione tasti funzione, verificaaz-ges-ant = 'S', preparazione selezione merce tramite COGS68 - Accept parametri:
a-tm-merce: selezione merce tramite COGS68 (s68-ope = ricerca merce con gruppo/sottogruppo/codice)a-tm-class..a-tm-desc: accept campi classificazione (classe, n.registrazione, TO, TOX, ADR, GI, N.ONU, descrizione)a-tm-pri1..a-tm-pri5+ relativea-tm-priN-des: accept 5 principi attivi per codice o descrizione. F8 chiama COGL40 per ricerca. Se il codice e' zero ma la descrizione e' valorizzata, cerca il principio attivo per descrizione tramite COGL40- Conferma (
a-richiesta-conferma): validazione globale, acc-conf: - Inserimento: WRITE su COGANPAR
- Variazione + cancellazione: DELETE su COGANPAR
- Variazione senza cancellazione: REWRITE su COGANPAR
- Chiusura (
fine): close file, close window, exit program
File e tabelle acceduti¶
| File logico | Record | Modalita' | Uso |
|---|---|---|---|
| COGANPAR | anpa-rec | I-O | Anagrafica presidi sanitari (chiave: tipo + merce) |
| COGMERCI | mer-rec | Input | Anagrafica merci - validazione codice merce |
| COGPRIAT | pri-rec | Input | Archivio principi attivi - validazione e lookup descrizione |
| FEURTAB | feurtab | Input | Tabella generale Eurosystem |
Copybook inclusi¶
Screen Designer¶
| Copybook | Contenuto |
|---|---|
cogl16-01.scr |
Maschera principale (screen section) |
cogl16.select |
SELECT dei file |
cogl16.fd |
FD dei file |
cogl16.wrk |
Working storage maschera |
cogl16.decla |
Declaratives |
cogl16.prc |
Procedure generate da Screen Designer |
Working e utility¶
| Copybook | Contenuto |
|---|---|
wstato.cpy / wopenf.cpy / wgrave.cpy / wnscr.cpy |
Working storage comuni |
cogazien.cpy |
Dati azienda |
k-u10.cpy |
Costanti COGU10 |
utilu10.cpy |
Interfaccia COGU10 |
utils68.cpy |
Interfaccia COGS68 (selezione merce) |
utilg40.cpy |
Interfaccia COGL40 (ricerca principi attivi) |
grave.cpy / mmmask.cpy / opengen.cpy / stato.cpy / stato1.cpy / winmsg.cpy |
Standard fine procedure |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| COGS68 | Selezione merce da anagrafica (gruppo/sottogruppo/codice/descrizione) |
| COGL40 | Ricerca principi attivi (F8 sui campi principio attivo, o ricerca per descrizione) |
Logica di business¶
Determinazione modalita'¶
Dopo l'accept della merce, legge COGANPAR con chiave tipo = 'M', mer = tm-merce:
- Se trovato: flag-ins-var = 'V' (variazione), dati caricati in maschera
- Se non trovato: flag-ins-var = 'I' (inserimento)
Validazione classe¶
La classe deve essere un valore da 1 a 5 (tm-class < 1 or > 5 -> errore).
Gestione principi attivi¶
Per ciascuno dei 5 campi principio attivo:
- Se digitato un codice (tm-priN <> 0): lookup su COGPRIAT (pri-cod = tm-priN), caricamento descrizione
- Se digitata una descrizione senza codice: chiamata COGL40 con g40-in-des = tm-priN-des per ricerca per descrizione. COGL40 restituisce codice e descrizione
- F8: chiamata COGL40 con g40-in-des = spaces per ricerca libera
Record COGANPAR¶
Il record viene scritto con:
- anpa-tipo = 'M' (merce)
- anpa-mer = tm-merce
- Campi: class, reg, to, tox, adr, gi, n-onu, desc, pri(1..5)
Variabili di stato principali¶
| Variabile | Descrizione |
|---|---|
flag-ins-var |
'I' = inserimento, 'V' = variazione |
flag-cancellazione |
'S' = cancellazione richiesta |
tab-maschera |
Struttura campi maschera (tm-merce, tm-class, tm-reg, tm-pri1..5, ...) |
w-siz-merce |
Dimensione campo merce in display: 42 |