Vai al contenuto

COGT40 - Configurazione tipologie di segnalazione

Sorgente: cbl/cogt40.cbl | Tipo: Programma interattivo GUI con griglia | Program-ID: COGT40

Menu:

  • Sistema > Configurazione > Segnalazioni

Scopo

Gestisce la configurazione delle tipologie di segnalazione del sistema di avvisi/notifiche (tabella COGSGTIP). Le tipologie sono divise in due categorie:

  • Avvisi (categoria A): situazioni monitorate a soglia temporale (ritardi su arrivi da fornitore, conferme ordine, restituzioni c/visione, articoli in sottoscorta, commesse non fatturate, ecc.);
  • Notifiche (categoria N): eventi che generano una comunicazione verso un destinatario (richieste di riordino/prelevamento su commessa, modifiche a commessa di produzione, inserimento/variazione ordini, cancellazione DDT, ecc.).

L'elenco delle tipologie e' fisso e cablato nel programma (paragrafo carica-griglia): l'operatore non aggiunge o cancella righe, ma per ciascuna tipologia predefinita configura se e' attiva, le soglie in giorni, l'operatore amministratore e i flag di comportamento. Alla configurazione dei destinatari di ogni tipologia provvede il programma collegato COGT41 (categoria/codice passati in util-cogt41), richiamato sia con il tasto F2 dalla griglia sia automaticamente all'ingresso in modifica di una riga.


Struttura del programma

Struttura a griglia (e-tm-tab, gestita via GRIDADMN) con frame di dettaglio. La tabella interna tab-maschera (max k-max-ele-tab = 900, di fatto k-max-tipologie = 20 righe usate) rispecchia i record COGSGTIP. Ogni elemento tm-ele porta categoria (tm-r-cat), codice (tm-r-cod), descrizione (tm-r-des), flag attiva (tm-r-fl-attiva), le due soglie (tm-r-soglia-1, tm-r-soglia-2), operatore amministratore (tm-r-ope-amm + descrizione), e i flag tm-r-fl-ric-ope, tm-r-fl-risp, tm-r-fl-allarme.

Inizializzazione (apri)

z-99-init-program, ctr-abil, rd-azi, open-files. Predispone i tasti funzione (invio-modifica, F8 aiuto, F3 conferma, Shift-F4 griglia) e crea il pulsante custom "Destinatari attivita' (F2)" (load-bitmap-custom / x-display-push-button-custom, bitmap clipot). Imposta il titolo maschera, prepara controlli (z-costruisci-controlli) e griglia (z-prepara-tm-grid).

Caricamento (a4 / carica-griglia)

carica-griglia costruisce le 20 righe fisse (14 avvisi A/A..A/N, 7 notifiche N/A..N/G) con categoria, codice e descrizione cablati. Poi, per ciascuna riga, legge COGSGTIP (rd-cogsgtip): se il record esiste ne carica i valori di configurazione (attiva, soglie, operatore, flag) e la descrizione operatore da PRNTOPER (rd-prntoper); altrimenti imposta i flag a N. Costruisce infine la griglia (z-costruisci-grid).

Griglia (a-grid / a-accept-grid)

L'invio su una riga apre la modifica (go to a-riga-dettaglio), previa verifica di w-abi-agg. F2 richiama COGT41 per la gestione dei destinatari della tipologia selezionata. Shift-F4 apre la personalizzazione colonne (GRIDADMN).

Riga di dettaglio (a-riga-dettaglio ... a-fine-dettaglio)

Legge in lock COGSGTIP (rd-cogsgtip-lk), forza a N i flag non S, mostra il frame di dettaglio e accetta in sequenza i campi con navigazione F2 (indietro)/F3 (conferma): attiva (a-tm-r-fl-attiva, check via S95), soglia 1 e soglia 2 (a-tm-r-soglia-1/2), operatore amministratore (a-tm-r-ope-amm, con F8 che richiama COGT20 per l'help operatori), e i flag richiesta operatore / risposta / allarme (a-tm-r-fl-ric-ope, a-tm-r-fl-risp, a-tm-r-fl-allarme, check via S95). I campi soglie e flag notifica sono abilitati/disabilitati dinamicamente (x-enabled-*).

Conferma e scrittura (a-fine-dettaglio)

Richiama COGT41 (destinatari), esegue i controlli (x-controlla-dettaglio), chiede conferma, quindi valorizza sgt-rec dai campi di riga e scrive COGSGTIP (wr-cogsgtip, con fallback rwr-cogsgtip). Aggiorna la riga in griglia via GRIDADMN (Modify-Record) e torna alla griglia. a-riga-dettaglio-wesc ripristina il record originale (tm-ele-sav) in caso di annullamento.

Chiusura (fine / z-chiudi)

z-close-files, chiusura window, z-99-exit-program.


Controlli specifici

  • x-controlla-tm-r-soglia-2: per gli avvisi attivi (tm-r-cat = "A") impone almeno una soglia valorizzata e verifica la congruenza (soglia 2 non inferiore a soglia 1).
  • x-controlla-tm-r-ope-amm: verifica l'esistenza dell'operatore su PRNTOPER e ne carica la descrizione.
  • x-controlla-desti: per una tipologia attiva verifica che esista almeno un destinatario su COGSGDST (scansione st-cogsgdst-notmin + rdnxt-cogsgdst sulla chiave categoria/codice), altrimenti blocca la conferma.

Tabelle e file

File logico Chiave / accesso Descrizione
FEURTAB - Tabella di sistema (aperta via cogfiles.cpy)
COGSGTIP primaria sgt-chia1 (sgt-cat + sgt-cod); accesso dinamico Configurazione tipologie segnalazione: flag attiva, soglie 1/2, operatore amministratore, flag richiesta operatore / risposta / allarme
COGSGDST primaria sgd-chia1 (sgd-cat, sgd-cod, sgd-liv, ...); secondaria sgd-chia2 Destinatari delle tipologie di segnalazione; usato in sola lettura per verificare la presenza di almeno un destinatario
PRNTOPER ptop-cod Anagrafica operatori: lettura descrizione (ptop-des) dell'operatore amministratore

COPY incluse

Working-Storage

cogt40.wrk, wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy, wgrid.cpy, utilgdad.cpy, utilt20.cpy, utilcogt41.cpy

File section

cogt40.fd (con cogt40.select), cogfiles.cpy

Linkage

wcont.cpy, wcont1.cpy

Procedure Division

cogt40.decla, cogt40-01.scr (screen), grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, utilgrid.cpy, cogt40.prc

Le routine di I/O su COGSGTIP, COGSGDST, PRNTOPER (st-, rdnxt-, rd-, wr-, rwr-) sono incluse tramite la catena di COPY generata. I gestori tabella Y* (generati dallo Screen Designer) forniscono l'accesso indicizzato.


CALL a sottoprogrammi

Programma Scopo
GRIDADMN Gestione griglia (Prepara, Svuota-Tutto, Add-Record, Modify-Record) e personalizzazione colonne (Shift-F4)
COGT41 Gestione dei destinatari della tipologia di segnalazione selezionata (F2 in griglia e ingresso in modifica), passando categoria/codice/descrizione in util-cogt41
COGT20 Help/selezione operatore amministratore (F8 sul campo operatore), restituisce t20-out-cod

Configurazioni RNEWCONF

Il programma non contiene un paragrafo x99-confi e non legge chiavi RNEWCONF.


Note tecniche

  • Tipologie cablate: l'insieme delle 20 tipologie (categoria + codice + descrizione) e' fisso nel codice (carica-griglia); COGSGTIP memorizza solo i parametri di configurazione, non l'esistenza della tipologia. L'inserimento di nuove tipologie richiede intervento sul sorgente. I codici sono documentati in costanti-sgn.cpy (citato nei commenti di cogsgtip.cpy).
  • Solo modifica: la funzione consente unicamente la modifica delle righe predefinite (nessun Ctrl-A/Ctrl-E); l'ingresso in dettaglio e' sempre in operazione "M".
  • Soglie e flag notifica: soglia 1/soglia 2 (giorni) attivano i due livelli di segnalazione; i flag ric-ope, risp, allarme hanno significato solo per le notifiche (vedi cogsgtip.cpy).
  • Vincolo destinatari: una tipologia attiva non e' confermabile senza almeno un destinatario configurato in COGSGDST tramite COGT41.