Vai al contenuto

COGL41 - Window per Ricerca Principi Attivi via Descrizione

Scopo

Sottoprogramma che apre una finestra a caratteri per la ricerca alfabetica del principio attivo (cogpriat) tramite descrizione. Restituisce al chiamante il codice del principio attivo selezionato. Usato come popup di selezione e collegato dal menu Presidi Sanitari come entry point della stampa "Registro Carico/Scarico per Merce" (la stampa vera e propria viene attivata dal programma chiamante o dal main mensilmente, sulla base del codice selezionato).

Posizioni menu

  • Magazzino > Uscite > Presidi Sanitari > Stampe > Registro Carico/Scarico per Merce

File e Tabelle

File Copybook Utilizzo
FEURTAB cogfiles.cpy Tabella file di sistema
COGPRIAT cogpriat.cpy Anagrafica principi attivi (chiave 2: descrizione)

Copybook

  • cogfiles.cpy, cogpriat.cpy, cogpriat.k01
  • wstato.cpy, wopenf.cpy, wgrave.cpy, wnscr.cpy, cogazien.cpy
  • utilbrws.cpy, utils54.cpy, utilf61.cpy, utilpost.cpy
  • wcont.cpy, wcont1.cpy, utilwl41.cpy
  • stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, open1.cpy, scree.cpy

CALL

Nessuna CALL a sottoprogrammi (e' lui stesso un sottoprogramma chiamato via sendl41.cpy).

Logica di elaborazione

Linkage section

util-wl41 (da utilwl41.cpy): - wl41-v-pos, wl41-h-pos: posizione della finestra - wl41-in-tipo: tipo input - wl41-in-str (30 char): descrizione iniziale (input) - wl41-out (5 cifre): codice principio attivo selezionato (output, 0 se Esc) - wl41-flag: flag (impostato da sendl41.cpy su F9/F10)

Flusso

  1. screen-0: open files, lettura azienda, init posizione/dimensioni finestra (48x16).
  2. Pulisce wl41-in-str da _ (sostituiti con spazi) e lo usa come pri-desc per START su cogpriat chiave 2.
  3. src-next in loop fino a riempire la tabella interna (tab-clienti 10 elementi) o EOF.
  4. s1-40: visualizza la tabella e attende input.
  5. s1-45: accept caratteri di controllo:
  6. su (freccia su): scorre indietro nella tabella, eventualmente PgUp se a inizio pagina
  7. giu (freccia giu): scorre avanti nella tabella, eventualmente PgDn se a fine pagina
  8. pg-dwn: rst-next da w-b-key (ultima descrizione caricata)
  9. pg-up: rst-previous da w-t-key (prima descrizione caricata)
  10. invio: ritorna tcl-cod(i) su wl41-out
  11. wesc: ritorna 0
  12. fine/the-end: close files, exit program.

Strutture dati

  • tab-clienti.tcl-ele(10): cache di 10 elementi (cod + desc)
  • w-t-key, w-b-key (40 char): chiavi top/bottom del blocco caricato per gestione pagina su/giu'
  • screen-1 (16 elementi x 48 char): cornice della finestra a caratteri

Note tecniche

  • Programma a caratteri (NON GUI): usa display window, accept con control ctr-wind, caratteri di cornice nei codici alti (x'c4', x'b3', etc.)
  • Lo stile e' classico: GO TO, PERFORM ... THRU, paragrafi numerati (s1-40, s1-45, src-next, src-previous, rst-next, rst-previous, fill-tab)
  • L'attivazione dal menu come "Registro Carico/Scarico per Merce" indica un uso atipico: il programma di per se' non produce stampa ma restituisce solo il codice del principio attivo. La stampa effettiva avviene per altra via dopo la selezione (probabilmente da un altro programma legato al menu, oppure tramite un main esterno che usa il codice restituito da COGL41)
  • Il programma NON ha modifiche *>DOC: recenti