CRMK01 - Anagrafica tipi dossier¶
Sorgente: cbl/crmk01.cbl | Program-ID: CRMK01 | Tipo: Programma interattivo GUI (anagrafica a griglia)
Menu: CRM > Archivi > Dossier/Workflow > Tipi dossier
Scopo¶
Gestisce l'anagrafica dei tipi dossier (tabella CRMDOSTP), la tabella "madre" del sotto-modulo CRM Dossier/Workflow. Ogni tipo dossier definisce le regole di comportamento dei dossier che vi appartengono: obbligatorieta' del codice operativo, gestione del workflow (e sua modalita' "immediata"), gestione delle strategie commerciali, descrizione standard da proporre sui nuovi dossier e flag di cancellazione logica.
La maschera e' a griglia unica (elenco tipi dossier) con dettaglio inline: l'operatore inserisce (Ctrl+A), modifica (Invio) e in passato cancellava le righe. Dal fix PCASE-2080 (28/04/2021) la cancellazione fisica e' stata disabilitata: la dismissione di un tipo dossier avviene ora tramite il campo di validita' dtp-val = "C" (cancellato logicamente); in fase di consultazione/selezione i record cancellati logicamente vengono esclusi.
Dalla griglia si accede a due gestioni figlie tramite pulsanti custom: F6 apre CRMK08 (stati per tipo dossier) e F5 apre CRMK22 (categorie documento per tipo dossier). Il programma puo' essere richiamato da altri moduli in modalita' "selezione" (parametri crmk01-called/crmk01-caller), restituendo il codice scelto in crmk01-out-cod; se il chiamante passa crmk01-fl-sgc = "S" la selezione filtra i soli tipi dossier con gestione strategie commerciali (dtp-fl-sgc = "S").
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri generali azienda (cogfiles.cpy) |
| CRMDOSTP | ISAM | I-O | Anagrafica tipi dossier (chiave dtp-chia1 = dtp-cod; alt. dtp-chia2 = dtp-des + dtp-chia1) |
| CRMDOSSR | ISAM (k03) | Input | Anagrafica dossier: controllo, in c1-ctrl-canc, se il tipo e' gia' usato da dossier (dsa-tdo) |
| CRMWKFTS | ISAM | Input | Testate workflow: controllo, in c1-ctrl-canc, se il tipo ha workflow definiti (wkt-tip-ogg = "A", wkt-tdo) |
| CRMTAUSC | ISAM | Input | Collegamento tipo attivita'/utente/strategia commerciale: in x-controlla-tm-r-fl-sgc blocca la disattivazione del flag strategie se esistono assegnazioni (tus-tip = "SC") |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
crmk01.select, crmk01.fd, crmk01.wrk |
SELECT, FD, working storage (Screens) |
crmk01-01.scr, crmk01.decla, crmk01.prc |
Screen, declaratives, procedure I/O |
cogfiles.cpy |
Record FEURTAB |
crmdostp.cpy |
Record tipi dossier (via FD Screens) |
wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy |
Working storage standard |
cogazien.cpy |
Dati azienda |
wgrid.cpy, utilgdad.cpy, utilgrid.cpy |
Supporto griglia (GRIDADMN) |
utilcrmk08.cpy |
Linkage CRMK08 (stati per tipo dossier, F6) |
utilcrmk22.cpy |
Linkage CRMK22 (categorie documento, F5) |
utilagprg.cpy |
Linkage sincronizzazione portale/KPN (SWN059) |
utilncnf.cpy |
Linkage RNEWCONF |
utilcrmk01.cpy |
Linkage di chiamata (crmk01-called/caller, crmk01-out-cod, crmk01-fl-sgc) |
wcont.cpy, wcont1.cpy |
Linkage standard |
grave, mmmask, opengen, stato, stato1, winmsg |
Infrastruttura standard |
crmdossr.k03 |
Chiave secondaria CRMDOSSR (aggiunta a fine procedure) |
Logica¶
Struttura goto-driven (stile Screens legacy).
- apri:
z-99-init-program,ctr-abil,rd-azi,open-files. Rileva la modalita' "selezione" (w-dc-called = "S"secrmk01-called = k-program-id). Abilita i tasti funzione (F1 configura, Invio modifica, F3 conferma, Shift+F4 griglia, Ctrl+A aggiungi; in selezione anche Invio-seleziona, F3-selezione/modifica). Carica le bitmap customdossiereclipote crea i pulsanti F6 (stati) e F5 (categorie documento). Legge la configurazione colori viax99-confi. - a4 / a-grid / a-accept-grid: costruzione griglia via GRIDADMN (
z-costruisci-grid), accept sulla griglia. F1 apre RNEWCONF, Shift+F4 apre GRIDADMN (personalizzazione), F3 in modalita' chiamata commuta selezione/aggiornamento. Invio in "A" apre il dettaglio riga (a-riga-dettaglio, operazione "M"); Invio in "S" restituisce il codice al chiamante (con blocco se il record e' cancellato logicamente,tm-r-val = "C"). Ctrl+A inserisce (operazione "I"). F6 chiama CRMK08, F5 chiama CRMK22. - carica-griglia: scansione completa di CRMDOSTP; in modalita' selezione esclude i record con
dtp-val = "C"; se il chiamante ha richiestocrmk01-fl-sgc = "S"filtra i solidtp-fl-sgc = "S". - a-riga-dettaglio + a-tm-r-*: accept dei campi codice, descrizione, cod. operativo obbligatorio, prevede workflow, workflow immediato (abilitato solo se prevede workflow), strategie commerciali, descrizione standard (oggetto) e annullato (
tm-r-val). - a-fine-dettaglio: validazione completa (
x-controlla-dettaglio), conferma custom, rilettura in lock, scrittura (wr-crmdostp) o riscrittura (rwr-crmdostp) del record CRMDOSTP; se il flag workflow non e' "S" azzeradtp-wkf-immediato. Dopo il salvataggio eseguex-sincronizza-kpn(esporta la chiave al portale) e aggiorna la riga di griglia via GRIDADMN. - x-controlla-tm-r-fl-sgc: impedisce di avere contemporaneamente workflow e strategie commerciali; se si disattiva il flag strategie ma esistono assegnazioni su CRMTAUSC (tipo "SC" per quel codice) ripristina il valore.
- c1-ctrl-canc: controllo di integrita' (ora solo messaggi non bloccanti dopo PCASE-2080): segnala se il tipo e' gia' usato da dossier (CRMDOSSR) o da workflow (CRMWKFTS).
Configurazioni (RNEWCONF)¶
Pacchetto "C", punto 01:
| Chiave | Uso |
|---|---|
riga-griglia-warning (gruppo colori) |
Colore numerico per l'evidenziazione di righe in warning nella griglia (tm-cfg-color-warning) |
CALL¶
| Programma | Scopo |
|---|---|
CRMK08 |
Gestione stati per tipo dossier (F6) |
CRMK22 |
Gestione categorie documento per tipo dossier (F5) |
GRIDADMN |
Gestione/personalizzazione griglia (prepara, add/modify record, svuota) |
RNEWCONF |
Lettura configurazione colori |
SWN059 |
Sincronizzazione della chiave tipo dossier verso il portale/KPN (x-sincronizza-kpn, agprg-ope = "ESPORTA-KEY") |
Note¶
- La cancellazione fisica del tipo dossier e' disabilitata (blocco codice commentato con marcatore PCASE-2080 del 28/04/2021 e messaggi ammorbiditi il 15/06/2022): la dismissione avviene tramite
dtp-val = "C"(cancellazione logica). - Il codice usa
PERFORM ... THRUeGO TO(stile Screens pre-convenzioni attuali). - Il flag "workflow immediato" (
dtp-wkf-immediato) e' significativo solo sedtp-fl-wkf = "S"; altrimenti viene forzato a "N" al salvataggio. - Mutua esclusione: un tipo dossier non puo' avere contemporaneamente gestione workflow e gestione strategie commerciali attive.
- CRMDOSTP e' condivisa e referenziata da tutto il sotto-modulo (CRMK02 codici operativi, CRMK03/CRMK08 stati, CRMK06 workflow, CRMK14 mezzi/provenienza, CRMK11 consultazione dossier): modifiche al layout impattano numerosi programmi.
- La sincronizzazione portale (SWN059) e' invocata con
ON OVERFLOW CONTINUE: l'assenza del modulo non blocca il salvataggio.