Vai al contenuto

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.

  • 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

  1. Apri: init, lettura configurazione path locale, open files. Tasti funzione F1 (configura), F3 (conferma), F8 (aiuto/calendario), F9 (ricerca avanzata).
  2. Filtri: accept di nominativo (via CRMS02), operatore (aiuto WP04), periodo "da data / a data" (calendario s52). Controllo coerenza date.
  3. Esportazione (F3 -> e-esporta-dettaglio):
  4. Selezione modello: chiamata a COGPA9 in operazione SELEZIONE sul modello E-ATTIVITA-CRM; se l'utente non conferma, esce.
  5. Transito: crea il file COGPA9-T-DATI (nome con operatore + data + ora in ext-tmp-dir).
  6. Pulizia cartella: DIALOGS chiede se azzerare la cartella attivita sul client; su conferma esegue rd /S/Q via COPIAF (shell).
  7. Ricerca dati: ricerca-dati viene eseguita due volte, per crt-fl-ese = "N" e poi "S", leggendo CRMATTIV per chiave 5 (flag esec + data esec) e fermandosi quando cambia il flag o la data supera tm-data-a.
  8. 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'.
  9. 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).
  10. 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>.
  11. Invio: chiamata finale a COGPA9 in operazione ESPORTAZIONE, passando id versione e nome del file di transito dati.
  12. 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-crm di 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 ... THRU e GO TO (stile legacy): non usare come modello per nuovi sviluppi.