Vai al contenuto

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

  1. apri: init, ctr-abil, apertura file. Se asn010-called = "ASN010" con asn010-caller valorizzato entra in modalita' selezione (w-dc-called = "S", a-modalita = "S"), altrimenti in aggiornamento ("A"). Lettura config via x99-confi, creazione pulsanti custom (F5 prestazioni, F7 componenti).
  2. a4: svuota la griglia, x-trova-col-num-tm-tab e x-set-fl-mod per la mappatura colonne. Carica ASNMTRTP nel transito COGTRANS ordinandolo per descrizione o codice (config ordinamento-tipi-matricola).
  3. a10-loop: scan di ASNMTRTP, scrittura su COGTRANS con default 'S' sui flag di validita'/esposizione vuoti.
  4. a30 / a10-loop-trs: rilettura ordinata da COGTRANS e caricamento della griglia tm-tab (max k-max-ele-tab = 500 righe), risolvendo la descrizione del modello di certificazione via ASNSKMOD.
  5. 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-cod vuoto e tm-cod-prec valorizzato -> cancella (b3-cancella)
  • tm-cod = tm-cod-prec e riga modificata -> modifica (b2-modifica)
  • tm-cod-prec vuoto -> 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.