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: dimensionetm-tabin memoria.- Vincolo iniziale: se la configurazione
ese-alla-finenon 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 hannotip-ogg = "O"e sono gestite da CRMK15 in modalita' "ogg".