CRMK02 - Codici operativi dossier¶
Sorgente: cbl/crmk02.cbl | Program-ID: CRMK02 | Tipo: Programma interattivo GUI (tabella di supporto a griglia)
Menu: CRM > Archivi > Dossier/Workflow > Codici operativi
Scopo¶
Gestisce l'anagrafica dei codici operativi associati ad un tipo dossier (tabella CRMDOSCO). Il codice operativo qualifica lo stato "operativo" di un dossier (ad es. lavorazione, sospensione, ecc.) e, nei workflow di approvazione documenti AREA, ne governa l'effetto sui documenti (campo dco-effetto-doc). I codici sono gestiti per tipo dossier: l'operatore seleziona prima il tipo dossier (tm-tdo), poi opera sulla griglia dei relativi codici.
La maschera prevede la selezione del tipo dossier (con aiuto F8 tramite CRMK01) seguita da una griglia con dettaglio inline: inserimento (Ctrl+A), modifica (Invio), cancellazione (Ctrl+E) e copia in blocco (Ctrl+C sul tipo sorgente, Ctrl+V sul tipo destinazione) di tutti i codici da un altro tipo dossier.
Il programma puo' essere richiamato in modalita' "selezione" da altri programmi (parametri crmk02-called/crmk02-caller, tipo precaricato in crmk02-in-tdo), restituendo tipo e codice scelti in crmk02-out-tdo/crmk02-out-cod. E' usato in questo modo da CRMK11 (aiuto F8 sul filtro "codice operativo").
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri generali azienda (cogfiles.cpy) |
| CRMDOSCO | ISAM | I-O | Codici operativi dossier (chiave dco-chia1 = dco-tdo + dco-cod) |
| CRMDOSTP | ISAM | Input | Anagrafica tipi dossier (validazione tm-tdo e descrizione dtp-des) |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
crmk02.select, crmk02.fd, crmk02.wrk |
SELECT, FD, working storage (Screens) |
crmk02-01.scr, crmk02.decla, crmk02.prc |
Screen, declaratives, procedure I/O |
cogfiles.cpy |
Record FEURTAB |
crmdosco.cpy, crmdostp.cpy |
Record codici operativi e 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) |
utilcrmk01.cpy |
Linkage CRMK01 (selezione tipo dossier, F8) |
utilcrmk02.cpy |
Linkage di chiamata (called/caller, in-tdo, out-tdo/out-cod) |
wcont.cpy, wcont1.cpy |
Linkage standard |
grave, mmmask, opengen, stato, stato1, winmsg |
Infrastruttura standard |
Logica¶
Struttura goto-driven (stile Screens legacy).
- apri: init,
open-files. Rileva la modalita' "selezione" (w-dc-called = "S", con tipo precaricato inw-dc-tdo). Abilita i tasti funzione (Invio modifica, F1 configura, F3 conferma, Shift+F4 griglia, Ctrl+A/Ctrl+E, F8 aiuto, Ctrl+C/Ctrl+V copia; in selezione anche Invio-seleziona, F3-selezione/modifica). - a4: reset maschera; se chiamato precompila
tm-tdocon il tipo ricevuto e lo valida. - a-tm-tdo: accept del tipo dossier. F8 chiama CRMK01 (selezione tipo);
x-controlla-tm-tdoverifica l'esistenza in CRMDOSTP e ne mostra la descrizione. - a-fine-dati / carica-griglia: scansione di CRMDOSCO filtrata per
dco-tdo = tm-tdo, accumulo delle righe intm-tab(occurs 800), costruzione griglia via GRIDADMN. - a-grid / a-accept-grid: gestione griglia. La cattura di Ctrl+C/Ctrl+V e' realizzata via
set environment "KEYSTROKE"(exception 63/62) attorno all'accept. Invio in "A" apre il dettaglio (operazione "M"), Invio in "S" restituisce tipo+codice al chiamante. Ctrl+A inserisce, Ctrl+E cancella (con conferma), Shift+F4 apre GRIDADMN. - Ctrl+C: memorizza
tm-tdocorrente inw-copia-tdocome sorgente di copia. - Ctrl+V: previa conferma,
ciclo-copia/tratta-elecopiano tutti i codici del tipo dossier sorgente sul tipo corrente (scrittura record CRMDOSCO condco-tdo = tm-tdo, riposizionamento della scansione dopo ogni scrittura). - a-riga-dettaglio + a-tm-r-cod / a-tm-r-des: accept di codice e descrizione.
- a-fine-dettaglio: validazione (
x-controlla-dettaglio), conferma custom, rilettura in lock, scrittura (wr-crmdosco) o riscrittura (rwr-crmdosco), aggiornamento griglia via GRIDADMN. - c-cancella: rilettura in lock e
del-crmdosco.c1-ctrl-cancnon effettua controlli di integrita' (imposta semprec-ok = "S").
CALL¶
| Programma | Scopo |
|---|---|
CRMK01 |
Selezione tipo dossier (F8 su tm-tdo) |
GRIDADMN |
Gestione/personalizzazione griglia (prepara, add/modify record, svuota) |
Note¶
- Il codice usa
PERFORM ... THRUeGO TO(stile Screens pre-convenzioni attuali). - La cattura degli shortcut di copia/incolla usa la ridefinizione temporanea dei keystroke (exception 62/63) intorno all'accept della griglia, ripristinata subito dopo (
^C/^V-> 1002/1003). - La copia in blocco (Ctrl+V) sovrascrive/aggiunge i codici sul tipo destinazione ma non cancella quelli preesistenti: le scritture in errore (
wr-crmdoscofallita, es. duplicato) vengono ignorate. - La cancellazione di un codice operativo non ha controlli di integrita' relazionale verso i dossier che lo utilizzano.
- CRMDOSCO e' letta anche da CRMK11 (consultazione dossier) per risolvere la descrizione del codice operativo (
dco-des).