Vai al contenuto

CRM018 - Gruppi di informazioni CRM

Sorgente: cbl/crm018.cbl | Program-ID: CRM018 | Tipo: Programma interattivo (gestione tabella / dual-use aiuto)

Menu: CRM > Archivi > Gruppi di Informazioni


Scopo

CRM018 gestisce la tabella dei gruppi di informazioni CRM (CRMINFGR), usati per raggruppare le informazioni delle schede nominativo del modulo clienti potenziali. Ogni gruppo e' composto da un codice numerico, una descrizione e un numero di informazioni obbligatorie (num-obb).

Il programma e' dual-use, gestito tramite una griglia amministrata da GRIDADMN. Da menu parte in modalita' aggiornamento ("A") con inserimento (Ctrl+A), modifica (Invio) e cancellazione (Ctrl+E) dei gruppi. Se invocato come sottoprogramma di aiuto (crm018-called = "CRM018"), parte in modalita' selezione ("S"): l'operatore scorre l'elenco e con Invio restituisce codice e descrizione al chiamante (crm018-out-cod/crm018-out-des).

E' il piu' semplice dei quattro archivi CRM di questo gruppo: la cancellazione e' fisica e non prevede controlli di integrita' referenziale (il paragrafo c1-ctrl-canc pone incondizionatamente c-ok = 'S'). Ogni modifica e' sincronizzata verso KPN via SWN043.

File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB ISAM Input Parametri file aziendali (cogfiles.cpy)
CRMINFGR ISAM I-O Gruppi di informazioni (igr-chia1 = igr-cod; igr-des, igr-num-obb)
CRMINFOR ISAM - Dizionario informazioni (FD gestito da Screen, presente nell'FD generato)

Copybook utilizzate

Copybook Descrizione
crm018.select, crm018.fd, crm018.wrk, crm018-01.scr, crm018.prc, crm018.decla Screen Designer
feurtab.fd, cogfiles.cpy FEURTAB
wstato.cpy, wgrave.cpy, wgrid.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy Working storage standard + dati azienda
utilgdad.cpy Linkage GRIDADMN
utilu20.cpy Linkage COGU20
utilncnf.cpy Linkage RNEWCONF
utilagprg.cpy Linkage SWN043 (sincronizzazione KPN)
utilcrm018.cpy Linkage di chiamata dual-use (crm018-caller/called/in-cod/out-cod/out-des)
stato1.cpy, stato.cpy, winmsg.cpy, grave.cpy, opengen.cpy, mmmask.cpy, utilgrid.cpy Copybook di fine procedure

La procedure division using stringhe util-crm018 riceve l'area comune e il copybook di linkage dual-use.

Logica

Struttura goto-driven a stati con griglia amministrata via GRIDADMN.

  • apri: init, z-99-init-program, open-files, rd-azi; imposta la modalita' (S se crm018-called, altrimenti A); abilita F1 configura, Invio, Invio modifica, F3 selezione/modifica (se chiamato), Shift+F4, Ctrl+A, Ctrl+E; prepara la griglia (z-prepara-tm-grid, z-costruisci-controlli).
  • a10 / a10-loop: scorre CRMINFGR (st-crminfgr-notmin + rdnxt-crminfgr) e riempie tm-tab con codice, descrizione e numero obbligatorie.
  • a30 / a-grid / a-accept-grid: costruisce la griglia e attende l'input. Esc esce, F1 gestisce le configurazioni, Shift+F4 apre l'admin griglia (GRIDADMN via GRIDADMN). F3 commuta modalita' S/A. Invio: in aggiornamento apre il dettaglio in modifica, in selezione restituisce codice/descrizione al chiamante. Ctrl+A inserisce, Ctrl+E cancella (previa conferma).
  • a-riga-dettaglio ... a-tm-cod / a-tm-des / a-tm-num-obb: accept sequenziale dei tre campi. In inserimento il codice e' editabile e verificato univoco (rilettura CRMINFGR); in modifica il codice e' bloccato.
  • a-riga-dettaglio-fine: valida (x-imposta-conferma), aggiorna la riga in griglia (Add-Record o Modify-Record), poi scrive/riscrive CRMINFGR (wr-crminfgr/rwr-crminfgr) e sincronizza con KPN (x-sincronizza-kpn = SWN043, chiave "C" + igr-chia1).
  • c-cancella: rilegge il record in lock (rd-crminfgr-lk), esegue del-crminfgr e sincronizza con KPN. La cancellazione e' fisica.
  • c1-ctrl-canc: nessun controllo di integrita' (imposta sempre c-ok = 'S').
  • fine / z-chiudi: z-close-files, chiude la window, exit program.

Configurazioni (RNEWCONF)

Pacchetto "C" (x99-confi), letto quando si gestiscono le configurazioni da F1:

Chiave Gruppo Uso
gruppo-aziende abilita Flag gruppo aziende (tm-cfg-abil-gruppo)

CALL

Programma Scopo
GRIDADMN Amministrazione e riempimento della griglia
SWN043 Sincronizzazione gruppo informazioni verso KPN
RNEWCONF Lettura configurazione gruppo aziende
COGU20 Editor numerico (via copybook utilu20.cpy)

Note

  • Il codice usa PERFORM ... THRU e GO TO in modo estensivo (stile legacy).
  • Dual-use: il chiamante imposta crm018-called = "CRM018" per aprire in selezione e riceve crm018-out-cod (codice numerico su 4 cifre) e crm018-out-des.
  • La cancellazione e' fisica e priva di controlli referenziali: eliminare un gruppo referenziato altrove non e' impedito dal programma. E' la differenza principale rispetto a CRM017, dove la cancellazione e' logica e presidiata.
  • La sincronizzazione KPN (SWN043) usa come chiave "C" concatenato a igr-chia1; e' invocata sia dopo l'aggiornamento sia dopo la cancellazione (x-sincronizza-kpn).