Vai al contenuto

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

  1. Inizializzazione (apri): controllo abilitazione, init program, carica lingua, lettura azienda, apertura file, configurazione tasti funzione, verifica az-ges-ant = 'S', preparazione selezione merce tramite COGS68
  2. Accept parametri:
  3. a-tm-merce: selezione merce tramite COGS68 (s68-ope = ricerca merce con gruppo/sottogruppo/codice)
  4. a-tm-class .. a-tm-desc: accept campi classificazione (classe, n.registrazione, TO, TOX, ADR, GI, N.ONU, descrizione)
  5. a-tm-pri1 .. a-tm-pri5 + relative a-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
  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 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