ASN038 - Squadre Tecnici¶
Sorgente: cbl/asn038.cbl | Program-ID: ASN038 | Tipo: Programma interattivo (gestore tabella anagrafica storicizzata)
Menu: Assist 2.0 > Archivi > Tabelle > Squadre Tecnici
Scopo¶
Gestisce la composizione delle squadre tecniche/veicoli (ASNTEAMS), storicizzata per data di decorrenza. Pattern "tabella anagrafica con griglia" arricchito da:
- selezione iniziale di una data;
- ricerca della decorrenza piu' recente uguale o precedente alla data richiesta;
- lookup nominativo tecnico (
COGRIFER) per ognuno dei 5 slot tecnico.
Supporta modalita' "selezione" via utilasn038.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione | Chiave |
|---|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri generali azienda | std |
| ASNTEAMS | ISAM | I-O | Squadre tecnici/veicoli per decorrenza | atea-cod + atea-decorrenza (chia2 invertita) |
| COGRIFER | ISAM | Input | Anagrafica riferimenti (lookup nome tecnico) | rif-chia1 (tip+cod) |
Chiavi secondarie: asnteams.k02 (decorrenza + cod).
Copybook utilizzate¶
| Copybook | Ruolo |
|---|---|
asn038.select, asn038.fd, asn038.wrk, asn038-01.scr, asn038.prc, asn038.decla |
Screen Designer |
cogfiles.cpy |
Layout FEURTAB |
wgrave, wnscr, wopenf, wstato, cogazien |
Working storage standard |
wgrid.cpy, utilgdad.cpy |
Working griglia + linkage GRIDADMN |
utilg67, utilasn040, utilu20, utils52, utilg32 |
Utility (calendario, lookup tecnici) |
utilasn038.cpy |
Linkage di chiamata esterna |
Logica di elaborazione¶
apri: open files, decisione modalita'; se chiamato dall'esterno conasn038-in-datala data viene preimpostata e si salta direttamente ina-ok-inizio.a4: inizializzazione tab-maschera, data proposta = sysdate.a-tm-data-dec: accept della data (con calendario F8 vias52).a-richiesta-conferma→a-ok-inizio:- Ricerca decorrenza piu' recente <= data richiesta:
st-asnteams-notmay-chia2conatea-decorrenza = tm-data-deceatea-cod = "ZZZ", poirdprv-asnteamsper otteneretm-data-ult. - Scan di
ASNTEAMSper decorrenzatm-data-ult(chia2), riempimento griglia:tm-cod,tm-des,tm-targa,tm-tecn1..5, e lookup nominativo tecnico viaCOGRIFERper ogni tecnico non nullo. a-grid/a-accept-grid: accept griglia (stessa struttura dei gestori standard).F3aggiornamento:b-aggiornastandard conb1-inserisci/b2-modifica/b3-cancellasu ASNTEAMS, sempre conatea-decorrenza = tm-data-dec.InviooF3in modalita' selezione: ritornatm-cod/tm-desetm-data-ult(data effettiva della decorrenza).
Programmi richiamati: GRIDADMN.
Linkage (utilasn038.cpy)¶
| Campo | Direzione | Descrizione |
|---|---|---|
asn038-called |
in | "ASN038" attiva modalita' selezione |
asn038-caller |
in | Identificativo del chiamante |
asn038-in-data |
in | Data di riferimento (formato YYYYMMDD) |
asn038-out-data |
out | Data effettiva della decorrenza individuata |
asn038-out-cod |
out | Codice squadra selezionata |
asn038-out-des |
out | Descrizione squadra |
Note¶
- Massimo righe griglia:
k-max-ele-tab = 500. - Storicizzazione: ogni "set" di squadre e' identificato dalla
atea-decorrenza. Per cambiare composizione si crea una nuova decorrenza; le decorrenze precedenti restano consultabili impostando una data passata. - Lookup nominativo: per ogni tecnico (
atea-tecnico (n)9(10), tipo "C") viene lettaCOGRIFERper ottenere il nome. - Cancellazione: nessun controllo di referential integrity oltre alla griglia non vuota. Cancellare una squadra dalla decorrenza corrente rimuove il record fisicamente.