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).
Menu¶
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 filecoso14.fd— FD specifici del programmacoso14.wrk— working-storage generata da Screens
Working-storage standard¶
wstato.cpy,wgrave.cpy,wgrid.cpy,wopenf.cpy,wnscr.cpy,cogazien.cpyutilgdad.cpy— utility GRIDADMNutilo30.cpy— utility chiamata COSO30 (selezione codici tabella)
Linkage¶
wcont.cpy,wcont1.cpy— stringhe di comunicazioneutilo14.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— declarativescoso14.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.cpyutilgrid.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¶
- Inizializzazione (
apri): apre i file, legge l'azienda, prepara la griglia con GRIDADMN "Prepara". Imposta i tasti funzione e legge il flag chiamante: seo14-called = k-program-ideo14-callervalorizzato, attiva la modalita' "selezione" (w-dc-called = "S"). - Caricamento tabella (
a10/a10-loop): cicla const-prntpost-notmin+rdnxt-prntpostsu PRNTPOST. Per ogni postazione legge da COGTABEL il recordeuta-tipo-x = "AH", euta-cod = ptpo-codottenendo 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). - Costruzione griglia (
z-costruisci-grid): popola la griglia tramite GRIDADMN "Add-Record" per ogni elemento ditab-maschera. - Ciclo principale (
a-grid/a-accept-grid): attende input utente sulla griglia - Invio/doppio clic: entra in modifica riga (
a-riga-dettaglio) - F3: alterna fra modalita' "Aggiornamento" e "Selezione" (se richiamato)
- Shift+F4: amministrazione griglia
- Ctrl+A: aggiunge una nuova riga
- Ctrl+E: elimina la riga selezionata (con conferma)
- Esc: chiude il programma
- 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. - Validazione dettaglio (
x-controlla-dettaglio): codice obbligatorio e univoco, descrizione obbligatoria, zona obbligatoria ed esistente in COGTABEL. - Salvataggio (
a-fine-dettaglio): aggiorna la griglia con GRIDADMN "Add-Record"/"Modify-Record". Scrive/aggiorna PRNTPOST e poi COGTABEL "AH" (primawr-cogtabel; se gia' esistenterwr-cogtabel). - Cancellazione (
c-cancella): elimina il record PRNTPOST. - Selezione (modalita' "S"): all'Invio restituisce
tm-cod (i)etm-des (i)ino14-out-cod/o14-out-dese 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-o14consente il riuso del programma in modalita' "selezione" da altri moduli: in quel caso vengono attivatif3-selezioneef3-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 TOePERFORM ... THRU(codice legacy pre-convenzioni).