ASN043 - Tabella tipi contratto¶
Sorgente: cbl/asn043.cbl | Program-ID: ASN043 | Tipo: Programma interattivo (gestore tabella a griglia)
Menu: Assist 2.0 > Archivi > Contratti > Tipi contratti
Scopo¶
Gestisce la tabella dei tipi contratto (ASNCNTIP), le categorie di base con cui vengono classificati i contratti di assistenza (es. manutenzione ordinaria, full-service, a chiamata). Il tipo contratto viene poi selezionato in fase di inserimento contratto (ASN050) e determina i modelli contratto collegati. Programma standalone a griglia editabile; supporta anche la modalita' "selezione" via utilasn043 (ritorno codice/descrizione al chiamante, tipicamente ASN050).
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione / campi chiave |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri generali azienda |
| ASNCNTIP | ISAM | I-O | Tipi contratto; chiave acnp-cod (x2), campi acnp-des, acnp-prestazione (gruppo/sotto/codice merce), acnp-note, acnp-contratto-annuale |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
asn043.select, asn043.fd, asn043.wrk, asn043-01.scr, asn043.prc, asn043.decla |
Screen Designer |
feurtab.fd, cogfiles.cpy |
Parametri azienda |
wgrave, wnscr, wopenf, wstato, cogazien |
Working storage standard + dati azienda |
wgrid.cpy, utilgdad.cpy |
Working griglia + linkage GRIDADMN |
utilasn044.cpy |
Linkage ASN044 (modelli contratto) |
utils68.cpy, utilagprg.cpy |
Gestore descrizioni / sincronizzazione KPN |
wcont.cpy, wcont1.cpy, utilasn043.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. Seasn043-called = "ASN043"conasn043-callervalorizzato entra in modalita' selezione (w-dc-called = "S", memorizzaw-dc-caller); altrimenti in aggiornamento. Creazione pulsante custom F5 (modelli contratto).a4/a-avanti: svuota la griglia, mappatura colonne (x-trova-col-num-tm-tab,x-set-fl-mod), caricamento diretto della grigliatm-tabdaASNCNTIP(st-asncntip-notmin+a10-loopconrdnxt-asncntip, maxk-max-ele-tab= 500 righe).a-grid/a-accept-grid: gestione accept sulla griglia, tasti funzione, doppio-click/Invio (selezione in modalita' "S"), Ctrl+A (aggiungi riga), Ctrl+E (elimina riga).
Salvataggio (F3 / a1-aggiorna / b-aggiorna)¶
Stesso pattern "confronto tm-cod / tm-cod-prec" dei gestori tabella Assist:
tm-codvuoto,tm-cod-precvalorizzato -> cancella (b3-cancella)tm-cod = tm-cod-prece riga modificata -> modifica (b2-modifica)tm-cod-precvuoto -> inserisci (b1-inserisci), con richiesta di sovrascrittura se il codice esiste gia'tm-cod <> tm-cod-prec-> cancella + inserisci
Ogni operazione su ASNCNTIP e' seguita da x-sincronizza-kpn (SWN068). Il controllo cancellazione (c1-ctrl-canc) verifica solo che la griglia non sia vuota.
Collegamento ai modelli (F5)¶
Con una riga valorizzata e w-dc-caller <> "ASN044", il tasto F5 apre i modelli contratto del tipo selezionato chiamando ASN044 (passa tm-cod in asn044-in-tip). Il pulsante F5 viene disattivato quando la riga corrente e' nuova/vuota o quando il programma e' a sua volta richiamato da ASN044 (per evitare navigazione circolare).
CALL a sottoprogrammi¶
| Programma | Contesto |
|---|---|
| GRIDADMN | Preparazione/amministrazione griglia |
| ASN044 | Modelli contratto associati al tipo (F5) |
| SWN068 | Sincronizzazione tipo contratto verso KPN |
Note¶
- Massimo righe griglia: 500 (
k-max-ele-tab). - Il campo
acnp-contratto-annualedistingue i tipi contratto a canone annuale (aggiunto 2022). - I tipi contratto sono un dato di base condiviso: prima dell'eliminazione va verificato che non siano usati in contratti attivi (controllo non presente nel programma, a carico dell'operatore).
- ASN043 e ASN044 (modelli contratto) formano una coppia navigabile; il flag
w-dc-caller = "ASN044"disabilita il rimbalzo F5 quando la chiamata arriva da ASN044.