Vai al contenuto

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-prec valorizzato e tm-cod a spazi -> cancella (b3-cancella -> del-prntlogn);
  • tm-cod = tm-cod-prec -> modifica (b2-modifica -> rwr-prntlogn);
  • tm-cod-prec a spazi -> inserisce (b1-inserisci, con wr-/rwr-prntlogn e 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-prec su 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-called resta 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 routine z-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.