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-opeda 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 concrmk11-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 filetran-crmk04e' presente/valorizzato, il record deve esistere anche in esso (pre-filtro della ricerca testuale su descrizione/note/controparte). Le righe superstiti sono composte dacarica-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 -> restituiscecrmk11-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 transitot-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 ... THRUeGO 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-crmk04e' 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 informazioneinf-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.