CRMS08: Operazioni su attività CRM¶
Posizione nel menu Programma non a menu Linkage section
| Tipo | Dato | Formato | Contenuto |
|---|---|---|---|
| INPUT | CRMS06-OPE | x(20) | Operazione da eseguire Vedi argomenti successivi |
| CRMS08-ANA | Riferimento anagrafico interessato all'operazione | ||
| x(01) | |||
| 9(05) | |||
| CRMS08-NOM | 9(08) | Riferimento nominativo interessato all'operazione E' in alternativa a CRMS08-ANA |
|
| CRMS08-TIP | x(02) | Tipologia attività | |
| CRMS08-OGGETTO | x(60) | Oggetto dell'atttività | |
| CRMS08-TESTO | x(2000) | Testo da inserire nell'attivita' | |
| CRMS08-OPE-AUT | 9(03) | Operatore autore dell'attivita | |
| CRMS08-OPE-DST | 9(03) | Operatore destinatario dell'attivita | |
| CRMS08-FL-ESEGUI | x(01) | L'attivita' deve essere eseguita? S/N (Default=N) | |
| CRMS08-ALLEGATO | x(256) | Nome file da allegare all'attività | |
| CRMS08-ALL-CS | x(01) | Indica se il nome file allegato è in modalità: |
|
| CRMS08-ALL-TIP-DOC | x(02) | Tipo documento allegato (vedi COGU06-DO-TIP-DOC) | |
| CRMS08-DOSSIER | Dossier a cui agganciare l'attività | ||
| x(03) | |||
| 9(12) | |||
| CRMS08-DSR-ID | x(30) | ID dossier a cui agganciare l'attivita' Da fornire eventualmente in alternativa a CMS08-DOSSEIR |
|
| CRMS08-CREA-NOM-MANCANTE | x(01) | Nel caso in cui venga passato il riferimento ad un cliente anagrafico (CRMS08-ANA) e non viene trovato il nominativo collegato, se questo campo contiene "S" verra' creato il nominativo automaticamente | |
| CRMS08-ALL-PROTOCOLLO-MANUALE | x(20) | Nel caso in cui venga creato un allegato: "Numero protocollo manuale" | |
| CRMS08-ALL-DES | x(80) | Nel caso in cui venga creato un allegato: Descrizione da mettere | |
| CRMS08-ALL-CLASSE | x(03) | Nel caso in cui venga creato un allegato: classe | |
| CRMS08-ALL-SUBCLASSE | x(03) | Nel caso in cui venga creato un allegato: sottoclasse | |
| CRMS08-DATI-ALLARME | Dati per la definizione dell'allarme (vedi CRMATTOP) | ||
| x(01) | |||
| 9(08) | |||
| 9(04) | |||
| CRMS08-CLASSE-ATT | x(01) | Indica se dovrà essere creata un'attività di tipo: |
|
| CRMS08-FINE-APP | Data/ora fine attività, nel caso di attività "Agenda" | ||
| 9(08) | |||
| 9(04) | |||
| CRMS08-ASSEGNAZIONE | Data ora assegnazione attività | ||
| 9(08) | |||
| 9(04) | |||
| CRMS08-GRP-OPE-DST | x(04) | Gruppo di operatori destinatari dell'attività, alternativo a CRMS08-OPE-DST | |
| CRMS08-CODICE-GIRO | x(10) | Codice giro a cui è associata l'attività | |
| CRMS08-STATO-ATTIVITA | x(02) | Stato attività | |
| CRMS08-CATEGORIA | x(02) | Categoria attività | |
| OUTPUT | CRMS08-STATO | x(02) | Stato dell'operazione, restituito con le stesse modalita' di operazioni su file |
| CRMS08-MSG | x(80) | Messaggio restituito, in caso di esito <> "00" | |
| CRMS08-ATTIVITA-CREATA | 9(12) | Numero attivita' creata |
Logica generale Questa routine serve per creare una nuova attività.
Operazione: SCRIVI¶
Descrizione Creazione di una nuova attività. E' possibile inserire attivita' di qualunque tipo, anche se per il momento sussistono le seguenti limitazioni: * Un solo operatore destinatario * Un solo nominativo collegato * Un solo allegato * Non è possibile al momento inserire attività in agenda Chiamata standard
| Dato |
|---|
| CRMS06-OPE |
| CRMS08-ANA |
| CRMS08-NOM |
| CRMS08-TIP |
| CRMS08-OGGETTO |
| CRMS08-TESTO |
| CRMS08-OPE-AUT |
| CRMS08-OPE-DST |
| CRMS08-FL-ESEGUI |
| CRMS08-ALLEGATO |
| CRMS08-ALL-CS |
| CRMS08-ALL-TIP-DOC |
| CRMS08-DOSSIER |
| CRS08-DSR-ID |
| CRMS08-CREA-NOM-MANCANTE |
| CRMS08-ALL-PROTOCOLLO-MANUALE |
| CRMS08-ALL-DES |
| CRMS08-ALL-CLASSE |
| CRMS08-ALL-SUBCLASSE |
| CRMS08-DATI-ALLARME |
| CRMS08-CLASSE-ATT |
| CRMS08-FINE-APP |
| CRMS08-ASSEGNAZIONE |
| CRMS08-DSR-ID |
| CRMS08-ATT-DATA |
| CRMS08-CODICE-GIRO |
| CRMS08-STATO-ATTIVITA |
| CRMS08-CATEGORIA |
| CRMS08-CLASSE-ATT |
Elaborazione Vediamo nel dettaglio i vari aggiornamenti effettuati, in funzione dei dati passati in input: A - Creazione nominativo mancante Se viene passato in input il flag opportuno CRMS08-CREA-NOM-MANCANTE, nel caso in cui in input è stato passato un codice anagrafico (CRMS08-ANA) e questo non risulta collegato ad un nominativo, verrà creato con una chiamata a CRMS03, e quindi collegato al codice anagrafico. B - Creazione attività Aggiornamento comune in tutti i casi, crea la parte centrale dell'attività: * Inserimento CRMATTIV * Aumenta il numero attività sull'utente attivo (su CRMUSERS) * Inserimento CRMATTNT (note attività) se presente CRMS08-TESTO * Inserimento operatore destinatario: creazione di CRMATTOP * Aggiornamento stringhe di ricerca attività con CRMS21 Nuovo: se significativo CRMS08-ASSEGNAZIONE, dovrà essere usato al posto di data/ora sistema nei campi dell'attività D - Collegamento a dossier Se CRMS08-DSR-NUM significativo, verrà creato: * il collegamento con il dossier, inserendo un record su CRMDOSAT * il collegamento tra il nominativo relativo all'attività e il dossier su CRMDOSAN * Nuovo: Aggiornamento dei nuovi campi: * DSV-ATT-TIP: CRMS08-TIP * DSV-NOM: nominativo E - Allegato Se richiesto (CRMS08-ALLEGATO <> " "), verrà archiviato l'allegato usando COGU06 F - Attività "agenda" Se CRMS08-CLASSE-ATT = "G" significa che l'utente ha richiesto di creare un appuntamento in agenda; quindi in aggiunta agli aggiornamenti precedenti, si dovrà * Inserire un record su CRMAGAPP (riepilogo appuntamento su agenda) * Aggiornare/inserire CRMAGCAL (spazi su calendario per operatore) * Inserire CRMAGASP (dettaglio spazi occupati per un appuntamento) Assegnazione Diamo per scontato che il calendario di un utente sia suddiviso sempre in spazi da 15 minuti ciascuno. Quindi come prima cosa se necessario dovremo normalizzare l'orario di un appuntamento in funzione di questi spazi: un appuntamento che va dalle 9:10 alle 10:25, occuperà quindi gli spazi: * 9:00 - 9:15 * 9:15 - 9:30 * 9:30 - 9:45 * 9:45 - 10:00 * 10:00 - 10:15 * 10:15 - 10:30 Dopodichè, se dovremo aggiornare un appuntamento come questo sulla base dati, gli aggiornamenti saranno (evidenzio in corsivo la parte chiave): F.1 - Inserimento CRMAGASP Dovremo inserire tanti record quanti sono gli spazi occupati (in questo caso 6);
| Dato | Record 1 | Record 2 | Record 3 | Record 4 | Record 5 | Record 6 |
|---|---|---|---|---|---|---|
| ASP-ATT | Numero attività | Numero attività | Numero attività | Numero attività | Numero attività | Numero attività |
| ASP-OPE | Operatore destinatario | Operatore destinatario |
Operatore destinatario |
Operatore destinatario |
Operatore destinatario | Operatore destinatario |
| ASP-DATA | Data appuntamento | Data appuntamento | Data appuntamento | Data appuntamento | Data appuntamento | Data appuntamento |
| ASP-ORA | 09:00 | 09:15 | 09:30 | 09:45 | 10:00 | 10:15 |
F.2 - Aggiornamento/inserimento CRMAGCAL Dovremo inserire o aggiornare tanti record quanti sono gli spazi occupati (in questo caso 6); NB: generalmente questi record, che rappresentano il calendario, saranno presenti se è già stato generato il calendario per il periodo su cui viene inserito l'appuntamento. Altrimenti sarà necessario inserire i record mancanti.
| Dato | Record 1 | Record 2 | Record 3 | Record 4 | Record 5 | Record 6 |
|---|---|---|---|---|---|---|
| CCA-OPE | Operatore destinatario | Operatore destinatario | Operatore destinatario | Operatore destinatario | Operatore destinatario | Operatore destinatario |
| CCA-DATA | Data appuntamento | Data appuntamento | Data appuntamento | Data appuntamento | Data appuntamento | Data appuntamento |
| CCA-ORA-INI | 09:00 | 09:15 | 09:30 | 09:45 | 10:00 | 10:15 |
| CCA-FL-DISP | "N" | "N" | "N" | "N" | "N" | "N" |
| CCA-FL-OCC | "S" | "S" | "S" | "S" | "S" | "S" |
| CCA-FL-FORZATO | "N" | "N" | "N" | "N" | "N" | "N" |
In caso di inserimento, i 3 flag devono essere inseriti con i valori indicati. In caso di variazione si dovrà solo aggiornare CCA-FL-OCC. F.3 - Inserimento CRMAGAPP Creazione di un record riepilogativo:
| Dato | Record 1 |
|---|---|
| AGP-ATT | Attività |
| AGP-OPE | Operatore destinatario |
| AGP-DATA-INI | Data appuntamento |
| AGP-ORA-INI | 09:00 |
| AGP-NUM-SPAZI | 6 |
| AGP-ORA-REALE | 09:10 |
| AGP-FL-MULTI-OPE | " " (non usato) |
Operazione: "INVIA-CC"¶
Descrizione Questa operazione prende in carico una attività già esistente, e verifica se devono essere inviate "Copie conoscenza", attraverso l'esame della tabella CRMATTOP. Chiamata standard
| Dato | Contenuto |
|---|---|
| CRMS06-OPE | INVIA-CC |
| CRMS08-ATTIVITA-CREATA | Attività da elaborare |
Elaborazione A - Preparazione testo Eseguire una chiamata a COGSA603, con i seguenti parametri:
| Dato | Contenuto |
|---|---|
| COGSA6-OPE | ESTRAI-TESTO |
| COGSA6-CLASSE | "03" |
| COGSA6-LNG | w-lingua-custom, convertito in UPPER; se " " passare "ITA" |
| COGSA6-SUDD | Al momento " " |
| COGSA6-KEY | Numero attività in elaborazione |
| COGSA6-TAB-INFO | Lasciare questa tabella vuota, sarà cercata internamente |
| COGSA6-TAB-PNT | |
All'uscita eseguire una chiamata a COGSA6 - Uso testi variabii, usando Operazione: ESTRAI-TESTO: stessa linkage della chiamata precedente: avrà la tabella con i tag valorizzata, e questa seconda chiamata esegue la sostituzione. All'uscita sarà restituito in COGSA6-TESTO il testo da stampare inviare via e-mail. B - Ricerca indirizzi Scorrere CRMATTOP per l'attività passata in input; verificare se esistono utenti in cui è stata richiesta una "copia conoscenza" ma non è ancora stata inviata; quindi i record con:
| Dato | Contenuto |
|---|---|
| CRP-FL-CC | "S" |
| CRP-CC-INVIATA | <> "S" |
Per ciascun record trovato, eseguire la ricerca su PRNTOPE2 dell'indirizzo di posta a cui inviare il messaggio, e prepararsi una tabella di comodo interna. C - Invio e-mail Con una chiamata a POSTA si effettua l'invio in background del messaggio agli utenti selezionati:
| Dato | Contenuto |
|---|---|
| POSTA-OPE | "Mymail-completo" |
| POSTA-EMAIL | Il primo indirizzo di posta trovato |
| POSTA-OGGETTO | "Notifica di attività" |
| MYMAIL-TEXT | COGSA6-TESTO |
| MYMAIL-INVIO-AUTO | "S" |
| MYMAIL-ESAMINA-ESITO | "O" |
| MYMAIL-TO-PNT | Il numero dei restanti indirizzi, e l'elenco degli stessi Se il numero degli indirizzi restanti supera il massimo consentito (10), ripetere l'elaborazione con una chiamata successiva fino a inviare tutti gli indirizzi trovati in precedenza |
| MYMAIL-TO (n) |
D - Esame esito All'uscita da POSTA, se l'esito restituito è positivo (MYMAIL-ESITO <> "F"), aggiornare lo stato su CRMATTOP per i nominativi inclusi:
| Dato | Contenuto |
|---|---|
| CRP-CC-INVIATO | "S" |
Operazione: AGGIORNA¶
Descrizione Aggiornamento o chiusura di una attività esistente. Per il momento l'elaborazione è limitata alla chiusura di una attività con eventuale modifica dei campi descrittivi (oggetto e testo). I dati non previsti nella chiamata rimarranno invariati rispetto alla chiamata già esistente. Chiamata standard
| INPUT | CRMS06-OPE | AGGIORNA |
|---|---|---|
| CRMS08-ATTIVITA-CREATA | Id attività da aggiornare | |
| CRMS08-OGGETTO | Oggetto dell'atttività | |
| CRMS08-TESTO | Testo da inserire nell'attivita' | |
| CRMS08-OPE-DST | Necessario in caso di chiusura Ignorato in caso di aggiornamento |
|
| CRMS08-FL-ESEGUI | L'attivita' deve essere eseguita? S/N (Default=N) | |
| CRMS08-CODICE-GIRO | Codice giro associato all'attività |
Elaborazione Vediamo nel dettaglio i vari aggiornamenti effettuati, in funzione dei dati passati in input: Se CRMS08-FL-ESEGUI = "S" verrà eseguita la chiusura dell'attività, e gli aggiornamenti possono subire alcune modifiche (vedi sotto) B - Aggiornamento attività Aggiornamento comune in tutti i casi B.1 - Aggiornamento CRMATTIV Leggere e aggiornare i seguenti campi del record:
| Nome campo | Note |
|---|---|
| CRT-NUM | CRMS08-ATTIVITA-CREATA |
| CRT-DATA-ESE | Aggiornare solo in caso di chiusura attività altrimenti rimangono invariati CRMS08-ASS-DATA CRMS08-ASS-ORA |
| CRT-ORA-ESE | |
| CRT-DES | CRMS08-OGGETTO |
| CRT-FL-MULTI-DEST | Non viene aggiornato, ma è importante per il proseguimento: Come mi comporto in caso di attivita` con piu` destinatari? "T": Viene eseguita quando tutti i destinatari la hanno eseguita "P": Viene eseguita quando il primo destinatario la ha eseguita |
| CRT-CODICE-GIRO | CRMS08-CODICE-GIRO |
| CRT-STATO-ATTIVITA | CRMS08-STATO-ATTIVITA |
| CRT-CATEGORIA | CRMS08-CATEGORIA |
B.2 - Aggiornamento CRMATTNT Inserire o aggiornare questo record
| Nome campo | Note |
|---|---|
| CRO-NUM | CRMS08-ATTIVITA-CREATA |
| CRO-NOTE | CRMS08-TESTO |
B.3 - Aggiornamento CRMATTOP Una attività potrebbe essere assegnata a uno o più operatori. Solo in caso di chiusura chiamata, è necessario leggere e chiudere il record relativo all'operatore:
| Nome campo | Note |
|---|---|
| CRP-NUM | CRMS08-ATTIVITA-CREATA |
| CRP-OPE | CRMS08-OPE-DST |
| CRP-FL-ESE | "S" |
Quindi, a seconda del tipo di chiusura richiesto (CRT-FL-MULTI-DEST): B.3.1 - CRT-FL-MULTI-DEST = "P" La chiusura del primo operatore chiude la chiamata per tutti: scorrere tutti i record restanti di CRMATTOP collegati alla chiamata ed impostare il flag di esecuzione CRP-FL-ESE = "S". B.3.2 - CRT-FL-MULTI-DEST <> "P" Ogni operatore deve chiudere la propria attività: scorrere tutti i record restanti di CRMATTOP collegati alla chiamata; se tutti hanno già CRP-FL-ESE = "S", allora l'attività si potrà chiudere definitivamente. B.3.3 - Chiusura attività Se è stata richiesta la chiusura, e per tutti gli operatori l'attività è chiusa, aggiornare ancora CRMATTIV impostando
| Nome campo | Note |
|---|---|
| CRT-FL-ESE | "S" |
Operazione: CHIUDI¶
Descrizione Esegue solamente la chiusura di una attività esistente, senza modificare altre informazioni su di essa. Chiamata standard
| INPUT | CRMS06-OPE | "CHIUDI" |
|---|---|---|
| CRMS08-ATTIVITA-CREATA | Id attività da aggiornare | |
| CRT-DATA-ESE | Data/ora chiusura Se vuoti si userà data/ora sistema |
|
| CRT-ORA-ESE |
Elaborazione Vediamo nel dettaglio i vari aggiornamenti effettuati, in funzione dei dati passati in input: B - Aggiornamento attività B.1 - Aggiornamento CRMATTOP Per ciascun operatore interessato all'attività eseguire la chiusura:
| Nome campo | Note |
|---|---|
| CRP-NUM | CRMS08-ATTIVITA-CREATA |
| CRP-OPE | CRMS08-OPE-DST |
| CRP-FL-ESE | "S" |
B.2 - Aggiornamento CRMATTIV Leggere e aggiornare i seguenti campi del record:
| Nome campo | Note |
|---|---|
| CRT-DATA-ESE | CRMS08-ASS-DATA (Data sistema se vuoto) |
| CRT-ORA-ESE | CRMS08-ASS-ORA (Ora sistema se vuoto) |
| CRT-FL-ESE | "S" |
Estratto da documentazione interna ClickUp