Vai al contenuto

COG022 - Sequenze di ricerca merce personalizzate (selezione funzione)

Sorgente: cbl/cog022.cbl | Tipo: Programma interattivo carattere (elenco funzioni scrollabile) | Program-ID: COG022

Menu:

  • Sistema > Configurazione > Sequenze (voce "Nuove ricerche merci")

Scopo

E' il programma di selezione della funzione da personalizzare nel nuovo modello di sequenze di ricerca merce (per operatore/funzione). A differenza di COG020, che gestisce la sequenza sulle funzioni cablate nel sorgente, COG022 legge dinamicamente da COGTABEL l'elenco delle funzioni configurabili (record di tipo 86) e, alla selezione di una voce, richiama COG022S che ne gestisce la sequenza personalizzata.

Presenta un elenco scrollabile con paginazione (funzione, descrizione, lunghezza); se nessuna funzione risulta configurata, offre l'accesso alla configurazione standard (F1).


Struttura del programma

Il programma disegna una maschera carattere (tabella mm-1, 16 righe) e mantiene una finestra scorrevole di al massimo t-size-max = 10 elementi (tm-ele, con tm-prg/tm-len/tm-des), riempita leggendo COGTABEL a blocchi con navigazione in avanti/indietro. La lettura paginata e' pilotata dal copybook fscrol2.cpy.

Inizializzazione (apri / a4)

ctr-abil, open-files, rd-azi, caricamento maschera (rd-msk-all), display titolo e footer.

Caricamento e griglia (c-acc-tab)

Si posiziona all'inizio dei record di tipo 86 (euta-key low-values, euta-tipo = 86) e riempie la prima pagina (rst-not-less). Se n-m = 0 (nessuna funzione configurata) mostra il messaggio "Nessuna funzione configurata!!" con l'opzione F1 per la configurazione standard. Visualizza l'elenco (disp-tab) con la riga corrente in reverse.

I paragrafi rn-start*/rp-start*/sn-read/sp-read (invocati dalle routine di fscrol2.cpy) gestiscono avanti/indietro sul file: rd-controlli-read interrompe la lettura quando euta-tipo non e' piu' 86; rd-controlli-fill/rd1-fill-tab caricano ogni elemento nella finestra (tm-prg = euta-cod, tm-des = euta-prg-des, tm-len = euta-prg-lun-ric-mer). PgUp/PgDn spostano la pagina; su/giu scorrono la riga selezionata.

Selezione (c-10)

  • Invio: copia tm-prg della riga corrente in 022s-prg e chiama COG022S per configurare la sequenza di quella funzione.
  • F1: chiama COG022S con 022s-prg = low-values, aprendo la configurazione standard.
  • ESC: esce.

Tabelle e file

File logico Chiave / accesso Descrizione
FEURTAB - File di sistema aziende (aperto via cogfiles.cpy, rd-azi)
COGTABEL primaria euta-key (euta-tipo + euta-cod); aperto in sola lettura, scansione paginata Tabella generalizzata. Record di tipo 86: funzioni con ricerca merce personalizzabile; euta-cod = codice funzione, euta-prg-des = descrizione, euta-prg-lun-ric-mer = lunghezza accept ricerca

COPY incluse

Working-Storage

feurtab.fd, cogtabel.fd (SELECT), cogfiles.cpy, cogtabel.cpy, wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy, util022s.cpy (area util-022s -> 022s-prg)

Linkage

wcont.cpy, util021.cpy, wcont1.cpy

Procedure Division

stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, open1.cpy, mmmask.cpy, dtab.cpy (routine disp-tab/disp-msk), fscrol2.cpy (motore di scorrimento paginato che invoca i paragrafi rn-start/rp-start/sn-read/sp-read/rd-fill-*), cogtabel.k01


CALL a sottoprogrammi

Programma Scopo
COG022S Configurazione della sequenza di ricerca merce personalizzata per la funzione selezionata; riceve in 022s-prg il codice funzione (low-values = configurazione standard)

Configurazioni RNEWCONF

Il programma non legge chiavi RNEWCONF applicative. Nel sorgente e' presente un paragrafo x99-conf commentato (chiamava COGN20), non attivo.


Note tecniche

  • Elenco dinamico: a differenza di COG020, l'elenco funzioni non e' cablato ma proviene dai record di tipo 86 di COGTABEL, letti a pagine tramite fscrol2.cpy; questo consente di gestire un numero arbitrario di funzioni personalizzabili senza modificare il sorgente.
  • Scorrimento paginato: la finestra di lavoro tab-funzioni/tm-ele contiene al massimo t-size-max = 10 righe per pagina; i flag fl-read (B inizio, E fine) segnalano il raggiungimento degli estremi del file.
  • Configurazione standard: F1 (o l'assenza di funzioni configurate) richiama COG022S con 022s-prg a low-values per impostare la sequenza di default.
  • Il copybook cnfgrice.cpy referenziato nell'FD e' commentato (non incluso).