Vai al contenuto

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" se crmk01-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 custom dossier e clipot e crea i pulsanti F6 (stati) e F5 (categorie documento). Legge la configurazione colori via x99-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 richiesto crmk01-fl-sgc = "S" filtra i soli dtp-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" azzera dtp-wkf-immediato. Dopo il salvataggio esegue x-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 ... THRU e GO TO (stile Screens pre-convenzioni attuali).
  • Il flag "workflow immediato" (dtp-wkf-immediato) e' significativo solo se dtp-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.