CRM074 - Estrazione appuntamenti (gestione campagne)¶
Funzione¶
Estrazione e visualizzazione a griglia degli appuntamenti generati dalle campagne CRM (telemarketing). Il programma legge le attivita' di tipo "appuntamento" collegate ai dossier di campagna (CRMDOSAT), le arricchisce con i dati di nominativo, referente, recapiti (telefono/fax/email), ruolo e categoria letti dalle informazioni CRM, le materializza in un file di transito temporaneo (COGTRANS) e le mostra in una griglia paginata con possibilita' di ordinamento su qualsiasi colonna ed esportazione in Excel.
L'etichetta di menu e' "Report appuntamenti", ma il titolo maschera impostato dal programma e' "Estrazione appuntamenti": la funzione reale e' un'estrazione interattiva a griglia (con salvataggio/richiamo delle impostazioni predefinite), non la produzione di un report cartaceo.
Menu¶
- CRM > Telemarketing > Report appuntamenti
Tabelle e file principali¶
| Tabella/File | Descrizione | Accesso |
|---|---|---|
| FEURTAB | Tabella file aziendali | Lettura (rd-azi) |
| CRMDOSAT | Attivita' collegate ai dossier di campagna | Lettura sequenziale (st/rdnxt) |
| CRMDOSSR | Testata dossier/campagna | Lettura (chiave primaria e k02) |
| CRMATTIV | Attivita' CRM | Lettura (rd-crmattiv), filtro su tipo appuntamento e data esecuzione |
| CRMATTAN | Nominativi interessati all'attivita' | Lettura (st/rdnxt, k02) |
| CRMATTOP | Operatori interessati all'attivita' | Lettura (st/rdnxt, k02) |
| CRMATTNT | Note attivita' | Lettura (rd-crmattnt) |
| CRMANAGR | Anagrafica nominativi CRM | Lettura (rd-crmanagr) |
| PRNTOPER | Anagrafica operatori | Lettura (rd-prntoper) |
| COGTRANS | File di transito temporaneo per la griglia | Output/I-O, delete a fine programma |
COGTRANS e' un file indicizzato temporaneo dichiarato manualmente nel sorgente
(SELECT/FD espliciti), con nome dinamico #$trscrm074.<operatore> nella cartella
temporanea (ext-tmp-dir). Chiave primaria trs-chia1, chiave alternata
duplicata trs-chia2 (usata per l'ordinamento variabile). L'apertura in output
con stato 93 segnala che la funzione e' gia' in uso dallo stesso operatore.
Copybook e sottoprogrammi¶
| Elemento | Tipo | Ruolo |
|---|---|---|
| crm074.select / .fd / .wrk / .tm / .prc / .decla / -01.scr | Screen | Definizioni file, working, screen |
| crm074.imppredf-wrk / .imppredf | Copybook | Salvataggio/richiamo impostazioni predefinite |
| k-u10.cpy, k-tipi-cogtabel.cpy | Copybook | Costanti |
| wgrid.cpy, utilgdad.cpy, utilpggr.cpy, fscrol2.cpy | Copybook | Gestione griglia paginata |
| utils52.cpy, utils65.cpy | Copybook | Controlli data (calendario) |
| utilcrmk11.cpy | Copybook | Parametri selezione dossier/campagna (CRMK11) |
| utilcrms13.cpy, utilcrms06.cpy | Copybook | Servizi CRM (CRMS06: lettura informazioni nominativo) |
| utilwp04.cpy, sendwp04.cpy | Copybook | Selezione operatore (WP04) |
| utilncnf.cpy | Copybook | Lettura configurazioni RNEWCONF |
| utilimppredf.cpy | Copybook | Impostazioni predefinite |
| utilu10.cpy, dtab.cpy | Copybook | Utility comuni |
| cogtrans.k01/.k02, crmdossr.k02, crmattiv.k02, crmattop.k02, crmdosat.k03 | Copybook chiavi | Chiavi primarie/secondarie |
| CRMK11 | Sottoprogramma | Ricerca/selezione dossier di campagna |
| CRMS06 | Sottoprogramma | Lettura del valore di una informazione CRM per nominativo |
| GRIDADMN | Sottoprogramma | Gestione/personalizzazione griglia |
| RNEWCONF | Sottoprogramma | Lettura configurazioni |
| DTPRG / PRGDT | Sottoprogrammi | Conversione data/progressivo per calcolo periodi |
Configurazioni RNEWCONF (gruppo crm-camp)¶
Il paragrafo x99-confi legge in un'unica chiamata a RNEWCONF le chiavi del
gruppo crm-camp:
gestione-campagne: se diverso da "S" il programma si blocca (abilitato solo a gestione campagne).tip-att-appuntamento: tipologia attivita' considerata "appuntamento" (filtro su crt-tip).inf-telefono,inf-fax,inf-email,inf-categoria: id informazione CRM per recapiti e categoria.inf-ref-imp-cognome/nome/ruolo,inf-ref-acc-cognome/nome/ruolo: id informazione per il referente (implicito e accompagnatore).
Logica principale¶
- Apri: init, controllo abilitazione, lettura azienda, open files. Verifica
tm-cfg-gestione-campagne = "S", altrimenti box di errore e fine. - Impostazioni predefinite: carica i default (
z-imppredf-carica-default); pulsanti custom CTRL-S (salva impostazione) e CTRL-F (cerca impostazione). - Pagina 1 - filtri: accept di ID dossier/campagna (con lookup CRMDOSSR e ricerca via CRMK11 su F9), periodo di esecuzione (radio con calcolo automatico di intervalli relativi tramite DTPRG/PRGDT), date "dal/al". Controllo di coerenza date (da <= a).
- Elaborazione (F7 / F3):
carica-file->tratta-altri-casiscorre CRMDOSAT (filtrato per dossier se indicato). Per ogni attivita': - legge CRMATTIV e filtra per tipo appuntamento e periodo di esecuzione;
- legge testata dossier (CRMDOSSR), nominativo interessato (CRMATTAN -> CRMANAGR), operatore/note (CRMATTOP -> CRMATTNT, PRNTOPER);
- via CRMS06 legge telefono, fax, email, categoria e i dati del referente (prima accompagnatore, poi implicito come fallback);
- scrive il record in COGTRANS (
scrivi-cogtrans). Se e' attivo un ordinamento (w-ordinamento), valorizzafiller-xdella chiave alternata con la colonna scelta, cosi' che la rilettura per chia2 produca l'ordine. - Pagina 2 - griglia:
carica-tabriempie la griglia paginata leggendo COGTRANS per chiave alternata (spaginamento avanti/indietro con PgUp/PgDn). Menu contestuale "Ordina sulla colonna..." (evento 151): rileggendo la cella selezionata reimpostaw-ordinamentoe rilancia l'elaborazione. - Esportazione: SF5 esporta la griglia in Excel (
z-esporta-paged-grid); SF4 apre l'amministrazione griglia (GRIDADMN). - Chiusura: chiude e cancella il file di transito COGTRANS.
Note tecniche¶
- Il file di transito e' per-operatore: il nome include
wo-oper, e l'apertura in output con stato 93 impedisce l'uso concorrente dalla stessa utenza. - Il programma usa
PERFORM ... THRUe diversiGO TO(stile legacy del modulo, ripreso da COGV39): non conforme alle convenzioni attuali del codebase, da non usare come modello per nuovi sviluppi. - La colonna "Campagna descrizione" (grd-campagna-des) e' in realta' valorizzata con operatore di inserimento + data di inserimento dell'attivita' (il codice che leggeva la descrizione dossier e' commentato).
- L'ordinamento non e' un sort in memoria ma una riscrittura del transito con chiave alternata pilotata dalla colonna scelta.
- Il periodo di esecuzione supporta valori relativi (oggi, ultima settimana, ultimo mese, mese/anno corrente, ultimo anno, prossimi 7/30 giorni, mese in corso) calcolati con DTPRG/PRGDT.