Vai al contenuto

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

  1. Inizializzazione (apri): controllo abilitazione, init program, carica lingua, lettura azienda, apertura file, configurazione tasti funzione, verifica az-ges-ant = 'S'
  2. Accept parametri:
  3. a-tm-cli: selezione cliente tramite COGS65W
  4. a-tm-prog1: progressivo patentino. Se esiste in COGANPAR -> variazione; altrimenti -> inserimento. Se il cliente ha un magazzino associato (COGMAGAZ), salta progressivo a zero
  5. a-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
  6. Conferma (a-richiesta-conferma): validazione globale, acc-conf:
  7. Inserimento: WRITE su COGANPAR
  8. Variazione + cancellazione: DELETE su COGANPAR
  9. Variazione senza cancellazione: REWRITE su COGANPAR
  10. 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, ...)