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 bitmapclipote 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 ditm-tabcon 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 TOe stati in stile legacy; non usaPERFORM ... THRU. - La chiave della griglia (
tm-cfg-abi-tip = "S") abilita entrambi i pulsanti F6 e F7 inx-attiva-tf-grid(conmoveduplicato 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 inapri): la funzione parte sempre in modalita' aggiornamento dal menu.