Vai al contenuto

ASN030 - Gestione anagrafica Matricole (Assist 2.0)

Sorgente: cbl/asn030.cbl (4.959 righe) | Tipo: Programma interattivo di anagrafica (inserimento/modifica/cancellazione a maschera singola), richiamabile anche come called

Menu: Assist 2.0 > Archivi > Matricole


Scopo

Gestione completa dell'anagrafica Matricole dell'Assist 2.0 (ASNMATRI): una "matricola" e' l'oggetto/apparecchiatura installata presso il cliente su cui si erogano assistenze, contratti e controlli. Il programma consente inserimento, modifica e cancellazione di una matricola identificata da un id numerico (amtr-id), con gestione contestuale di:

  • Serial number, tipo matricola, descrizione, merce collegata, matricola di magazzino (COGMATRI);
  • Cliente/destinazione/contatto/tecnico, ubicazione, catasto, chiave, garanzia, valore, produttore, marca, modello, modello di certificazione (check-list);
  • Distinta base matricola (ASNMTRDB), scheda CRM collegata, collegamento a impianto (ASNMTRLK), dossier commessa;
  • Controlli qualita' collegati (via ASNS27) e sincronizzazione verso Areagate/KPN (via SWN039).

Dalla maschera sono raggiungibili funzioni collegate: creazione contratto (F6/menu → ASN050/ASN220), note post-it (ASN03C), scheda matricola/distinta base (ASN03B), galleria documenti (COGUC0), scheda CRM (CRM030).


Interfaccia chiamato (linkage util-asn030)

Campo Uso
asn030-called / asn030-caller Identificativi chiamato/chiamante (se coincidono con k-program-id/non spazi → w-dc-called = 'S')
asn030-modalita 'M' = modifica diretta (usa asn030-id), spazio = inserimento
asn030-id Id matricola in ingresso (modalita' M)
asn030-id-out Id matricola creata (output, inserimento da called)
asn030-sn / asn030-cliente S/N e cliente proposti in inserimento (chiamata da ASN510/ASN110/ASN050)

Chiamanti tipici individuati nel sorgente: ASN200 (inserimento nuova matricola), ASN510/ASN110/ASN050 (inserimento con S/N e cliente proposti), ASN049 (in modifica M dal tree impianto).

File acceduti

Lettura/scrittura principale

File Copybook Uso
ASNMATRI amtr-rec Matricola (record principale). wr/rwr/del; numeratore id automatico. Chiave k02 su amtr-sn
ASNMATR2 amtr2-rec Estensione matricola: amtr2-portale-catasto, amtr2-portale-chiave
ASNMTRTP amtp-rec Tipo matricola (descrizione amtp-des)
ASNMODEL amod-rec Modello matricola (amod-nome, amod-des, amod-marca, amod-tcl-cod, amod-cod-nom). Chiave k02
ASNPRODU aprd-rec Produttore (aprd-des)
ASNMARCH amrc-rec Marca (amrc-des)
ASNSKMOD askm-rec Modello checklist/certificazione (askm-des, askm-val)
ASNMTRDB amdb-rec Distinta base matricola (inserita/cancellata per tipo "firewall")
ASNMTRLK amlk-rec Link matricola↔impianto (amlk-id-padre, amlk-id-mtr). Chiave k02
ASNCNMTR acnc-rec Matricole collegate a contratti (controllo cancellazione + ricerca contratto piu' recente). Chiave k02
ASNCHDET achd-rec Dettaglio chiamate (controllo cancellazione: matricola presente in chiamata). Chiave k02
ASNCNTES acnt-rec Testata contratto (ricerca id/rif contratto piu' recente della matricola)
ASNCNTE2 acn2-rec acn2-data-scadenza (disdetta anticipata, TASK-2499)
COGMERCI mer-rec Merce collegata (mer-padre, mer-classe); obbligo distinta base per tipo firewall
COGMERA3 ma3-rec Dati assist merce: marca/modello/tipo matricola proposti in inserimento (PCASE-1430)
COGMATRI mtr-rec Matricola di magazzino (mtr-merce)
COGGEANA ana-rec Cliente e cliente fatturazione (padre)
COGDESTI/COGDEST2 dst-rec/dst2-rec Destinazioni cliente (default, telefono)
COGRIFER rif-rec Riferimenti/contatti (tecnico, contatto, telefono)
COGAPPOG app-rec Appoggio anagrafica (telefono cliente)
CRMANAGR cra-rec Scheda CRM collegata (nome, sincronizzazione descrizione)
CRMINFOR/CRMANANF ipt-rec/nnf-rec Info variabili CRM (telefono); chiave k03
COGDBASE dba-rec Distinta base standard (per popolare ASNMTRDB su tipo firewall)

Chiavi secondarie

  • asnmatri.k02 (serial number), asnmodel.k02, asncnmtr.k02, asnchdet.k02, asnctrrc.k03, asnmtrlk.k02, crmananf.k03, crminfor.k03

Programmi chiamati

Programma Contesto
ASN200 F9 ricerca matricola (ASN200-CALLED) su id / s/n / id-origine
ASN010 F8 lookup tipo matricola
ASN011 F8 lookup produttore
ASN012 F8 lookup marca
ASN013 F8 lookup modello (per marca)
ASN029 F8 lookup modello certificazione
ASN050 Menu "Crea contratto manuale" (asn050-id-matricola)
ASN03C Menu "Note Post-it" (asn03c-id-matricola)
ASN03B Shift+F6/Shift+F7 gestione/inserimento distinta base matricola
ASN220 F6 ricerca/gestione contratti della matricola (ASN220-CALLED)
ASN049 Cancellazione: SCOLLEGA-MATR-BKG se la matricola e' collegata ad impianto
ASNS27 Gestione controlli qualita': INSERISCI/AGGIORNA/CANCELLA-MATRICOLA
COGV89 F8 selezione matricola magazzino per s/n
COGU07 cerca-sn-link: aggancio matricola magazzino da s/n (PCASE-1413)
COGG32/COGG67 Ricerca contatto/tecnico
COGSAE CTR-CL-MATRICOLA: verifica modello stampa check-list (escluso az-personal = "PU")
CRMS07 Scrivi: creazione scheda CRM matricola
CRM030 Apertura scheda CRM (CRM030-CALLED)
CRMK10 F7/menu dossier commessa impianto
COGUC0 F1 galleria documenti (archiviazione ottica, MA)
SWN039 AGPRG-CALLED / ESPORTA-KEY: sincronizzazione matricola verso Areagate/KPN
RNEWCONF Lettura configurazioni (x99-confi)
DIALOGS Dialoghi scelta scheda CRM matricola/modello, prima matricola
W$MENU Menu a tendina File/Operazioni

Configurazioni RNEWCONF (x99-confi)

Idx Gruppo Chiave Variabile Effetto
01 ASSIST GESTIONE-PRODUTTORE tm-cfg-produttore Abilita gestione produttore
02 ASS-STRUM MERCE-MATRICOLA-DEFAULT tm-cfg-merce-default Merce proposta di default in inserimento
03 assist matr-destinazione-obbligatoria tm-cfg-obb-dest Se N, destinazione non obbligatoria
04 ASS-STRUM TIPO-MATRICOLA-GENERICO tm-cfg-tipo-matricola-generico Tipo "generico": vieta l'assegnazione cliente
05 assist gestione-scheda-matricole tm-cfg-gest-scheda-matr Abilita scheda CRM matricola (F5)
06 ass-chiam gestione-certificazioni tm-cfg-gest-certificazioni Abilita modello certificazione
07 commesse commessa-impianto tm-cfg-commessa-impianto Abilita dossier commessa (F7)
08 commesse tipo-dossier-commessa tm-cfg-tipo-dossier-commessa Tipo dossier per commessa impianto
09 ass-contr tipo-mtr-firewall tm-cfg-tipo-mtr-firewall Tipo matricola "firewall": merce = distinta base obbligatoria + gestione ASNMTRDB (PCASE-2443)
10 ass-mtr gestione-db tm-cfg-gestione-db Gestione distinta base
11 ass-mtr modo-creazione-sn-matricola tm-cfg-modo-creazione-sn B = crea s/n = tipo matricola + progressivo (TASK-2399)

(link: ASSIST, ASS-STRUM, ass-chiam, commesse, ass-contr, ass-mtr)

Logica di elaborazione

Chiave e caricamento (a-tm-amtr-idcarica-dati)

  • Se la matricola esiste → fl-vario = "V" (modifica), altrimenti "I" (inserimento).
  • carica-dati popola tutti i campi maschera dal record, ricerca modello/produttore/marca, contatto/telefono, distinta base (tm-fl-dbase), scheda CRM (creata se mancante e configurata), e (250316) l'id/rif del contratto piu' recente della matricola scorrendo ASNCNMTRASNCNTES/ASNCNTE2 (per la disdetta anticipata usa acn2-data-scadenza).
  • F7 nuovo: se ASNMATRI e' vuota (prima-matricola) propone l'inserimento manuale del primo id.

Salvataggio (a-fine-datia-fine-dati-ok)

  1. Validazioni campo per campo (x-controlla-dati che invoca tutti gli x-controlla-*).
  2. (TASK-2399) Se modo-creazione-sn = "B" e inserimento → x1-creazione-sn: compone il s/n come tipo-matricola + progressivo (scorrendo ASNMATRI a ritroso sul k02).
  3. Ricerca numeratore id automatico (inserimento) scorrendo ASNMATRI.
  4. Verifica abilitazioni operatore (w-abi-ins/w-abi-agg).
  5. wr/rwr di ASNMATRI + aggiornamento ASNMATR2 (catasto/chiave).
  6. (PCASE-2443) Se tipo = firewall: cancella e ricrea la distinta base ASNMTRDB da COGDBASE (inserimento, o modifica con cambio merce).
  7. Scheda CRM: se configurata e modello con tipologia nominativo, crea la scheda via CRMS07/CRM030; (PCASE-2565) allinea la descrizione scheda CRM alla descrizione matricola.
  8. Controlli qualita' (ASNS27): in inserimento INSERISCI-MATRICOLA; in modifica gestisce i casi cancellazione logica (amtr-val = "C") → CANCELLA, ripristino → INSERISCI, altrimenti AGGIORNA.
  9. Sincronizzazione KPN/Areagate (x-sincronizza-kpnSWN039).

Cancellazione (cancella)

Blocchi preventivi: matricola presente in un contratto (ASNCNMTR), in una chiamata (ASNCHDET), oppure che e' un "Impianto" (ha figli in ASNMTRLK). Se ok: scollega da eventuale impianto (ASN049 SCOLLEGA-MATR-BKG), del-asnmatri, cancella controlli (ASNS27 CANCELLA-MATRICOLA), sincronizza KPN.

Messaggi principali

Messaggi in tabella maschera con id m-asn030-NN-1 (letti da .prc), tra cui:

  • m-asn030-71-1/72-1: id matricola mancante / inesistente
  • m-asn030-74-1: serial number obbligatorio
  • m-asn030-75-1/76-1: tipo matricola mancante / inesistente
  • m-asn030-77-1..80-1: controlli matricola magazzino / merce
  • m-asn030-105/106: (firewall) merce obbligatoria / deve essere distinta base (padre P)
  • m-asn030-69-1/70-1: cancellazione bloccata (in contratto / in chiamata)
  • m-asn030-62-1: cancellazione bloccata (matricola e' impianto)

Storico modifiche significative (dal sorgente)

  • 280812: scheda matricola CRM (F5) + creazione automatica scheda per modello con tipologia nominativo.
  • 080713: gestione amod-cod-nom (scheda CRM lato modello).
  • 020216: menu a tendina File/Operazioni; voci "Crea contratto" (ASN050) e "Note Post-it" (ASN03C).
  • 250915: gestione distinta base matricola (Shift+F6/F7 → ASN03B).
  • 250316: F6 contratti (ASN220); ricerca id/rif contratto piu' recente.
  • 160616: campo tecnico (COGG32).
  • 250620 (PCASE-1430): proposta marca/modello/tipo da COGMERA3 in inserimento.
  • 220620 (PCASE-1413): aggancio matricola magazzino da s/n via COGU07.
  • 160322 (PCASE-2565): allineamento descrizione scheda CRM alla descrizione matricola.
  • 230221: sincronizzazione KPN/Areagate via SWN039.
  • 221221 (PCASE-2443): tipo matricola "firewall" con distinta base da COGDBASE.
  • 250923: anno di costruzione (amtr-anno-costr).
  • 121124: config ass-mtr / gestione-db.
  • 031125 (TASK-2399): modalita' creazione s/n = tipo matricola + progressivo (modo-creazione-sn = "B").
  • 141125/171125 (TASK-2499): disdetta anticipata contratto nella ricerca contratto piu' recente.

Note implementative

  • La cancellazione e' logica (flag amtr-val = "C") o fisica (del-asnmatri): entrambe innescano la gestione controlli ASNS27 come se la matricola fosse eliminata.
  • Il collegamento matricola↔impianto (ASNMTRLK) e' gestito da ASN049; ASN030 vi accede solo per determinare se una matricola e' impianto/parte e per scollegarla in cancellazione.
  • I perform ... thru ex-... e i go to verso i paragrafi di accept sono ampiamente presenti (stile legacy della maschera): il flusso di navigazione tra campi e' basato su go to a-tm-* e x-test-mouse.