Vai al contenuto

COGT27 - Postazioni di lavoro

Sorgente: cbl/cogt27.cbl | Tipo: Programma interattivo GUI con griglia (gestione anagrafica) | Program-ID: COGT27

Menu:

  • Sistema > Configurazione > Stampanti

Scopo

Gestisce l'anagrafica delle postazioni di lavoro (PRNTPOST). Una postazione identifica una collocazione fisica/logica di lavoro e definisce alcune preferenze applicate quando un operatore vi si collega: operatore preferenziale, magazzino preferenziale, azienda in uso e nome utente da usare nella connessione al database.

La postazione e' l'entita' a cui COGT25 associa le periferiche abilitate; le postazioni gestite qui sono quindi la base dell'attribuzione periferiche del sottosistema stampa.

Il programma puo' operare come funzione autonoma da menu oppure essere richiamato in modalita' selezione (linkage util-t27: t27-called = k-program-id e t27-caller valorizzato): in tal caso la griglia consente di scegliere una postazione e restituirla al chiamante in t27-out-cod / t27-out-des.


Struttura del programma

Pattern standard a due livelli: griglia di elenco (a-grid) piu' riga di dettaglio (a-riga-dettaglio), con GRIDADMN.

Inizializzazione (apri)

ctr-abil, z-99-init-program, open-files, rd-azi; determinazione della modalita' richiamata (w-dc-called = "S" se t27-called = k-program-id e t27-caller non vuoto) e della modalita' operativa (a-modalita = "S" selezione se richiamato, altrimenti "A" aggiornamento). Abilita i tasti (Invio, Invio-modifica, F3 conferma, F8 aiuto, Shift-F4 griglia, Ctrl-A, Ctrl-E), carica lingua/titolo, prepara griglia e controlli.

Caricamento elenco (a10)

Scansione completa di PRNTPOST dall'inizio (st-prntpost-notmin + rdnxt-prntpost), fino a fine file. Ogni postazione riempie una riga di tm-tab con: codice (ptpo-cod), descrizione (ptpo-des), operatore preferenziale (ptpo-ope), magazzino preferenziale (ptpo-mag), azienda (ptpo-azi), utente database (ptpo-db-user). Max 900 righe (k-max-ele-tab).

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

Costruzione griglia e navigazione GRIDADMN. Da qui:

  • F3 commuta Aggiornamento/Selezione;
  • Invio in Aggiornamento apre il dettaglio in modifica; in Selezione restituisce codice+descrizione al chiamante (t27-out-cod/t27-out-des) e termina;
  • Ctrl-A apre il dettaglio in inserimento;
  • Ctrl-E elimina previa conferma (c1-ctrl-canc, c-cancella).

Riga di dettaglio (a-riga-dettaglio e campi)

Accept in sequenza:

  • a-tm-cod (codice postazione, editabile solo in inserimento): validazione x-controlla-tm-cod (obbligatorio; in inserimento non deve gia' esistere in PRNTPOST);
  • a-tm-des (descrizione): x-controlla-tm-des (obbligatoria);
  • a-tm-ope (operatore preferenziale): F8 = help operatori COGT20; x-controlla-tm-ope verifica l'esistenza in PRNTOPER (se diverso da 0);
  • a-tm-mag (magazzino preferenziale): F8 = ricerca magazzini via send-w36 (W36); x-controlla-tm-mag verifica l'esistenza in COGMAGAZ (magz-tipo = "M" + magz-cod);
  • a-tm-azi (azienda in uso): F8 = help aziende WIN163; x-controlla-tm-azi verifica l'esistenza in COGAZIEN e riporta l'intestazione az-int, ripristinando poi l'azienda corrente con rd-azi;
  • a-tm-user-dbase (utente database): x-controlla-tm-user-dbase (nessun controllo di merito).

Conferma / salvataggio (a-riga-dettaglio-fine)

x-imposta-conferma valida tutti i campi; con F3 aggiorna la griglia via GRIDADMN e scrive PRNTPOST con codice, descrizione, operatore, magazzino, azienda e utente database, tramite wr-prntpost (inserimento) o rwr-prntpost (modifica). Il rd-prntpost-lk precedente riallinea "I"/"M".

Chiusura (fine / z-chiudi)

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


Tabelle e file

File logico Chiave / accesso Descrizione
FEURTAB - Tabella di sistema
PRNTPOST primaria ptpo-chia1 (ptpo-cod) Anagrafica postazioni di lavoro (descrizione, operatore/magazzino/azienda preferenziali, utente database)
PRNTOPER ptop-cod Anagrafica operatori (validazione operatore preferenziale)
COGMAGAZ magz-tipo ("M") + magz-cod Anagrafica magazzini (validazione magazzino preferenziale)
COGAZIEN az-cod Anagrafica aziende (validazione azienda, intestazione az-int)

COPY incluse

Working-Storage

cogt27.wrk, utilt20.cpy, utilw36.cpy, utilw163.cpy, wstato.cpy, wgrave.cpy, wgrid.cpy, wopenf.cpy, wnscr.cpy, utilgdad.cpy

Linkage

wcont.cpy, wcont1.cpy, utilt27.cpy

Procedure Division

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


CALL a sottoprogrammi

Programma Scopo
COGT20 Help / selezione operatore (F8 su operatore preferenziale)
WIN163 Help / selezione azienda (F8 su azienda in uso)
GRIDADMN Gestione griglia (Prepara, Svuota-Tutto, Add-Record, Modify-Record)
W36 (via send-w36 / sendw36.cpy) Ricerca magazzini (F8 su magazzino preferenziale)

I gestori delle tabelle indicizzate (st-prntpost-notmin, rdnxt-prntpost, rd-prntpost-lk, wr-prntpost, rwr-prntpost, del-prntpost, rd-prntoper, rd-cogmagaz, rd-cogazien) sono i gestori tabella generati (Y*), richiamati via PERFORM tramite le COPY di procedura.


Configurazioni RNEWCONF

Il programma non legge configurazioni RNEWCONF: non include utilncnf.cpy e non contiene un paragrafo x99-confi. L'anagrafica postazioni e' definita esclusivamente nella tabella PRNTPOST.


Note tecniche

  • Ruolo delle preferenze di postazione (documentate in prntpost.cpy): ptpo-mag e' il magazzino preferenziale che sovrascrive az-main-mag; ptpo-azi e' il codice azienda in uso che popgeazi carica al posto del default az-cod = 1; ptpo-db-user e' il nome utente da usare nella connessione al database.
  • Default azienda in inserimento: se la postazione non ha azienda impostata (tm-azi = 0), all'apertura del dettaglio viene proposta l'azienda corrente (az-cod).
  • Ripristino azienda corrente: la validazione azienda legge un altro record COGAZIEN per l'intestazione, poi richiama rd-azi per riportare corrente il record azienda iniziale.
  • Codice non modificabile in variazione: il campo codice postazione e' abilitato solo in inserimento (x-enabled-tm-cod); in modifica e' bloccato.
  • Coerenza operazione I/M: rd-prntpost-lk prima della scrittura riallinea a-operazione in base alla presenza effettiva del record su PRNTPOST.
  • Modalita' richiamata: se avviato come help (t27-called = k-program-id), la griglia parte in modalita' selezione e l'Invio restituisce la postazione scelta al chiamante (usata ad esempio da COGT25 per selezionare la postazione).
  • Limite griglia: massimo 900 postazioni caricabili (k-max-ele-tab).