Vai al contenuto

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

  1. apri: init, ctr-abil, apertura file. Se asn043-called = "ASN043" con asn043-caller valorizzato entra in modalita' selezione (w-dc-called = "S", memorizza w-dc-caller); altrimenti in aggiornamento. Creazione pulsante custom F5 (modelli contratto).
  2. a4 / a-avanti: svuota la griglia, mappatura colonne (x-trova-col-num-tm-tab, x-set-fl-mod), caricamento diretto della griglia tm-tab da ASNCNTIP (st-asncntip-notmin + a10-loop con rdnxt-asncntip, max k-max-ele-tab = 500 righe).
  3. 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-cod vuoto, 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), 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-annuale distingue 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.