Vai al contenuto

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 in w-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-tdo con il tipo ricevuto e lo valida.
  • a-tm-tdo: accept del tipo dossier. F8 chiama CRMK01 (selezione tipo); x-controlla-tm-tdo verifica 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 in tm-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-tdo corrente in w-copia-tdo come sorgente di copia.
  • Ctrl+V: previa conferma, ciclo-copia/tratta-ele copiano tutti i codici del tipo dossier sorgente sul tipo corrente (scrittura record CRMDOSCO con dco-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-canc non effettua controlli di integrita' (imposta sempre c-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 ... THRU e GO 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-crmdosco fallita, 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).