Vai al contenuto

CRM016 - Parametri utenti CRM

Sorgente: cbl/crm016.cbl | Program-ID: CRM016 | Tipo: Programma interattivo (gestione parametri operatori CRM)

Menu: CRM > Archivi > Parametri Utenti


Scopo

CRM016 gestisce i parametri specifici del modulo CRM (Area R-Evolution) associati agli operatori del sistema. Gli utenti non sono creati ne' eliminati qui: l'elenco e' derivato dalla tabella operatori (PRNTOPER); questa funzione ne configura solo gli attributi CRM, memorizzati su CRMUSERS (uno per operatore).

La griglia mostra, per ogni operatore attivo (con esclusione di quelli con ptop-fl-val = "C"), il livello di accesso (1 = superuser, 2 = standard), la pagina di default, statistiche di attivita' (data ultima attivita' e numero attivita', da CRMUSERS in sola lettura), i flag di visibilita' per tipo anagrafico (fornitori/clienti/prospect/altri), l'amministrazione dossier, i flag SMS (nuovo appuntamento/allarme), il blocco filtri nominativi, la sincronizzazione calendario, la visibilita' scheduler, la modifica attivita' altrui, la chiusura automatica attivita' e l'operatore di archiviazione ottica.

La funzione supporta solo inserimento implicito e modifica (mai cancellazione): all'aggiornamento crea il record CRMUSERS se assente e lo riscrive, allineando anche PRNTOPE2. Ogni modifica viene sincronizzata verso KPN via SWN073. Da griglia sono raggiungibili le funzioni collegate di abilitazione tipologie attivita' (F6 = CRM021), abilitazione tipi nominativo (F7 = CRM024) e gestione operatori (F5 = CRM023).

File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB ISAM Input Parametri file aziendali (cogfiles.cpy)
PRNTOPER ISAM Input Anagrafica operatori (ptop-cod, ptop-des, ptop-fl-val, ptop-age) - fonte dell'elenco utenti
PRNTOPE2 ISAM I-O Estensione operatori (pto2-cod) - allineata all'aggiornamento
CRMUSERS ISAM I-O Parametri CRM per operatore (cru-chia1 = cru-ope; cru-liv, cru-pag, cru-num-att, cru-data-att, cru-vis-for, cru-vis-cli, cru-vis-pro, cru-vis-alt, cru-amm-dos, cru-sms-nuovo-app, cru-sms-allarme, cru-blocco-filtri-nom, cru-sync-cal, cru-vis-scheduler, cru-mod-att-altri, cru-fl-chiudi-att, cru-user-arcdoc)

Copybook utilizzate

Copybook Descrizione
crm016.select, crm016.fd, crm016.wrk, crm016-01.scr, crm016.prc, crm016.decla Screen Designer (FD di CRMUSERS, PRNTOPER, PRNTOPE2)
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
utilcrm021.cpy, utilcrm023.cpy, utilcrm024.cpy Linkage CRM021/023/024 (funzioni collegate F6/F5/F7)
utilncnf.cpy Linkage RNEWCONF
utilagprg.cpy Linkage SWN073 (sincronizzazione KPN)
stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, opengen.cpy, mmmask.cpy, utilgrid.cpy Copybook di fine procedure

Il programma non usa un copybook di linkage proprio (util-crm016.cpy e' commentato): la procedure division using stringhe riceve solo l'area comune.

Logica

Struttura goto-driven a stati con griglia amministrata via GRIDADMN.

  • apri: init, open-files, rd-azi, x99-confi; abilita Invio/F3 conferma/Invio modifica/F1/Shift+F4; carica bitmap clipot e crea i pulsanti custom F6 (abilitazione tipologie attivita'), F7 (abilitazione tipi nominativo) e F5 (gestione operatori); imposta modalita' e prepara la griglia.
  • a10 / a10-loop: scorre PRNTOPER, scarta gli operatori cessati (ptop-fl-val = "C"), per ognuno legge CRMUSERS (record azzerato se assente) e riempie una riga di tm-tab con parametri e statistiche.
  • a30 / a-grid / a-accept-grid: costruisce la griglia e attende l'input. Esc esce, Shift+F4 apre l'admin griglia, Invio (in modalita' aggiornamento) apre il dettaglio in modifica. F6 chiama CRM021, F7 chiama CRM024, F5 chiama CRM023, F1 rilegge/gestisce le configurazioni. Non esistono Ctrl+A/Ctrl+E: la tabella non ammette inserimento/cancellazione diretti di utenti.
  • a-riga-dettaglio ... a-tm-*: accept sequenziale dei campi del dettaglio (livello via COGS60, pagina, operatore archiviazione, i vari flag visibilita'/SMS/dossier/scheduler tramite check COGS95, ecc.). All'ingresso in modifica rilegge CRMUSERS in lock e normalizza i flag (i valori diversi da "N"/"S" sono ricondotti al default).
  • a-riga-dettaglio-fine: valida (x-imposta-conferma), aggiorna la riga in griglia (sempre "Modify-Record"), poi aggiorna CRMUSERS: lo crea se assente (wr-crmusers) e lo riscrive (rwr-crmusers) travasando tutti i flag; crea/allinea PRNTOPE2; sincronizza con KPN (x-sincronizza-kpn = SWN073). Torna alla griglia.
  • fine / z-chiudi: z-close-files, chiude la window, exit program.

Configurazioni (RNEWCONF)

Pacchetto "C" (x99-confi, 4 chiavi):

Chiave Gruppo Uso
ABILITAZIONE-TIPI-ATTIVITA clipot Se "S", abilita il pulsante F6 (CRM021, abilitazione tipologie attivita' per operatore) (tm-cfg-abi-tat)
ABILITAZIONE-TIPOLOGIA clipot Se "S", abilita il pulsante F7 (CRM024, abilitazione tipi nominativo per operatore) (tm-cfg-abi-tip)
clipot-pratiche abilita Se "S", rende visibile la colonna "Amm. dossier" della griglia (tm-cfg-clipot-pratiche)
areasms abilita Abilita i campi SMS (tm-cfg-areasms, flag-ok-areasms)

CALL

Programma Scopo
GRIDADMN Amministrazione e riempimento della griglia
CRM021 Abilitazione tipologie attivita' per l'operatore (F6)
CRM024 Abilitazione tipi nominativo per l'operatore (F7)
CRM023 Gestione operatori (F5)
SWN073 Sincronizzazione parametri utente verso KPN
RNEWCONF Lettura configurazioni
COGS60 / COGS95 Gestori dei controlli combo/check del dettaglio (via copybook screen generati z-s60-* / z-s95-*)

Note

  • Il codice usa GO TO e stati in stile legacy; non usa PERFORM ... THRU.
  • La chiave della griglia (tm-cfg-abi-tip = "S") abilita entrambi i pulsanti F6 e F7 in x-attiva-tf-grid (con move duplicato per Ctrl+E che non ha effetto pratico, essendo la cancellazione non prevista).
  • CRMUSERS memorizza anche statistiche di attivita' (cru-num-att, cru-data-att) mostrate in griglia in sola lettura: sono aggiornate da altri programmi CRM, non da CRM016.
  • All'aggiornamento e' sempre eseguito un "Modify-Record" sulla griglia: non essendoci inserimento reale di utenti, a-operazione = "I" interviene solo sul dimensionamento della griglia.
  • Il ramo "chiamato" (w-dc-called) e' presente nello scheletro ma disattivato (blocco commentato in apri): la funzione parte sempre in modalita' aggiornamento dal menu.