CRM06B - Esportazione attivita' CRM¶
Funzione¶
Esportazione delle attivita' CRM (CRMATTIV e record collegati) verso un modello di import/export standard (modello E-ATTIVITA-CRM gestito da COGPA9), con contestuale scaricamento sul client degli eventuali allegati (documenti ottici) di ciascuna attivita'. L'utente seleziona nominativo, operatore e periodo di esecuzione; il programma costruisce un file di transito dati per COGPA9, un record per ogni informazione prevista dal modello, e invia l'esportazione. Gli allegati vengono estratti dall'archivio ottico e copiati in una cartella locale del client.
Menu¶
- CRM > Utilita' > Esportazione attivita'
Tabelle e file principali¶
| Tabella/File | Descrizione | Accesso |
|---|---|---|
| FEURTAB | Tabella file aziendali | Lettura (rd-azi) |
| CRMATTIV | Attivita' CRM (testata) | Lettura per chiave 5 (flag esec + data esec) |
| CRMATTNT | Note attivita' | Lettura (rd-crmattnt) |
| CRMATTOP | Operatori interessati | Lettura (rd/st/rdnxt) |
| CRMATTAN | Nominativi interessati | Lettura (rd/st/rdnxt) |
| CRMANAGR | Anagrafica nominativi CRM | Lettura indiretta (via CRMS02, aiuto nominativo) |
| PRNTOPER | Anagrafica operatori | Lettura (rd-prntoper) per descrizione operatore |
| COGIMAGE | Indice archivio ottico | Lettura per chiave 2 (allegati attivita') |
| COGPA9-T-DATI | File di transito dati per COGPA9 | Output/I-O, delete e ricreazione |
Copybook e sottoprogrammi¶
| Elemento | Tipo | Ruolo |
|---|---|---|
| crm06b.select / .fd / .wrk / .prc / .decla / -01.scr | Screen | Definizioni file, working, screen |
| k-personal.cpy | Copybook | Costanti personalizzazione |
| k-modelli-ie-e-attivita-crm.cpy | Copybook | Id modello e id delle informazioni E-ATTIVITA-CRM |
| costanti-arcott.cpy | Copybook | Costanti archivio ottico (classe documento) |
| utildlg.cpy | Copybook | Dialog conferma pulizia cartella (DIALOGS) |
| utils52.cpy | Copybook | Controlli data (calendario) |
| utilncnf.cpy | Copybook | Lettura configurazioni RNEWCONF |
| utilcogpa9.cpy | Copybook | Parametri COGPA9 (selezione/esportazione modello) |
| utilcrms02.cpy | Copybook | Aiuto/selezione nominativo CRM (CRMS02) |
| utilwp04.cpy, sendwp04.cpy | Copybook | Selezione operatore (WP04) |
| utilu06.cpy | Copybook | Estrazione documento da archivio ottico (COGU06) |
| l-copiaf.cpy, u-copiaf.cpy | Copybook | Copia/spostamento file server-client (COPIAF) |
| utilgesstr.cpy | Copybook | Conversione/normalizzazione testo (GESSTR) |
| utilu06.cpy, utilu10.cpy | Copybook | Utility comuni |
| crmattiv.k05, cogimage.k02 | Copybook chiavi | Chiavi secondarie |
| COGPA9 | Sottoprogramma | Selezione modello ed esportazione dati |
| CRMS02 | Sottoprogramma | Ricerca/selezione nominativo CRM |
| COGU06 | Sottoprogramma | Estrazione file documento dall'archivio ottico |
| COPIAF | Sottoprogramma | Spostamento/copia allegati server->client e pulizia cartella |
| GESSTR | Sottoprogramma | Normalizzazione testo per l'esportazione |
| DIALOGS | Sottoprogramma | Dialog di conferma pulizia cartella |
| RNEWCONF | Sottoprogramma | Lettura configurazione path locale |
Configurazioni RNEWCONF¶
x99-confi legge la chiave ARC-OTT / PATH-APRI-FILE (tm-cfg-path-locale):
percorso base sul client dove viene creata la sottocartella attivita per gli
allegati.
Logica principale¶
- Apri: init, lettura configurazione path locale, open files. Tasti funzione F1 (configura), F3 (conferma), F8 (aiuto/calendario), F9 (ricerca avanzata).
- Filtri: accept di nominativo (via CRMS02), operatore (aiuto WP04), periodo "da data / a data" (calendario s52). Controllo coerenza date.
- Esportazione (F3 -> e-esporta-dettaglio):
- Selezione modello: chiamata a COGPA9 in operazione SELEZIONE sul modello E-ATTIVITA-CRM; se l'utente non conferma, esce.
- Transito: crea il file COGPA9-T-DATI (nome con operatore + data + ora in
ext-tmp-dir). - Pulizia cartella: DIALOGS chiede se azzerare la cartella
attivitasul client; su conferma eseguerd /S/Qvia COPIAF (shell). - Ricerca dati:
ricerca-dativiene eseguita due volte, percrt-fl-ese = "N"e poi"S", leggendo CRMATTIV per chiave 5 (flag esec + data esec) e fermandosi quando cambia il flag o la data superatm-data-a. - Per ogni attivita' legge note (CRMATTNT), operatore (CRMATTOP, filtrato per operatore se indicato) e nominativo (CRMATTAN, filtrato per nominativo se indicato); se il filtro operatore/nominativo non trova corrispondenza salta l'attivita'.
- Esportazione informazioni (
e-esporta-attivita/e-esporta-info): per ciascuna informazione del modello scrive un record su COGPA9-T-DATI (numero attivita', autore, data inserimento, data/ora prevista, tipologia, tipo, oggetto, descrizione/note, operatore e data/ora esec, flag esec, nominativo, contatto). Oggetto e note vengono normalizzati con GESSTR (rimozione CR/LF, conversione per export). - Allegati: scorre COGIMAGE per la classe attivita' CRM e il numero
attivita'; per ciascun documento chiama COGU06 (estrazione file interno) e
copia il file sul client via COPIAF in
path-locale\attivita\<num>\<prog>.<ext>. - Invio: chiamata finale a COGPA9 in operazione ESPORTAZIONE, passando id versione e nome del file di transito dati.
- Fine: messaggio "elaborazione terminata" e ritorno.
Note tecniche¶
- La lettura di CRMATTIV per chiave 5 in due giri (flag esec N/S) evita di dover filtrare in memoria e sfrutta l'ordinamento della chiave secondaria.
- Le note (cro-note, 4000 caratteri) vengono normalizzate a blocchi (0-2000 e 2001-3998) per rispettare il limite di GESSTR.
- Gli allegati sono trasferiti con operazione "move" da server a client: il file temporaneo lato server viene spostato, non solo copiato.
- La classe documento degli allegati e' la costante
k-arcott-classe-attivita-crmdi costanti-arcott.cpy. - Il codice contiene tracce commentate di un uso "called" (linkage utilcrm06b.cpy) non attivo: il programma e' oggi solo standalone da menu.
- Presenza di
PERFORM ... THRUeGO TO(stile legacy): non usare come modello per nuovi sviluppi.