Vai al contenuto

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 bitmap clipot e crea i pulsanti custom F6 (abilitazione tipologie) e F10 (assegna strategia commerciale); imposta modalita' (S se crm017-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 con tat-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 a4 ricostruendo). 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-canc toggla fra spazi e "C", poi rwr-crmtpatt e sincronizzazione). Il blocco che cancellava a cascata le abilitazioni per utente (CRMUSRTA) e le abilitazioni stati (CRMTAUSC) e' presente ma bypassato con go 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 ... THRU e GO TO in modo estensivo (stile legacy).
  • Cancellazione logica: dal 2022 (marcatore 300522) la cancellazione non e' piu' fisica (del-crmtpatt commentato) ma toggla tat-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 riceve crm017-out-cod/crm017-out-des.
  • I campi stato chiamata e crea intervento sono pertinenti solo se e' attivo il modulo assistenza (az-assist = "S").