Vai al contenuto

CRMK14 - Gestione mezzi/provenienza dossier

Sorgente: cbl/crmk14.cbl | Program-ID: CRMK14 | Tipo: Programma interattivo GUI (gestione tabella di supporto)

Menu: CRM > Archivi > Dossier/Workflow > Mezzi/provenienza


Scopo

Gestisce l'anagrafica dei codici mezzo/provenienza legati ad un tipo di dossier (tabella CRMDOSMP). Per ogni tipo dossier (tm-tdo) consente inserimento, modifica, cancellazione e copia in blocco delle voci. L'etichetta visualizzata sul campo e nel titolo della maschera (tm-cfg-mezzi-prov) e' configurabile via RNEWCONF (gruppo dossier, chiave etichetta-mezzi-prov). Puo' essere richiamato anche in modalita' "selezione" da altri programmi (parametro crmk14-called/crmk14-caller).


File e tabelle

File/Tabella Tipo Modalita' Descrizione
CRMDOSMP ISAM I-O Codici mezzo/provenienza per tipo dossier (chiave dmp-chia1 = tipo dossier + codice)
CRMDOSTP ISAM Input Anagrafica tipi dossier (per validazione tm-tdo e descrizione)
FEURTAB ISAM Input Tabella features/abilitazioni utente

Copybook utilizzate

Copybook Descrizione
crmk14.select, crmk14.fd, crmk14.wrk SELECT, FD, working storage (Screens)
crmk14-01.scr, crmk14.decla, crmk14.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, utilgrid.cpy Supporto griglia (GRIDADMN)
utilncnf.cpy Linkage RNEWCONF
utilcrmk01.cpy Linkage chiamata a CRMK01 (selezione tipo dossier)
utilcrmk14.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 azienda. Lettura configurazione dossier / etichetta-mezzi-prov per personalizzare il titolo della maschera. Se il programma e' stato chiamato (crmk14-called = CRMK14), pone a-modalita = "S" (selezione) e precompila tm-tdo con crmk14-in-tdo; altrimenti a-modalita = "A" (aggiornamento). Configura tasti funzione (Ctrl+A aggiungi, Ctrl+E elimina, Ctrl+C/V copia, F8 aiuto, F1 configura, Shift+F4 griglia).

Selezione tipo dossier (a-tm-tdo): Accept del campo tm-tdo. F8 chiama CRMK01 per scelta tipo dossier. F1 apre configurazione RNEWCONF. F3 conferma e passa al caricamento griglia.

Caricamento griglia (carica-griglia): Scansione di CRMDOSMP con st-crmdosmp-notmin filtrata per dmp-tdo = tm-tdo, accumula le righe in tm-tab (occurs 800).

Loop griglia (a-grid / a-accept-grid): - Invio in modalita' "A" -> modifica riga corrente (a-riga-dettaglio con a-operazione = "M") - Invio in modalita' "S" -> ritorna al chiamante con crmk14-out-tdo e crmk14-out-cod - Ctrl+A -> inserimento nuova riga - Ctrl+E -> cancellazione riga (con conferma; richiama del-crmdosmp) - Ctrl+C -> memorizza tm-tdo in w-copia-tdo come sorgente per copia - Ctrl+V -> copia in blocco di tutte le righe del tipo dossier sorgente (ciclo-copia / tratta-ele) sul tipo dossier corrente - Shift+F4 -> apertura GRIDADMN per personalizzazione griglia - F3 in modalita' chiamata -> commuta tra modalita' selezione/aggiornamento

Dettaglio riga (a-riga-dettaglio): In modifica esegue rd-crmdosmp-lk (lock). Accept codice (tm-r-cod) e descrizione (tm-r-des). In a-fine-dettaglio rilegge in lock, se esiste fa rwr-crmdosmp altrimenti wr-crmdosmp; aggiorna la griglia tramite GRIDADMN (Add-Record/Modify-Record).

Resize: z-99-event-form-1 ricalcola griglia su evento ntf-resized.

Chiamate a sottoprogrammi

Programma Utilizzo
CRMK01 Selezione tipo dossier (F8 su tm-tdo)
GRIDADMN Gestione griglia (prepara, add/modify record, personalizzazione, svuota)
RNEWCONF Lettura configurazione etichetta dossier / etichetta-mezzi-prov

Note implementative

  • Autore: Gianluca Tonti (18/01/2007).
  • k-max-ele-tab = 800: dimensione massima tm-tab in memoria.
  • L'etichetta personalizzata e' letta da RNEWCONF e usata sia nel titolo della maschera (concatenata con m-crmk14-20-1) sia nei messaggi di conferma/copia.
  • La modalita' "selezione" (richiamato) abilita anche F3 selezione/F3 modifica e Invio seleziona, oltre alle funzioni base di aggiornamento.
  • La cancellazione di una riga non ha controlli di integrita' relazionale (c1-ctrl-canc imposta sempre c-ok = "S").