CRM017 - Tipologie attivita' CRM¶
Sorgente: cbl/crm017.cbl | Program-ID: CRM017 | Tipo: Programma interattivo (gestione tabella / dual-use aiuto)
Menu: CRM > Archivi > Tipologie Attivita'
Scopo¶
CRM017 gestisce la tabella delle tipologie di attivita' CRM (CRMTPATT), cioe' le categorie di attivita' che gli operatori possono registrare nella gestione attivita' di Area R-Evolution. Per ogni tipologia definisce: codice (2 caratteri), descrizione, flag note standard proponibili (con relativo testo note), invio mail al nominativo, invio SMS, tipo anagrafico ammesso (clienti/fornitori/tutti), attivita' con importi, proposta articoli, proposta nuovo dossier, modalita' pratica (per il modulo clienti potenziali/pratiche), gruppo di archiviazione ottica, tipologia di chiusura multi-destinatario, stato dossier, e - se attivo il modulo assistenza - creazione intervento e stato chiamata.
Il programma e' dual-use. Da menu parte in modalita' aggiornamento ("A") con inserimento (Ctrl+A), modifica (Invio) e cancellazione (Ctrl+E). Se invece e' invocato come sottoprogramma di aiuto (crm017-called = "CRM017"), parte in modalita' selezione ("S"): l'operatore scorre l'elenco e con Invio restituisce codice e descrizione al chiamante (crm017-out-cod/crm017-out-des).
Sono presenti tre righe fisse non modificabili (*F Ferie, *P Permesso, *M Malattia) precaricate in griglia e protette. La cancellazione e' logica (flag tat-fl-canc), non fisica: consente di ripristinare la tipologia. Ogni modifica e' sincronizzata verso KPN via SWN048. Da griglia sono raggiungibili l'abilitazione tipologie attivita' (F6 = CRM020) e l'assegnazione strategie commerciali (F10 = CRM131).
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri file aziendali (cogfiles.cpy) |
| CRMTPATT | ISAM | I-O | Tipologie attivita' (tat-chia1 = tat-cod; tat-des, tat-fl-note, tat-fl-mail, tat-fl-sms, tat-ana-tip, tat-fl-imp, tat-fl-art, tat-fl-nuovo-dossier, tat-gruppo, tat-mod-pra, tat-fl-multi-dest, tat-note, tat-crea-intervento, tat-stato-chiamata, tat-stato-dossier, tat-fl-canc) |
| CRMTPAGR | ISAM | Input | Gruppi di archiviazione tipo attivita' (tatg-cod, tatg-des) - validazione gruppo |
| CRMATTIV | ISAM (k04) | Input | Attivita' CRM - controllo esistenza attivita' con la tipologia prima della cancellazione (crt-tip) |
| CRMUSRTA | ISAM (k02) | I-O | Abilitazioni tipo attivita' per utente (ctu-tat, ctu-ope) - blocco di cancellazione a cascata (attualmente saltato) |
| CRMUSERS | ISAM | - | Utenti CRM (FD gestito da Screen) |
| CRMTAUSC | ISAM | I-O | Abilitazioni tipo attivita'/stati (tus-tip, tus-tat) - cancellazione a cascata (attualmente saltata) |
| ASNSTCHM | ISAM | Input | Stati chiamata assistenza (astc-cod, astc-des) - decodifica/validazione stato chiamata |
| CRMDOSST | ISAM | Input | Stati dossier (dds-tdo, dds-stato, dds-des) - decodifica/validazione stato dossier |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
crm017.select, crm017.fd, crm017.wrk, crm017-01.scr, crm017.prc, crm017.decla |
Screen Designer |
feurtab.fd, cogfiles.cpy |
FEURTAB |
wstato.cpy, wgrave.cpy, wgrid.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy |
Working storage standard + dati azienda |
utilgdad.cpy |
Linkage GRIDADMN |
utilcrm020.cpy, utilcrm131.cpy, utilcrm01a.cpy, utilcrmk03.cpy, utilasn015.cpy |
Linkage CRM020/131/01A/K03 e ASN015 (aiuti F6/F10/F8) |
utilncnf.cpy |
Linkage RNEWCONF |
utilagprg.cpy |
Linkage SWN048/SWN072 (sincronizzazione KPN) |
utilcrm017.cpy |
Linkage di chiamata dual-use (crm017-caller/called/in-cod/out-cod/out-des) |
stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, opengen.cpy, mmmask.cpy, utilgrid.cpy |
Copybook di fine procedure |
crmattiv.k04, crmusrta.k02 |
Chiavi secondarie (aggiunte a fine procedure) |
Logica¶
Struttura goto-driven a stati con griglia amministrata via GRIDADMN.
- apri: init,
x99-confi,rd-azi,open-files; abilita i tasti in base alla modalita' (F3 selezione/modifica se chiamato); carica bitmapclipote crea i pulsanti custom F6 (abilitazione tipologie) e F10 (assegna strategia commerciale); imposta modalita' (S secrm017-called, altrimenti A). - a10: precarica in griglia le tre righe fisse
*F/*P/*M, poi scorre CRMTPATT (a10-loop) scartando le tre fisse; in modalita' selezione scarta anche le tipologie contat-fl-canc = "C". Per ogni tipologia risolve la descrizione dello stato chiamata (ASNSTCHM, se azienda assistenza) e dello stato dossier (CRMDOSST). - a30 / a-grid / a-accept-grid: costruisce la griglia e attende l'input. Esc esce, Shift+F4 admin griglia, F3 commuta modalita' (in aggiornamento torna in
a4ricostruendo). Invio: in aggiornamento apre il dettaglio (bloccando le fisse e i codici che iniziano per*), in selezione restituisce codice/descrizione al chiamante (bloccando le tipologie cancellate). Ctrl+A inserisce, Ctrl+E cancella (logica). F6 chiama CRM020, F10 chiama CRM131, F1 gestisce le configurazioni. - a-riga-dettaglio ... a-tm-*: accept sequenziale dei campi (descrizione, tipo anagrafico via COGS60, tipo pratica, chiusura multi-destinatario, gruppo con aiuto F8 = CRM01A, flag note/mail/SMS via COGS95, note, importi, articoli, nuovo dossier, crea intervento, stato chiamata con aiuto F8 = ASN015, stato dossier con aiuto F8 = CRMK03). La visibilita' dei campi dipende dalle configurazioni.
- a-riga-dettaglio-fine: valida (
x-imposta-conferma), aggiorna la griglia, poi scrive/riscrive CRMTPATT (wr-crmtpatt/rwr-crmtpatt) travasando tutti i campi. Sincronizza con KPN (x-sincronizza-kpn= SWN048). - c1-ctrl-canc: verifica che non esistano attivita' registrate con la tipologia (CRMATTIV chiave 4); se presenti, blocca.
- c-cancella: esegue la cancellazione logica (
tat-fl-canctoggla fra spazi e "C", poirwr-crmtpatte sincronizzazione). Il blocco che cancellava a cascata le abilitazioni per utente (CRMUSRTA) e le abilitazioni stati (CRMTAUSC) e' presente ma bypassato congo to c-999. - fine / z-chiudi:
z-close-files, chiude la window,exit program.
Configurazioni (RNEWCONF)¶
Pacchetto "C" (x99-confi, 5 chiavi):
| Chiave | Gruppo | Uso |
|---|---|---|
ABILITAZIONE-TIPI-ATTIVITA |
CLIPOT |
Se "S", abilita il pulsante F6 (CRM020) (tm-cfg-abi-tat) |
ATTIVITA-CON-ARTICOLI |
CLIPOT |
Abilita la gestione "proposta articoli" (tm-cfg-fl-art) |
clipot-pratiche |
abilita |
Se "S", rende visibile la colonna/campo tipo pratica (tm-cfg-clipot-pratiche) e abilita F10 |
areasms |
abilita |
Abilita i campi SMS (tm-cfg-abilita-areasms) |
GENERAZIONE-DOSSIER |
ASS-STRUM |
Generazione dossier per assistenza strumentale (tm-cfg-genera-dossier) |
CALL¶
| Programma | Scopo |
|---|---|
GRIDADMN |
Amministrazione e riempimento della griglia |
CRM020 |
Abilitazione tipologia attivita' per operatore (F6) |
CRM131 |
Assegnazione strategie commerciali/stato commessa alla tipologia (F10) |
CRM01A |
Aiuto/selezione gruppo di archiviazione (F8 sul gruppo) |
ASN015 |
Aiuto/selezione stato chiamata assistenza (F8 su stato chiamata) |
CRMK03 |
Aiuto/selezione stato dossier (F8 su stato dossier) |
SWN048 |
Sincronizzazione tipologia attivita' verso KPN |
SWN072 |
Sincronizzazione abilitazioni utente verso KPN (x-sincronizza-kpn2, in ramo di cancellazione a cascata) |
RNEWCONF |
Lettura configurazioni |
| COGS60 / COGS95 | Gestori dei controlli combo/check del dettaglio |
Note¶
- Il codice usa
PERFORM ... THRUeGO TOin modo estensivo (stile legacy). - Cancellazione logica: dal 2022 (marcatore
300522) la cancellazione non e' piu' fisica (del-crmtpattcommentato) ma togglatat-fl-canc; in modalita' selezione le tipologie cancellate sono nascoste, in modalita' modifica sono mostrate ma non selezionabili. - Le tre tipologie fisse
*F/*P/*M(Ferie/Permesso/Malattia) e in generale ogni codice che inizia per*sono protette da modifica/cancellazione. - La cancellazione a cascata delle abilitazioni per utente (CRMUSRTA) e degli stati (CRMTAUSC) e' codice residuo disattivato (
go to c-999): con la cancellazione logica non viene piu' eseguita. - Dual-use: il chiamante imposta
crm017-called = "CRM017"per aprire in selezione e ricevecrm017-out-cod/crm017-out-des. - I campi stato chiamata e crea intervento sono pertinenti solo se e' attivo il modulo assistenza (
az-assist = "S").