Vai al contenuto

COSO14 - Gestione Postazioni di Lavoro e Zone

Scopo

Gestione del legame tra postazioni di lavoro (PRNTPOST) e zone territoriali. Per ogni postazione, oltre al codice e alla descrizione presenti in PRNTPOST, viene memorizzato in COGTABEL (chiave "AH") il codice della zona di appartenenza. Il programma presenta una griglia con codice, descrizione, codice e descrizione zona, e supporta inserimento, modifica, cancellazione e selezione (quando richiamato da altri programmi tramite util-o14).

Contabilita' > Unione soci/clienti > Archivi & Tabelle > Tabelle > Legame Postazione\Zona

File e tabelle

File Tipo Descrizione
FEURTAB Parametri File parametri di ambiente
COGTABEL (EUTA) I-O Tabella generica; usata con euta-tipo-x = "AH" per il legame postazione-zona e con euta-tipo = 06, euta-codso1 = 90 per l'anagrafica zone
PRNTPOST I-O Anagrafica postazioni di lavoro

Copybook

File e select

  • feurtab.fd, coso14.select — SELECT dei file
  • coso14.fd — FD specifici del programma
  • coso14.wrk — working-storage generata da Screens

Working-storage standard

  • wstato.cpy, wgrave.cpy, wgrid.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy
  • utilgdad.cpy — utility GRIDADMN
  • utilo30.cpy — utility chiamata COSO30 (selezione codici tabella)

Linkage

  • wcont.cpy, wcont1.cpy — stringhe di comunicazione
  • utilo14.cpy — user-area per il richiamo del programma da altri moduli (o14-caller, o14-called, o14-out-cod, o14-out-des)

Screen

  • coso14-01.scr — screen section della maschera GUI con griglia e frame dettaglio

Procedure

  • coso14.decla — declaratives
  • coso14.prc — procedure di I/O su PRNTPOST e COGTABEL (rd-, wr-, rwr-, del-, start)
  • stato1.cpy, stato.cpy, winmsg.cpy, grave.cpy, opengen.cpy, mmmask.cpy
  • utilgrid.cpy — utility griglia

CALL

Programma Descrizione
GRIDADMN Gestione griglia (preparazione, add/modify-record, svuota, amministrazione su F4)
COSO30 Ricerca/selezione codice zona (richiamata con o30-in-tip = 06, o30-in-cod = 90)

Logica di elaborazione

  1. Inizializzazione (apri): apre i file, legge l'azienda, prepara la griglia con GRIDADMN "Prepara". Imposta i tasti funzione e legge il flag chiamante: se o14-called = k-program-id e o14-caller valorizzato, attiva la modalita' "selezione" (w-dc-called = "S").
  2. Caricamento tabella (a10 / a10-loop): cicla con st-prntpost-notmin + rdnxt-prntpost su PRNTPOST. Per ogni postazione legge da COGTABEL il record euta-tipo-x = "AH", euta-cod = ptpo-cod ottenendo il codice zona (euta-ah-zon-cod); poi rilegge COGTABEL per la descrizione della zona (euta-tipo = 06, euta-codso1 = 90, euta-codso2 = codice-zona).
  3. Costruzione griglia (z-costruisci-grid): popola la griglia tramite GRIDADMN "Add-Record" per ogni elemento di tab-maschera.
  4. Ciclo principale (a-grid / a-accept-grid): attende input utente sulla griglia
  5. Invio/doppio clic: entra in modifica riga (a-riga-dettaglio)
  6. F3: alterna fra modalita' "Aggiornamento" e "Selezione" (se richiamato)
  7. Shift+F4: amministrazione griglia
  8. Ctrl+A: aggiunge una nuova riga
  9. Ctrl+E: elimina la riga selezionata (con conferma)
  10. Esc: chiude il programma
  11. Dettaglio riga (a-riga-dettaglio / a-tm-cod / a-tm-des / a-tm-zona-cod): sequenza di accept sui campi codice, descrizione e zona. Su F8 nella zona richiama COSO30.
  12. Validazione dettaglio (x-controlla-dettaglio): codice obbligatorio e univoco, descrizione obbligatoria, zona obbligatoria ed esistente in COGTABEL.
  13. Salvataggio (a-fine-dettaglio): aggiorna la griglia con GRIDADMN "Add-Record"/"Modify-Record". Scrive/aggiorna PRNTPOST e poi COGTABEL "AH" (prima wr-cogtabel; se gia' esistente rwr-cogtabel).
  14. Cancellazione (c-cancella): elimina il record PRNTPOST.
  15. Selezione (modalita' "S"): all'Invio restituisce tm-cod (i) e tm-des (i) in o14-out-cod / o14-out-des e termina.

Struttura dati in memoria

tab-maschera:
  tm-pnt           - numero elementi caricati
  tm-righe (occurs 900):
    tm-cod         - codice postazione (PIC X(08))
    tm-des         - descrizione (PIC X(40))
    tm-zona-cod    - codice zona (PIC 9(03))
    tm-zona-des    - descrizione zona (PIC X(40))

Chiavi tabelle

  • PRNTPOST: chiave su ptpo-cod
  • COGTABEL "AH": euta-tipo-x = "AH", euta-cod = codice-postazione
  • COGTABEL zone: euta-tipo = 06, euta-codr = 0, euta-codso1 = 90, euta-codso2 = codice-zona

Note tecniche

  • Programma in stile GUI moderno (AcuCOBOL) con griglia GRIDADMN; usa pattern e copybook standard del progetto.
  • Linkage util-o14 consente il riuso del programma in modalita' "selezione" da altri moduli: in quel caso vengono attivati f3-selezione e f3-modifica, e l'Invio restituisce la postazione selezionata.
  • Il legame postazione-zona e' memorizzato in COGTABEL tipo "AH" (campo euta-ah-zon-cod), non in PRNTPOST: la postazione resta condivisa fra moduli mentre il legame e' specifico dell'Unione Soci.
  • La griglia e' ridimensionabile (gestione ntf-resized); dimensione massima 900 elementi (k-max-ele-tab).
  • Usa estensivamente GO TO e PERFORM ... THRU (codice legacy pre-convenzioni).