Vai al contenuto

COGN08 - Configurazione tipi di ricerca merce

Sorgente: cbl/cogn08.cbl | Tipo: Programma interattivo carattere (maschera di configurazione) | Program-ID: COGN08

Menu:

  • Sistema > Configurazione (voce "Ricerche")

Scopo

Configura quali tipi di ricerca l'applicazione deve rendere disponibili quando l'operatore cerca un articolo o un'anagrafica tramite stringhe. Per ciascun canale di ricerca (codice merce interno, descrizione merce, codice merce fornitore, listini generali per descrizione/codice, codice merce cliente, anagrafiche clienti/fornitori, piano dei conti, centri di costo, clienti potenziali, cespiti, contatti/riferimenti, descrizioni aggiuntive merce) l'utente indica S/N per abilitarlo.

Per i canali abilitati e' inoltre possibile accedere (tasto F1) alla configurazione di dettaglio del singolo tipo di ricerca, gestita dal sottoprogramma COGN10. La configurazione complessiva e' salvata come record di tipo 70 su COGTABEL, con chiave logica RICE/DEFINE, nel campo euta-c008 (copybook cnfgrice.cpy).


Struttura del programma

Il programma apre una finestra (vis-win) con la maschera statica screen-1 (16 righe) e raccoglie i 13 flag S/N in tab-maschera (tm-cm, tm-dm, tm-cmf, tm-lidm, tm-licmf, tm-cmc, tm-ana, tm-pco, tm-cco, tm-cpt, tm-csp, tm-rif, tm-dam). L'input di ogni flag e' gestito dalla subroutine di scelta a opzioni COGS21.

Inizializzazione e lettura configurazione (a000)

ctr-abil, open-files, rd-azi, poi lettura del record di tipo 70 con euta-cfg-arg = 'RICE' / euta-cfg-key = 'DEFINE' (rd-tab). Se il record non esiste, euta-c008 viene inizializzato. I singoli campi euta-c008-* sono trasferiti nei flag tm-* e visualizzati.

Accettazione flag (a-10 ... a-tm-dam)

Sequenza di accept, uno per canale, tramite COGS21 (opzioni SN). Per i canali con configurazione di dettaglio (descrizione merce, codice merce fornitore, listini, codice merce cliente, anagrafiche, piano conti, centri di costo, clienti potenziali, cespiti), se il valore e' S e viene premuto F1 il programma richiama COGN10 passando in n09-prg il codice del tipo di ricerca (es. RICDM, RICCMF, RICLDM, RICLCM, RICCMC, RICANA, RICPCO, RICCCO, RICCPT, RICCSP), poi rilegge la relativa sotto-configurazione (x99-cfg). F2 torna al campo precedente, ESC esce.

Conferma e aggiornamento (a-90)

Al termine chiede conferma (acc-conf); su F3 rilegge il record di tipo 70, aggiorna tutti i campi euta-c008-* con i flag tm-* e scrive/riscrive il record (write ... invalid key rewrite).


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-key-cfg = euta-cfg-arg + euta-cfg-key); aperto in I/O Tabella generalizzata. Record di tipo 70 con chiave RICE/DEFINE: flag di abilitazione dei tipi di ricerca (euta-c008)

COPY incluse

Working-Storage

feurtab.fd, cogtabel.fd (SELECT), cogfiles.cpy, cogtabel.cpy, wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, utils21.cpy, cogazien.cpy (la redefine euta-c008 proviene da cnfgrice.cpy, inclusa nella catena di cogtabel.cpy)

Linkage

wcont.cpy, wcont1.cpy

Procedure Division

cogtabel.k01, stato1.cpy, stato.cpy, winmsg.cpy, grave.cpy, open1.cpy, scree.cpy (routine finestra vis-win/acc-conf), config.cpy


CALL a sottoprogrammi

Programma Scopo
COGS21 Subroutine di scelta a opzioni (S/N) per ogni flag di abilitazione ricerca
COGN10 Configurazione di dettaglio del singolo tipo di ricerca abilitato (F1); riceve il codice tipo ricerca in n09-prg

Configurazioni RNEWCONF

Il programma non usa RNEWCONF: la configurazione e' persistita direttamente su COGTABEL (tipo 70, chiave RICE/DEFINE, campo euta-c008). Il paragrafo x99-src-cfg qui presente e' una lettura di COGTABEL, non una chiamata a RNEWCONF.


Note tecniche

  • Persistenza su COGTABEL: i 13 flag S/N sono impacchettati nella redefine euta-c008 del record di tipo 70; cnfgrice.cpy documenta i primi campi (cm, dm, cmf, lidm, licmf, cmc, ana, pco, cco, cpt, csp, rif), mentre il flag tm-dam (descrizioni aggiuntive merce) e' gestito nel sorgente sul relativo byte del campo descrizione.
  • Sotto-configurazioni: per i canali abilitati la configurazione fine (lunghezze, delimitatori, ecc.) e' delegata a COGN10, richiamato con codici RIC* specifici del canale.
  • Canali senza dettaglio: per contatti/riferimenti (tm-rif) e descrizioni aggiuntive merce (tm-dam) la chiamata a COGN10 e' commentata: la loro configurazione di ricerca coincide con quella delle descrizioni merce.
  • Il copybook cnfgrice.cpy non include il campo dam: il byte corrispondente e' comunque salvato nel campo descrizione del record tipo 70.