Vai al contenuto

CRMK21 - Ricerca e situazione dossier/workflow

Sorgente: cbl/crmk21.cbl | Program-ID: CRMK21 | Tipo: Programma interattivo GUI (ricerca a due pagine con griglia)

Menu: CRM > Operativo > Gestione dossier > Situazione Workflow


Scopo

Fornisce la ricerca dei dossier CRM e la visualizzazione della loro situazione di workflow: per ogni dossier aperto (con workflow assegnato) mostra lo step attivo, l'attivita' collegata, l'operatore assegnatario, la data/ora di scadenza e lo stato, evidenziando in colore i workflow in ritardo. Dalla griglia l'utente accede alle funzioni operative sul dossier (destinatari, attivita', gestione step, dettaglio, agenda AreaWkAd) e puo' eliminare o sbloccare un dossier.

La maschera e' organizzata su due pagine (tab): pagina 1 con i criteri di filtro, pagina 2 con la griglia dei risultati. I risultati vengono materializzati in un file di transito temporaneo COGTRANS (per operatore), che consente lo scorrimento paginato e l'ordinamento su piu' chiavi.

Nota: il commento di testata del sorgente riporta "Ricerca dossier"; la voce di menu "Situazione Workflow" ne evidenzia l'uso operativo per il monitoraggio degli step di workflow. Le due descrizioni sono coerenti: la funzione reale e' la ricerca dossier con vista sulla situazione workflow.


File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB ISAM I-O Tabella features/abilitazioni utente
COGTRANS ISAM (temporaneo, #$CRMK21.<oper>) I-O File di transito con i dossier estratti (chiavi: trs-chia1 + 3 chiavi alternate per ordinamento)
tran-crmk04 file temporaneo Input Insieme dossier che soddisfano la ricerca testuale (da CRMK04)
CRMDOSSR ISAM Input Testate dossier (scansione principale, chiave k04)
CRMDOSAN ISAM Input Nominativi associati al dossier (dsn-*)
CRMDOSCP ISAM Input Controparti del dossier (dsc-*)
CRMDOSNT ISAM Input Note dossier (dnt-*)
CRMDOSTP ISAM Input Tipologie dossier (dtp-*)
CRMDOSST ISAM Input Stati dossier (dds-*, individua lo stato "chiuso")
CRMDOSCO/CRMDOSMP/CRMDOSRS ISAM Input Descrizioni codice operazione / mezzo provenienza / raggruppamento statistico
CRMANAGR ISAM Input Anagrafica nominativi CRM (cra-*)
CRMWKFMV ISAM Input/I-O Movimenti/step di workflow (wkm-*); riaperto I-O per sblocco
CRMWKFST ISAM Input Anagrafica step workflow (wks-*, descrizione step)
CRMATTIV ISAM Input/I-O Attivita' collegate agli step (crt-*); riaperto I-O per sblocco
CRMATTOP ISAM Input Operatori assegnati all'attivita' (crp-*)
CRMUSERS ISAM Input Profilo utente CRM (visibilita' nominativi, amministratore dossier)
PRNTOPER ISAM Input Anagrafica operatori (ptop-*)

Copybook utilizzate

Copybook Descrizione
crmk21.select, crmk21.fd, crmk21.wrk SELECT, FD, working storage (Screens)
crmk21-01.scr, crmk21.decla, crmk21.prc Screen, declaratives, procedure I/O
feurtab.fd, cogfiles.cpy Record FEURTAB
tran-crmk04.fd, tran-crmk04.cpy, tran-crmk04.k01 File temporaneo esiti ricerca testuale
k-u10.cpy Costanti U10
wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy Working storage standard
cogazien.cpy Dati azienda
wgrid.cpy, utilgdad.cpy, utilpggr.cpy, fscrol2.cpy Supporto griglia paginata (GRIDADMN)
utilareawkad.cpy Linkage AREAWKAD (agenda/stato workflow)
utilcrm051.cpy, utilcrm056.cpy Linkage CRM051 (attivita'), CRM056 (destinatari)
utilcrmk01.cpy, utilcrmk04.cpy, utilcrmk10.cpy, utilcrmk15.cpy, utilcrmk19.cpy, utilcrmk25.cpy Linkage sottoprogrammi CRMK*
utilcrms02.cpy, utilwp04.cpy Linkage CRMS02 (ricerca nominativo), WP04 (ricerca operatore)
utilncnf.cpy Linkage RNEWCONF
acucobol.def Definizioni ambiente
wcont.cpy, wcont1.cpy Linkage standard
grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy Infrastruttura standard
dtab.cpy, sendwp04.cpy Supporto
crmdossr.k04, cogtrans.k01..k04 Chiavi CRMDOSSR e COGTRANS

Logica di elaborazione

Inizializzazione (apri): Init programma, apertura file, configurazione tasti (F1 configura, F3 modifica, F7 filtra, Shift+F4 griglia, Shift+F5 esporta Excel, F8 aiuto/dettaglio, Ctrl+E elimina). Legge la configurazione RNEWCONF (x99-confi). Compone il nome del file di transito temporaneo COGTRANS con directory temp, program-id e codice operatore. Carica 5 pulsanti custom (F4 attivita', F6 gestione, F2 destinatari, F5 attivita', F10 stato workflow).

Pagina 1 - filtri (a-pagina-1 e accept): Carica il profilo dell'operatore (carica-dati-ope da CRMUSERS: flag di visibilita' per fornitori/clienti/prospect/altri e flag amministratore dossier). Accept dei criteri: identificativo dossier, ordinamento, nominativo (via CRMS02), tipologia (F8 -> CRMK01), descrizione, note, controparte, operatore (F8 -> WP04). La visibilita' del nominativo per tipo anagrafica e' filtrata in base ai flag del profilo. F7 conferma i filtri e passa alla griglia.

Costruzione risultati (a-ricarica-dati / carica-dati): Se i filtri sono cambiati, ricrea COGTRANS (close/open output/open i-o). Se sono valorizzati descrizione, note o controparte, invoca CRMK04 (z-crmk04-ricerca) per ottenere il file temporaneo tran-crmk04 con i dossier che soddisfano la ricerca testuale. Poi scansiona CRMDOSSR (chiave 4) applicando i filtri: - Esclude dossier nello stato "chiuso" (w-stato, individuato in carica-stato da CRMDOSST con dds-stato-part = "C"). - Esclude dossier senza workflow assegnato o chiusi manualmente. - Applica i filtri su identificativo, tipologia, nominativo (posizione 1 o 2 su CRMDOSAN), esito ricerca testuale (tran-crmk04), operatore (ctrl-ope-att: operatore assegnato ad almeno un'attivita' aperta e non eseguita).

Per ogni dossier che passa i filtri costruisce un record COGTRANS arricchito con nominativi (carica-nomi), controparti (carica-controparte), note, descrizioni codici, stato e situazione step (carica-step).

Situazione step (carica-step): Scorre a ritroso i movimenti workflow CRMWKFMV del dossier (esclude gli step eliminati wkm-stato = "E"), individua lo step attivo, conta il numero di step aperti (trs-num-step), memorizza l'ultimo progressivo, legge la descrizione step (CRMWKFST) e l'attivita' collegata (CRMATTIV) con relativa data/ora di scadenza. Determina l'operatore (carica-ope da CRMATTOP; se piu' operatori imposta il flag "Piu' destinatari"). Se il workflow non ha alcuno step aperto emette un avviso.

Griglia (a-grid): Popolamento paginato via GRIDADMN (z-costruisci-grid, x-add-record-to-grid). Il colore riga (colore-griglia) marca in ritardo i workflow con data/ora attivita' precedente alla data/ora di sistema, usando il colore configurato. Funzioni disponibili sulla riga selezionata: - F2 (w-pbc-visible) -> CRM056 gestione destinatari (per step iniziali). - F3 (a1-sblocca-workflow) -> sblocco workflow: riapre l'ultimo step (wkm-stato = "A") e la relativa attivita' (crt-fl-ese = "N"); workaround per workflow rimasti bloccati da errori di runtime. - F4 -> CRM051 attivita' del dossier (periodo anno corrente). - F5 -> CRMK19 attivita' (per step successivi al primo). - F6 -> CRMK15 gestione step (modalita' "O" ogg). - F8 -> CRMK10 dettaglio dossier (ope "V"). - F10 -> AREAWKAD stato/agenda workflow (se abilitato da configurazione). - Ctrl+E -> eliminazione dossier via CRMK25 (solo amministratore dossier): alla conferma cancella il record da COGTRANS. - Shift+F4 -> GRIDADMN personalizzazione; Shift+F5 -> esportazione Excel della griglia.

Chiusura (fine): Chiude e cancella i file temporanei COGTRANS e tran-crmk04.

Chiamate a sottoprogrammi

Programma Utilizzo
CRMK04 Ricerca testuale su descrizione/note/controparte (produce tran-crmk04)
CRMK01 Selezione tipologia dossier (F8)
CRMS02 Ricerca/selezione nominativo (accept nominativo)
WP04 Ricerca/selezione operatore (F8 su operatore)
CRM056 Gestione destinatari (F2)
CRM051 Attivita' del dossier (F4)
CRMK19 Attivita' workflow (F5)
CRMK15 Gestione step del workflow (F6)
CRMK10 Dettaglio dossier (F8)
CRMK25 Eliminazione dossier (Ctrl+E)
AREAWKAD Stato/agenda workflow (F10)
GRIDADMN Gestione griglia paginata
RNEWCONF Lettura/modifica configurazione

Configurazione (RNEWCONF)

Gruppo/chiavi lette in x99-confi (pacchetto C):

Gruppo Chiave Uso
dossier ricerca-dossier-ord-default Ordinamento di default della ricerca
crm-agenda colore-att-wf-ritardo Colore evidenziazione workflow in ritardo
dossier etichetta-mezzi-prov Etichetta colonna mezzi di provenienza
dossier etichetta-ragg-stat Etichetta colonna raggruppamento statistico
dossier etichetta-nominativo-primario Etichetta colonna nominativo primario
dossier etichetta-nominativo-secondario Etichetta colonna nominativo secondario
dossier abilito-areawkad Abilitazione pulsante F10 stato workflow (AREAWKAD)

Gestione errori

  • Errore in apertura del file di transito COGTRANS -> messaggio e uscita.
  • La scansione dossier e' presidiata da filtri sequenziali che scartano i record non pertinenti (stato chiuso, senza workflow, chiusi manualmente, fuori filtro).
  • Workflow senza step aperto -> avviso all'utente (vbx-msg-warning) in carica-step-fine.
  • Lo sblocco workflow (F3) opera solo se l'ultimo step del dossier viene trovato su CRMWKFMV.

Note implementative

  • Autore: Gianluca Tonti (19/04/2007), direttamente GUI.
  • k-max-ele-tab = 900: dimensione della tabella righe in memoria; la griglia e' comunque paginata su COGTRANS.
  • L'ordinamento della griglia (tm-ord) seleziona a runtime la chiave di lettura di COGTRANS tra trs-chia1 (default), chia2 (data), chia3 (id), chia4 (nominativo).
  • a1-sblocca-workflow e' un workaround esplicito per recuperare workflow rimasti bloccati da errori di runtime: riapre l'ultimo step e l'attivita' collegata affinche' possano essere rieseguiti.
  • configuration section: usa source-computer/object-computer acu-cobol.