Vai al contenuto

CRMK06 - Anagrafica workflow

Sorgente: cbl/crmk06.cbl | Program-ID: CRMK06 | Tipo: Programma interattivo GUI (anagrafica)

Menu: CRM > Operativo > Gestione dossier > Workflow


Scopo

Gestisce l'anagrafica dei workflow (modelli di processo a tappe) applicabili ai dossier CRM. Lavora sulla tabella CRMWKFTS con tip-ogg = "A" (anagrafica workflow, distinta dalle istanze in esecuzione che hanno tip-ogg = "O"). Supporta versionamento dei workflow (campo wkt-ver), flag versione corrente con data, duplicazione completa (via CRMK12) e accesso agli step (via CRMK15). Puo' essere richiamato in modalita' selezione da altri programmi.


File e tabelle

File/Tabella Tipo Modalita' Descrizione
CRMWKFTS ISAM I-O Testata workflow (chiave: tip-ogg + tdo + cod + ver)
CRMDOSTP ISAM Input Tipi dossier (validazione tm-tdo, controllo flag dtp-fl-wkf)
FEURTAB ISAM Input Tabella features/abilitazioni utente

Copybook utilizzate

Copybook Descrizione
crmk06.select, crmk06.fd, crmk06.wrk SELECT, FD, working storage (Screens)
crmk06-01.scr, crmk06.decla, crmk06.prc Screen, declaratives, procedure I/O
cogfiles.cpy Record FEURTAB
wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy Working storage standard
cogazien.cpy Dati azienda
wgrid.cpy, utilgdad.cpy Supporto griglia (GRIDADMN)
utilncnf.cpy Linkage RNEWCONF (configurazione "ese-alla-fine")
utilcrmk01.cpy Linkage CRMK01 (selezione tipo dossier)
utilcrmk12.cpy Linkage CRMK12 (duplicazione/cancellazione workflow)
utilcrmk15.cpy Linkage CRMK15 (gestione step)
utilcrmk06.cpy Linkage di chiamata (called/caller, in/out)
wcont.cpy, wcont1.cpy Linkage standard
stato, stato1, winmsg, grave, opengen, mmmask Infrastruttura standard

Logica di elaborazione

Inizializzazione (apri): Init programma, apertura file. Lettura RNEWCONF (x99-confi): se la configurazione ese-alla-fine non e' "S" il programma segnala errore ed esce. Caricamento bitmap custom per pulsante F6 (gestione step). Se chiamato (crmk06-called = CRMK06) entra in modalita' "S" (selezione). Configura tasti funzione (Ctrl+A, Ctrl+E, Ctrl+C/V, F8, F1, F6 step, Shift+F4).

Selezione tipo dossier (a-tm-tdo): Accept di tm-tdo. F8 chiama CRMK01. F1 apre configurazione RNEWCONF. F3 conferma. La validazione (x-controlla-tm-tdo) verifica che il tipo dossier esista in CRMDOSTP e abbia dtp-fl-wkf = "S" (workflow abilitato).

Caricamento griglia: Scansione CRMWKFTS per tip-ogg = "A" e wkt-tdo = tm-tdo; accumula righe in tm-tab (occurs 800).

Loop griglia (a-grid / a-accept-grid): - Invio in modalita' "A" -> modifica riga - Invio in modalita' "S" -> ritorna al chiamante con crmk06-out-tdo, crmk06-out-cod, crmk06-out-ver - Ctrl+A -> inserimento nuovo workflow - Ctrl+E -> cancellazione workflow (con conferma) - F6 -> chiamata a CRMK15 per gestione step del workflow corrente - Ctrl+C -> memorizza tdo+cod+ver del workflow corrente in w-copia come sorgente - Ctrl+V -> chiama CRMK12 con crmk12-ope = "D" (duplica) per copiare struttura workflow (step + operatori + stati) dal workflow sorgente al corrente - Shift+F4 -> GRIDADMN personalizzazione

Dettaglio riga (a-riga-dettaglio): In modifica fa rd-crmwkfts-lk. Accept codice, descrizione, flag versione corrente (tm-r-fl-ver-corrente). Al salvataggio: - Se la riga viene marcata come "versione corrente" (fl-ver-corrente = "S"), proposta di disattivare le altre versioni dello stesso codice (cambia-ver-corrente). - Se prima era corrente e ora non lo e' piu', azzera la data. - Aggiornamento via wr-crmwkfts / rwr-crmwkfts, sincronizzazione griglia via GRIDADMN.

Chiamate a sottoprogrammi

Programma Utilizzo
CRMK01 Selezione tipo dossier (F8 su tm-tdo)
CRMK12 Duplicazione struttura workflow su Ctrl+V (ope "D")
CRMK15 Gestione step del workflow (F6)
GRIDADMN Gestione griglia (prepara, add/modify, personalizzazione)
RNEWCONF Lettura configurazione (controllo ese-alla-fine)

Note implementative

  • Autore: Gianluca Tonti (03/03/2007).
  • k-max-ele-tab = 800: dimensione tm-tab in memoria.
  • Vincolo iniziale: se la configurazione ese-alla-fine non e' attiva il programma rifiuta di partire (verifica all'apertura).
  • La duplicazione (Ctrl+V) e' delegata interamente a CRMK12: CRMK06 si limita a impostare i parametri origine/destinazione e a richiamarlo con crmk12-ope = "D".
  • La gestione del flag "versione corrente" garantisce mutua esclusione: la marcatura di una versione come corrente innesca la procedura di sganciamento delle altre versioni con relativo aggiornamento delle date.
  • Le voci della tabella CRMWKFTS con tip-ogg = "A" sono i "modelli" di workflow; le istanze attive sui dossier hanno tip-ogg = "O" e sono gestite da CRMK15 in modalita' "ogg".