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.k01wstato.cpy,wopenf.cpy,wgrave.cpy,wnscr.cpy,cogazien.cpyutilbrws.cpy,utils54.cpy,utilf61.cpy,utilpost.cpywcont.cpy,wcont1.cpy,utilwl41.cpystato.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¶
- screen-0: open files, lettura azienda, init posizione/dimensioni finestra (48x16).
- Pulisce
wl41-in-strda_(sostituiti con spazi) e lo usa comepri-descper START sucogpriatchiave 2. - src-next in loop fino a riempire la tabella interna (
tab-clienti10 elementi) o EOF. - s1-40: visualizza la tabella e attende input.
- s1-45: accept caratteri di controllo:
su(freccia su): scorre indietro nella tabella, eventualmente PgUp se a inizio paginagiu(freccia giu): scorre avanti nella tabella, eventualmente PgDn se a fine paginapg-dwn:rst-nextdaw-b-key(ultima descrizione caricata)pg-up:rst-previousdaw-t-key(prima descrizione caricata)invio: ritornatcl-cod(i)suwl41-outwesc: ritorna 0- 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 controlctr-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