ASN010 - Tabella tipi matricola¶
Sorgente: cbl/asn010.cbl | Program-ID: ASN010 | Tipo: Programma interattivo (gestore tabella a griglia)
Menu: Assist 2.0 > Archivi > Tabelle > Matricole > Tipi matricola
Scopo¶
Gestisce la tabella dei tipi matricola (ASNMTRTP), che raggruppano famiglie omogenee di apparati assistiti e ne definiscono gli attributi comuni: descrizione, ragione/stato di validita', flag di validita' ed esposizione (parte "P" e "M"), modello di certificazione, prestazione standard associata. Programma standalone a griglia editabile; supporta anche la modalita' "selezione" (ritorno codice al chiamante) tramite utilasn010.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione / campi chiave |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri generali azienda |
| ASNMTRTP | ISAM | I-O | Tipi matricola; chiave amtp-tip (x3), campi amtp-des, amtp-rag-stat, amtp-amtr-id, amtp-fl-val-p/amtp-fl-val-m, amtp-fl-esposta-p/amtp-fl-esposta-m, amtp-modello-cert, amtp-prestazione |
| ASNMTRPD | ISAM | I-O | Prestazioni/componenti di default del tipo (cancellati a cascata alla eliminazione del tipo; chiave ampd-tipo+ampd-codice) |
| ASNSKMOD | ISAM | Input | Modelli di certificazione (askm-cod, askm-des, askm-val) |
| ASNMATRI | ISAM | Input | Matricole (validazione amtp-amtr-id -> amtr-id) |
| ASNCTRRC | ISAM | Input | Raccordi controllo-oggetto; usa asnctrrc.k03 per verificare i controlli attivi collegati al tipo prima della cancellazione |
| ASNCTRTB | ISAM | Input | Tabella controlli (actr-cod, actr-fl-canc) |
| COGTRANS | ISAM (temp) | I-O | File di transito #$asn010.<oper> per ordinare i record prima di caricare la griglia; layout ridefinito nel sorgente (trs-cod-ordine + copia dei campi amtp-*) |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
asn010.select, asn010.fd, asn010.wrk, asn010-01.scr, asn010.prc, asn010.decla |
Screen Designer |
feurtab.fd, cogfiles.cpy |
Parametri azienda |
cogtrans.k01 |
Gestione file di transito COGTRANS |
asnctrrc.k03 |
Chiave secondaria oggetto di ASNCTRRC (aggiunta manualmente) |
wgrave, wnscr, wopenf, wstato, cogazien, utilncnf |
Working storage standard + config |
wgrid.cpy, utilgdad.cpy |
Working griglia + linkage GRIDADMN |
utilu20, utile04, utilf62 |
Utility |
utilasn014, utilasn081, utilasn029 |
Linkage moduli prestazioni / componenti / modelli certificazione |
utils68.cpy, utilagprg.cpy |
Gestore descrizioni / sincronizzazione KPN |
wcont.cpy, wcont1.cpy, utilasn010.cpy |
Linkage standard + linkage di chiamata esterna |
grave, mmmask, opengen, stato, stato1, winmsg |
Chiusura procedure division |
Logica¶
Flusso principale¶
apri: init,ctr-abil, apertura file. Seasn010-called = "ASN010"conasn010-callervalorizzato entra in modalita' selezione (w-dc-called = "S",a-modalita = "S"), altrimenti in aggiornamento ("A"). Lettura config viax99-confi, creazione pulsanti custom (F5 prestazioni, F7 componenti).a4: svuota la griglia,x-trova-col-num-tm-tabex-set-fl-modper la mappatura colonne. Carica ASNMTRTP nel transito COGTRANS ordinandolo per descrizione o codice (configordinamento-tipi-matricola).a10-loop: scan di ASNMTRTP, scrittura su COGTRANS con default 'S' sui flag di validita'/esposizione vuoti.a30/a10-loop-trs: rilettura ordinata da COGTRANS e caricamento della grigliatm-tab(maxk-max-ele-tab= 500 righe), risolvendo la descrizione del modello di certificazione via ASNSKMOD.a-grid/a-accept-grid: gestione accept sulla griglia, tasti funzione, doppio-click/Invio (selezione), Ctrl+A (aggiungi riga), Ctrl+E (elimina riga).
Salvataggio (F3 / a1-aggiorna / b-aggiorna)¶
Confronto tra tm-cod e tm-cod-prec di ogni riga:
tm-codvuoto etm-cod-precvalorizzato -> cancella (b3-cancella)tm-cod = tm-cod-prece riga modificata -> modifica (b2-modifica)tm-cod-precvuoto -> inserisci (b1-inserisci)tm-cod <> tm-cod-prec-> cancella + inserisci
Ogni operazione su ASNMTRTP e' seguita da x-sincronizza-kpn (SWN014). La cancellazione elimina anche le righe ASNMTRPD del tipo.
Controllo cancellazione (c1-ctrl-canc)¶
Un tipo matricola non e' cancellabile se collegato a controlli attivi: scan di ASNCTRRC (chiave 3 su oggetto tipo "T") e verifica su ASNCTRTB che il controllo non sia gia' cancellato (actr-fl-canc <> "C").
Configurazioni (x99-confi)¶
5 chiavi via RNEWCONF: ordinamento-tipi-matricola, gestione-impianti-carburanti (visibilita' colonna amtr-id), gestione-certificazioni (visibilita' colonne modello certificazione), modo-componenti (abilita F7 componenti se "T"), fatturazione-canone-matricole (abilita colonna prestazione/merce).
CALL a sottoprogrammi¶
| Programma | Contesto |
|---|---|
| GRIDADMN | Preparazione/amministrazione griglia (colonne custom via gdad-custom) |
| ASN014 | Elenco prestazioni associate al tipo (F5) |
| ASN081 | Elenco componenti / distinta base (F7, se modo = "T") |
| ASN029 | Selezione modello di certificazione (F8 sulla cella modello) |
| SWN014 | Sincronizzazione tipo matricola verso KPN |
| RNEWCONF | Lettura configurazioni |
Note¶
- Massimo righe griglia: 500 (
k-max-ele-tab). - La griglia usa un file di transito COGTRANS solo per applicare l'ordinamento; e' cancellato in
fine. - Le prestazioni/componenti (ASNMTRPD) costituiscono il modello di default ereditato dalle nuove matricole del tipo.
- In modalita' selezione l'Invio o il doppio-click ritornano
asn010-out-cod/asn010-out-des.