COGL15 - Gestione Patentini Presidi Sanitari¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGL15 |
| Titolo | Gestione anagrafica patentini presidi sanitari |
| Posizione menu | Magazzino > Uscite > Presidi Sanitari > Gestione Patentini |
Scopo e logica generale¶
COGL15 e' un programma interattivo per la gestione CRUD dei patentini dei presidi sanitari, associati ai clienti. Usa una maschera Screen Designer con accept campo per campo. Supporta inserimento, variazione e cancellazione di record COGANPAR con anpa-tipo = 'C' (tipo cliente).
Il programma verifica all'avvio che la gestione presidi sanitari sia attivata (az-ges-ant = 'S'). In inserimento, precompila i campi dal record COGGEANA del cliente.
Flusso principale¶
- Inizializzazione (
apri): controllo abilitazione, init program, carica lingua, lettura azienda, apertura file, configurazione tasti funzione, verificaaz-ges-ant = 'S' - Accept parametri:
a-tm-cli: selezione cliente tramite COGS65Wa-tm-prog1: progressivo patentino. Se esiste in COGANPAR -> variazione; altrimenti -> inserimento. Se il cliente ha un magazzino associato (COGMAGAZ), salta progressivo a zeroa-tm-nome..a-tm-data: accept campi dettaglio (nome, indirizzo, localita', provincia, CAP, numero patentino, ente rilascio, data). Su provincia F8 chiama COGF09 per ricerca- 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 patentini (chiave: tipo + cod1 + prog1) |
| COGGEANA | ana-rec | Input | Anagrafica generale - lettura dati cliente |
| COGMAGAZ | magz-rec | Input | Magazzini - verifica associazione cliente/magazzino |
| COGTABEL | euta-rec | Input | Tabelle di sistema - validazione provincia (tipo 26) |
| FEURTAB | feurtab | Input | Tabella generale Eurosystem |
Copybook inclusi¶
Screen Designer¶
| Copybook | Contenuto |
|---|---|
cogl15-01.scr |
Maschera principale (screen section) |
cogl15.select |
SELECT dei file |
cogl15.fd |
FD dei file |
cogl15.wrk |
Working storage maschera |
cogl15.decla |
Declaratives |
cogl15.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 |
utils52.cpy |
Interfaccia COGS52 (calendario/data) |
utils65.cpy |
Interfaccia COGS65 (selezione cliente) |
utilu10.cpy |
Interfaccia COGU10 |
utilf09.cpy |
Interfaccia COGF09 (ricerca provincia) |
grave.cpy / mmmask.cpy / opengen.cpy / stato.cpy / stato1.cpy / winmsg.cpy |
Standard fine procedure |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| COGS65W | Selezione cliente da anagrafica (campo tm-cli) |
| COGS52W | Calendario/data picker (campo tm-data) |
| COGF09 | Ricerca provincia (F8 su tm-prov) |
Logica di business¶
Determinazione modalita'¶
Dopo l'accept del progressivo, il programma legge COGANPAR con chiave tipo = 'C', cod1 = tm-cli, prog1 = tm-prog1:
- Se trovato: flag-ins-var = 'V' (variazione), dati caricati in maschera
- Se non trovato: flag-ins-var = 'I' (inserimento), dati cliente precompilati da COGGEANA
Precompilazione da anagrafica¶
In inserimento con progressivo < 2, legge COGGEANA (ana-tipo = 'C', ana-cod = tm-cli) e copia nome, indirizzo, localita', provincia e CAP nella maschera (vis-cli).
Validazione provincia¶
Il campo provincia viene validato sulla tabella COGTABEL tipo 26, codice 'P' + sigla provincia. Se la sigla non esiste, il campo viene marcato in errore.
Ricerca magazzino (search-mag)¶
Cerca in COGMAGAZ se il cliente e' associato a un magazzino (magz-rap-ant = tm-cli). Se si', imposta fl-mag = '*' e salta il progressivo a zero. Questo gestisce il caso di clienti che sono anche magazzini.
Record COGANPAR¶
Il record viene scritto con:
- anpa-tipo = 'C' (cliente)
- anpa-cod1 = tm-cli
- anpa-prog1 = tm-prog1
- Campi: nome, indirizzo, localita', provincia, CAP, npat, ripa, data
Variabili di stato principali¶
| Variabile | Descrizione |
|---|---|
flag-ins-var |
'I' = inserimento, 'V' = variazione |
flag-cancellazione |
'S' = cancellazione richiesta |
fl-mag |
'*' se il cliente e' associato a un magazzino |
tab-maschera |
Struttura campi maschera (tm-cli, tm-prog1, tm-nome, ...) |