Vai al contenuto

CRMK11 - Consultazione dossier

Sorgente: cbl/crmk11.cbl | Program-ID: CRMK11 | Tipo: Programma interattivo GUI (consultazione/lista a filtri + griglia risultati)

Menu: CRM > Operativo > Gestione dossier > Consultazione dossier


Scopo

E' la maschera di consultazione e ricerca dei dossier (tabella CRMDOSSR). Presenta un tab-control a due pagine: una pagina di filtri (id dossier, ordinamento, nominativo, numero polizza, flag nominativo principale/non principale, tipo dossier, codice operativo, mezzi/provenienza, raggruppamento statistico, stato, intervalli data apertura/chiusura, descrizione, note, controparte) e una pagina risultati con una griglia (grid-det) alimentata da un file di transito indicizzato temporaneo (t-grid-det).

Dal risultato l'operatore puo': aprire la gestione del dossier (F3 -> CRMK10, oppure CRMK28 se attiva la variante FATA), inserire un nuovo dossier (F5), consultarne il dettaglio in sola lettura (F8 -> CRMK10 ope "V"), vedere le attivita' collegate (F4 -> CRM051), navigare sulla filiera documento (Shift+F2 -> COGMA3), esportare in Excel (Shift+F5), stampare tramite modello Word (F9 -> WORDMDL). Con il tasto destro si apre un menu contestuale sulla griglia. E' inoltre integrato con il sistema di filtri memorizzati (Ctrl+S salva, Ctrl+F carica) e con l'esportazione predefinita (imppredf).

Puo' funzionare come funzione autonoma o essere richiamato in modalita' selezione (crmk11-called/crmk11-caller): in tal caso i filtri iniziali arrivano dal linkage, con crmk11-autom = "S" la ricerca parte automaticamente, e l'Invio su una riga restituisce la chiave del dossier scelto in crmk11-out-chia1. Chiamanti tipici: CRMK10 (con crmk11-caller = "CRMK10", che inibisce la gestione/F5) e la gestione FATA.

File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB ISAM Input Parametri generali azienda (cogfiles.cpy)
CRMDOSSR ISAM (k02,k03,k04,k06,k07,k08) Input Anagrafica dossier: sorgente principale della ricerca (dsa-chia1 = dsa-key-tdo + dsa-num)
CRMDOSAN ISAM Input Collegamento dossier/nominativi (dsn-key-tdo+dsn-num+dsn-nom, dsn-posizione): filtro nominativo e caricamento nominativo 1/2
CRMDOSCP ISAM Input Collegamento dossier/controparti (dsc-*): caricamento elenco controparti (carica-controparte)
CRMDOSNT ISAM Input Note del dossier (dnt-*)
CRMDOSTP ISAM Input Tipi dossier (descrizione dtp-des, validazione tm-tdo)
CRMDOSCO ISAM Input Codici operativi (descrizione dco-des, validazione)
CRMDOSST ISAM Input Stati dossier (descrizione stato, costruzione combo stati carica-stato)
CRMDOSMP ISAM Input Mezzi/provenienza (descrizione dmp-des, validazione)
CRMDOSRS ISAM Input Raggruppamenti statistici (descrizione drs-des, validazione)
CRMANAGR ISAM Input Anagrafica nominativi CRM (cra-cod, cra-nome, cra-ana-tip): descrizioni e controllo tipologia visibile per operatore
CRMANANF ISAM (k02,k03) Input Informazioni variabili nominativi: ricerca per numero polizza (ricerca-polizza)
CRMUSERS ISAM Input Utenti CRM: abilitazioni di visibilita' anagrafiche per tipo (cru-vis-for/cli/pro/alt)
tran-crmk04 ISAM Input File di transito esiti ricerca testuale (chiave trs-crmk04-chia1); usato come pre-filtro solo se presente/valorizzato
t-grid-det ISAM I-O (temp) File di transito indicizzato per la griglia risultati; creato all'avvio ed eliminato in uscita
exp-grid LINE SEQ Output File di appoggio per l'esportazione Excel della griglia

Copybook utilizzate

Copybook Descrizione
crmk11.select, crmk11.fd, crmk11.wrk, crmk11.tm SELECT, FD, working storage e campi maschera (Screens)
crmk11-01.scr, crmk11.decla, crmk11.prc Screen, declaratives, procedure I/O (Screens)
crmk11.imppredf-wrk, crmk11.imppredf, utilimppredf.cpy Gestione filtri memorizzati / import predefinito
tran-crmk04.fd, tran-crmk04.cpy, tran-crmk04.k01 File di transito ricerca testuale
cogfiles.cpy Record FEURTAB
costanti-clipot.cpy, k-personal.cpy Costanti clipot e personalizzazioni cliente (az-personal)
wgrave, wnscr, wopenf, wstato, cogazien Working storage standard + dati azienda
wgrid.cpy, utilgdad.cpy Supporto griglia (GRIDADMN)
utils52.cpy, utils65.cpy, utils68.cpy, utils93.cpy, utilu10.cpy, utilu20.cpy Linkage COGS52W (date), COGS65W, COGS68W, COGS93, COGU10W, COGU20W
utilcogma3.cpy Linkage COGMA3 (navigazione filiera documento)
utilcrm051.cpy Linkage CRM051 (attivita' collegate)
utilcrmk01.cpy, utilcrmk02.cpy, utilcrmk14.cpy, utilcrmk23.cpy Linkage aiuti F8 (tipo dossier, cod. operativo, mezzi/provenienza, ragg. statistico)
utilcrmk04.cpy Linkage CRMK04 (ricerca testuale, popolamento tran-crmk04)
utilcrmk10.cpy Linkage CRMK10/CRMK28 (gestione dossier)
utilcrms02.cpy Linkage CRMS02 (ricerca/accept nominativo)
utilncnf.cpy Linkage RNEWCONF
wcont.cpy, wcont1.cpy Linkage standard
utilcrmk11.cpy Linkage di chiamata (filtri in, crmk11-out-chia1, crmk11-autom, crmk11-modalita)
grave, mmmask, opengen, stato, stato1, winmsg Infrastruttura standard
crmananf.k02/k03, crmdossr.k02/k03/k04/k06/k07/k08 Chiavi secondarie (aggiunte a fine procedure)

Logica

Struttura goto-driven a doppia pagina (creato da template SKVIS2).

  • apri: init, open-files, lettura configurazione (x99-confi), costruzione menu contestuale griglia (build-main-popup-grid-det), caricamento bitmap e pulsanti custom (Ctrl+S salva filtro, Ctrl+F carica filtro, F4 attivita', F5 pratiche, Shift+F2 filiera). Prepara la griglia (z-prepara-tm-grid, z-gridadmn-prepara-grid-det). Rileva la modalita' selezione (w-dc-called, w-dc-caller).
  • a4: reset maschera; applica le etichette configurabili di mezzi/provenienza e raggruppamento statistico; carica le abilitazioni di visibilita' dell'operatore (carica-dati-ope da CRMUSERS); se chiamato recepisce tutti i filtri dal linkage e la modalita'; costruisce la combo stati per il tipo dossier corrente (carica-stato); forza stato "T" = Tutti come default (fix PBUG-908); carica l'eventuale filtro di default memorizzato (z-imppredf-carica-default); posiziona il tab sulla pagina filtri.
  • Pagina filtri (a-pag-filtri, a-tm-*): accept sequenziale dei campi filtro. Ogni campo gestisce F2 (indietro), F7 (esegue la ricerca -> a-controlla-filtri) e gli aiuti F8 (CRMK01/CRMK02/CRMK14/CRMK23 a seconda del campo). Il nominativo e' gestito da CRMS02; il numero polizza risolve il nominativo tramite CRMANANF (ricerca-polizza). La visibilita' di un nominativo e' filtrata per tipologia in base alle abilitazioni operatore (fornitore/cliente/prospect/altro). Se chiamato con crmk11-autom = "S" la ricerca parte subito.
  • a-controlla-filtri: validazione complessiva (x-imposta-conferma); se ok passa alla pagina risultati.
  • Pagina risultati (a-pag-risultati): imposta l'ordinamento predefinito della griglia in base alla combo tm-ord (Data apertura, Chiave, Id disc./asc., Nominativo, Codice operativo, Stato) se non gia' modificato manualmente, poi compone/mostra l'ordinamento.
  • a-leggi-dati / z-grid-det-crea-transito: crea il file di transito e lo popola con carica-dati.
  • carica-dati: sceglie la chiave di scansione piu' selettiva su CRMDOSSR in base ai filtri valorizzati, nell'ordine: tipo dossier (k03), codice operativo (k06), stato (k04), id dossier (k02), data apertura (k07), data chiusura (k08), altrimenti chiave primaria. Per ogni record letto applica in cascata tutti i restanti filtri (id, tipo, cod.op, mezzi, ragg.stat, stato, intervalli date). Il filtro nominativo incrocia CRMDOSAN valutando la posizione (principale = 1/2, non principale = altro); i dossier senza nominativo sono inclusi solo per la personalizzazione B&B Elettronica (az-personal = k-personal-bb-elettronica). Se il file tran-crmk04 e' presente/valorizzato, il record deve esistere anche in esso (pre-filtro della ricerca testuale su descrizione/note/controparte). Le righe superstiti sono composte da carica-riga (risoluzione descrizioni tipo/cod.op/mezzi/ragg.stat/stato, importo, controparti, nominativi 1/2, note, workflow) e scritte nel transito.
  • a-grid: accept sulla griglia. F3/F8 -> CRMK10 (o CRMK28 se FATA) gestione/visualizzazione; F5 -> nuovo dossier (CRMK10 ope "I" via carica-crmk10, o CRMK28 se FATA); F4 -> CRM051 attivita' collegate; Shift+F2 -> COGMA3 filiera; Shift+F5 -> z-esporta-grid-det (Excel); F9 -> z-wordmdl-report (stampa da modello Word); Invio in modalita' selezione -> restituisce crmk11-out-chia1; Shift+F4 -> GRIDADMN; tasto destro -> menu contestuale (W$MENU).
  • z-wordmdl-report: ricerca il modello (COGPA3), la periferica (COGS54) e produce la stampa tramite WORDMDL.
  • fine / z-chiudi: z-close-files, chiusura ed eliminazione del transito t-grid-det, distruzione del menu contestuale, exit program.

Configurazioni (RNEWCONF)

Pacchetto "C" (8 chiavi lette in un'unica chiamata x99-confi):

Chiave Uso
ricerca-dossier-ord-default (gruppo dossier) Ordinamento di default della lista (tm-cfg-ricerca-def -> tm-ord)
etichetta-mezzi-prov (gruppo dossier) Etichetta personalizzata campo/colonna mezzi-provenienza (tm-cfg-mezzi-prov)
etichetta-ragg-stat (gruppo dossier) Etichetta personalizzata campo/colonna raggruppamento statistico (tm-cfg-ragg-stat)
etichetta-nominativo-primario (gruppo dossier) Etichetta colonna nominativo primario (tm-cfg-nom-primario)
etichetta-nominativo-secondario (gruppo dossier) Etichetta colonna nominativo secondario (tm-cfg-nom-secondario)
gestione-assicurazioni (gruppo clipot) Flag variante assicurativa/FATA (tm-cfg-fata): se "S" instrada gestione e inserimento a CRMK28 e abilita il filtro polizza
inf-imp-polizza (gruppo CRM-FATA) Codice informazione variabile "numero polizza" per la ricerca su CRMANANF (tm-cfg-imp-polizza)
inf-imp-appe (gruppo CRM-FATA) Codice informazione variabile "appendice" usata nella risoluzione della polizza (tm-cfg-imp-appen)

CALL

Programma Scopo
CRMK10 Gestione/inserimento/visualizzazione dossier (F3/F5/F8)
CRMK28 Variante gestione dossier FATA/assicurazioni (al posto di CRMK10 se tm-cfg-fata = "S")
CRMK01 Aiuto selezione tipo dossier (F8 su filtro tipo)
CRMK02 Aiuto selezione codice operativo (F8)
CRMK14 Aiuto selezione mezzi/provenienza (F8)
CRMK23 Aiuto selezione raggruppamento statistico (F8)
CRMS02 Ricerca/accept nominativo (campo nominativo)
CRM051 Attivita' collegate al dossier (F4)
COGMA3 Navigazione filiera documento (Shift+F2, cogma3-doc-classe = "D")
GRIDADMN Preparazione/personalizzazione griglia risultati
COGS60W / COGS95 / COGS52W / COGU20W Combo/radio, check, gestione date, subroutine di controllo campi (via crmk11.prc)
COGPA3 Ricerca del modello di stampa Word (F9)
COGS54 Selezione periferica di stampa (F9)
WORDMDL Generazione stampa da modello Word (F9)
GRIDFLTR / GRIDTRGR / GRIDELTR Filtro contestuale/raggruppamento/eliminazione filtro sulla griglia (via crmk11.prc)
W$MENU Menu contestuale (tasto destro sulla griglia)
RNEWCONF Lettura configurazioni

Note

  • Il codice usa PERFORM ... THRU e GO TO (stile Screens/SKVIS2 pre-convenzioni attuali).
  • La ricerca sceglie dinamicamente la chiave secondaria di CRMDOSSR piu' selettiva tra quelle disponibili (k02..k08) e applica i restanti filtri in memoria: l'efficienza dipende dalla presenza di un filtro "forte" (tipo, cod. operativo, stato, id, date).
  • La griglia risultati e' costruita su un file di transito indicizzato temporaneo t-grid-det (creato all'avvio, riordinabile e ricaricabile, eliminato all'uscita), non sulla tabella dossier direttamente. La griglia e' di fatto in sola lettura (le colonne modificabili sono disabilitate).
  • tran-crmk04 e' un canale di transito per la ricerca testuale (parole in descrizione/note/controparte) popolato dal modulo CRMK04: quando presente/valorizzato agisce da pre-filtro sui dossier da mostrare; se assente la ricerca testuale non e' applicata.
  • Variante FATA/assicurazioni: se clipot / gestione-assicurazioni = "S", gestione e inserimento del dossier passano a CRMK28 e si abilita il filtro per numero polizza (risolto via CRMANANF con i codici informazione inf-imp-polizza/inf-imp-appe).
  • Personalizzazione B&B Elettronica: solo per questo cliente i dossier privi di nominativo vengono inclusi anche quando e' impostato un filtro nominativo (blocco marcato 05/06/2018).
  • Fix PBUG-908 (05/01/2021): lo stato proposto di default e' sempre "T" = Tutti, indipendentemente dalla logica di carica-stato.
  • La visibilita' dei nominativi in filtro rispetta le abilitazioni per tipologia (fornitore/cliente/prospect/altro) lette da CRMUSERS per l'operatore corrente.
  • Le etichette di mezzi/provenienza, raggruppamento statistico e nominativo primario/secondario sono configurabili e vengono applicate sia ai campi filtro sia alle colonne/titoli della griglia.