COGT34 - Operatori utenti WEB¶
Sorgente: cbl/cogt34.cbl | Tipo: Programma interattivo GUI con griglia editabile in linea | Program-ID: COGT34
Menu:
- Sistema > Configurazione > Menu/Operatori (voce "Operatori utenti WEB")
Scopo¶
Gestisce l'anagrafica degli utenti che accedono via WEB alle applicazioni collegate al gestionale (tabella PRNTLOGN, record lgi-*). Ogni utente WEB e' identificato da un codice di login (lgi-cod) e porta con se' le informazioni di autenticazione e di collegamento verso il gestionale: nome, postazione, tipo (interno/esterno), operatore gestionale abbinato, riferimento anagrafico (cliente/fornitore) per gli utenti esterni, tecnico per gli interni, password, ruolo (normale/amministratore) e gruppo merceologico.
E' quindi il ponte tra le credenziali usate nelle applicazioni WEB e i codici anagrafici interni del gestionale.
A differenza di COGT20, la manutenzione avviene interamente nella griglia (e-tm-tab): ogni cella e' editabile in linea, senza frame di dettaglio separato.
Struttura del programma¶
Il programma segue il pattern delle maschere Eurocoge a griglia editabile in linea (gestita via GRIDADMN): la tabella interna e i campi modificabili sono definiti nel copybook di Screens cogt34.wrk, con al massimo k-max-ele-tab = 500 righe. Ogni riga della griglia corrisponde a un record PRNTLOGN; l'aggiornamento riflette le righe modificate sul file tramite il confronto tra codice corrente e codice precedente (tm-cod/tm-cod-prec).
Inizializzazione (apri)¶
ctr-abil, z-99-init-program, open-files, rd-azi. Abilita i tasti funzione (invio, F3 aggiorna, F8 aiuto, Shift-F4 griglia, Ctrl-A aggiungi, Ctrl-E elimina), imposta titolo "Operatori Utenti WEB", prepara la griglia (z-prepara-tm-grid) e costruisce i controlli.
Caricamento (a4 / a10-loop)¶
Scandisce PRNTLOGN dall'inizio (st-prntlogn-notmin + rdnxt-prntlogn) e riempie la griglia. Per ogni utente carica i dati descrittivi collegati: operatore gestionale (rd-prntoper -> ptop-des), postazione (rd-prntpost -> ptpo-des), tecnico se interno (rd-cogrifer su chiave w-tcn di tipo "C"), anagrafica cliente/fornitore se esterno (rd-coggeana -> ana-nome), gruppo merceologico (read-gru-mer-sub-i, descrizione da COGTABEL tipo "AA"). Password e ruolo sono copiati direttamente dal record.
Gestione griglia (a-grid / a-accept-grid)¶
Accetta l'editing in linea delle celle. F3 valida tutte le righe (x-controlla-tm-tab-tutto) e salva (a1-aggiorna -> b-aggiorna). Ctrl-A aggiunge una riga (z-aggiungi-riga-tm-tab), Ctrl-E la elimina previa conferma. Shift-F4 apre la personalizzazione griglia (GRIDADMN). L'help F8 e' contestuale alla colonna corrente (operatore, postazione, tecnico, gruppo merceologico).
Salvataggio (b-aggiorna e sotto-paragrafi)¶
Scorre tutte le righe e, in base al confronto tm-cod/tm-cod-prec, decide l'operazione su PRNTLOGN:
tm-cod-precvalorizzato etm-coda spazi -> cancella (b3-cancella->del-prntlogn);tm-cod = tm-cod-prec-> modifica (b2-modifica->rwr-prntlogn);tm-cod-preca spazi -> inserisce (b1-inserisci, conwr-/rwr-prntlogne conferma di sovrascrittura se il codice esiste gia');- codice cambiato -> cancella il vecchio e inserisce il nuovo.
In inserimento/modifica i campi anagrafici (lgi-ana-tip/lgi-ana-cod) sono valorizzati solo per gli utenti esterni (lgi-tip = "E"), mentre il tecnico (lgi-tecnico) solo per gli interni (lgi-tip = "I"). Il ruolo mnemonico di griglia ('A'/'N') e' tradotto in lgi-ruolo "AMM"/"NOR".
Controlli di campo (x-controlla-tm-*)¶
Ogni colonna ha una routine di validazione: descrizione obbligatoria, operatore obbligatorio ed esistente (rd-prntoper), postazione esistente (rd-prntpost), tecnico esistente (rd-cogrifer), coerenza tipo/anagrafica (cliente o fornitore obbligatorio/inesistente per esterni, deve essere zero per interni), ruolo ammesso ('N'/'A'), gruppo merceologico (non validato con tabella, solo descrizione). Le routine z-tm-tab-*-be-ep gestiscono i default e l'abilitazione condizionata delle celle a seconda del tipo utente (per gli interni si disabilitano le colonne anagrafiche, per gli esterni la colonna tecnico).
Tabelle e file¶
| File logico | Chiave / accesso | Descrizione |
|---|---|---|
| FEURTAB | - | Tabella di sistema (aperta via cogfiles.cpy) |
| PRNTLOGN | primaria lgi-chia1 (lgi-cod) |
Utenti WEB: login, nome, postazione, tipo I/E, operatore, tipo/codice anagrafico, password, ruolo, tecnico, gruppo merceologico, dati di sessione |
| PRNTOPER | ptop-cod (lettura) |
Descrizione operatore gestionale abbinato |
| PRNTPOST | ptpo-cod (lettura) |
Descrizione postazione abbinata all'utente |
| COGRIFER | rif-chia1 = w-tcn (lettura) |
Nome del tecnico collegato (utenti interni) |
| COGGEANA | ana-tipo/ana-cod (lettura) |
Ragione sociale cliente/fornitore (utenti esterni) |
| COGTABEL | euta-tipo-x = "AA" (lettura) |
Descrizione gruppo merceologico |
COPY incluse¶
File Section¶
feurtab.fd, cogt34.select, cogt34.fd, cogfiles.cpy
Working-Storage¶
cogt34.wrk, wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, utilcogn38.cpy, utils52.cpy, utils65.cpy, utilu20.cpy, cogazien.cpy, wgrid.cpy, utilgdad.cpy, utilgrp011.cpy, utilwp04.cpy, utilt27.cpy, utilg67.cpy
Linkage¶
wcont.cpy, utilg32.cpy, wcont1.cpy
Procedure Division¶
cogt34.decla, cogt34-01.scr (screen), grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, sendwp04.cpy, cogt34.prc
Le routine di I/O su PRNTLOGN (st-, rdnxt-, rd-, wr-, rwr-, del-prntlogn) e sulle tabelle lette sono incluse tramite la catena di COPY generata (.k01).
CALL a sottoprogrammi¶
| Programma | Scopo |
|---|---|
| GRIDADMN | Gestione griglia (Prepara, Add/Modify record) e personalizzazione colonne (Shift-F4) |
| COGT27 | Help/selezione postazione (F8 sulla colonna postazione) |
| COGG67 | Help/selezione tecnico (F8 sulla colonna tecnico) |
| COGN38 | Help/selezione gruppo merceologico (F8 sulla colonna gruppo) |
| WP04 | Help/selezione operatore (routine send-wp04, F8 sulla colonna operatore) |
I sottoprogrammi Y* di gestione tabella sono generati dallo Screen Designer.
Configurazioni RNEWCONF¶
Il programma non contiene un paragrafo x99-confi e non chiama RNEWCONF: non legge chiavi di configurazione applicative.
Note tecniche¶
- Griglia editabile in linea: a differenza di COGT20, non c'e' frame di dettaglio; tutti i campi si modificano direttamente nelle celle e il salvataggio avviene per confronto
tm-cod/tm-cod-precsu tutta la tabella. - Blocco di selezione disabilitato: il codice per la modalita' "Selezione" (chiamata via CALL con restituzione
cogt34-out-cod) e' presente ma commentato; nell'uso corrente il programma opera solo in aggiornamento da menu (w-dc-calledresta a spazi). - Tipo utente e coerenza dati:
lgi-tip = "I"(interno) usa il campo tecnico e azzera i campi anagrafici;lgi-tip = "E"(esterno) usa tipo/codice anagrafico (cliente/fornitore) e azzera il tecnico. I default sono applicati nelle routinez-tm-tab-*-be-ep. - Gruppo merceologico non validato: per scelta funzionale il gruppo merceologico non viene validato contro
COGTABEL(solo lettura descrizione); il valore"__"rappresenta un gruppo a spazi. - Ruolo: in griglia il ruolo e' 'N'/'A' e viene tradotto in
lgi-ruolo"NOR"/"AMM" alla scrittura.