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 massimatm-tabin 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-cancimposta semprec-ok = "S").