SWN038 - Importazione nuovi clienti¶
Nome programma SWN038 Linkage section UTILAGPRG - Linkage comune Id processo: 41 Nome processo: NUOVI-CLIENTI Tabelle principali gestite
| AREA | AREAGATE | Direzione |
|---|---|---|
| COGGEANA COGAPPOG .... |
ARPCLIECOM | <------ |
Logica generale Sincronizzazione dei nuovi clienti inseriti sul web Esportazione Non gestita Importazione Le applicazioni WEB potranno inserire nuovi clienti su ARPCLIECOM, che saranno importati come clienti ATTENZIONE: Ora la configurazione gestione-schede-areagate non avrà più effetto su questa funzione: le schede anagrafiche possono essere sincronizzate anche in presenza di questa configurazione attiva. Configurazioni possibili
| Gruppo | Parametro | Note |
|---|---|---|
| abilita | attiva-areaapp | |
| areaapp | cod-azienda | |
| areaapp | db-conn-string | |
| areaapp | agg-postgres-online | |
| clipot | tipo-nominativo-anagr-cliente | |
| clipot | gestione-schede-areagate |
Elaborazione Tipi di segnalazione: Vedi Tipi di segnalazione A - Controllo di esecuzione Vedi Controllo di esecuzione A.1 - Aggiornamento KEEP-ALIVE Per il momento non lo eseguiamo: il keep-alive viene tenuto aggiornato dal thread autonomo di aglancio; se il programma venisse chiamato in "tempo reale" dal programma di gestione, non necessita comunque del keep-alive. A.2 - Apertura A.2.1 Apertura tabelle Tentare l'apertura della tabella da sincronizzare: ARPCLIEC Se fallita inviare una Segnalazione critica e chiudere. C - Importazione aggiornamenti Effettuare una query per estrarre tutti gli elementi aggiornati su APP: SELECT * FROM ARPCLIECOM WHERE a_clcom_azi = azienda AND a_clcom_cliente = " " AND (a_clcom_cra_cod = 0 OR -> Nominativo nuovo in assoluto a_clcom_agg_app = 'A') -> Nominativo già importato come prospect ma con un ordine (in questo caso lo shop imposterà il flag "agg_app") Ogni elemento trovato sarà un nuovo cliente da importare. Potrebbe nascere da un nominativo CRM: in questo caso avrà A_CLCOM_CRA_COD > 0. Controllo presenza di un ordine La provenienza A-CLCOM-PROVENIENZA identifica se il cliente è stato creato da: * "S":Shop e-commerce-> controllare l'esistenza di un ordine per il cliente: * Query su ARPORTES, per verificare se esistono ordini con A_ORTES_ID_UTENTE = A_CLCOM_ID_UTENTE * Se esiste almeno un ordine: procedere con l'importazione C.1 Importazione nuovo cliente * Se non esiste nessun ordine, procedere con l'importazione C.2 Importazione nuovo prospect, se A-CLCOM-CRA-COD = 0 * "A":APP -> procedere con l'importazione direttamente: C.1 Importazione nuovo cliente * " " (Areagate?) -> procedere con l'importazione direttamente: C.1 Importazione nuovo cliente C.1 - Importazione nuovo cliente C.1.1 - Cliente La creazione di un nuovo cliente viene eseguita con una call a "INSANA":
| Dato | Contenuto |
|---|---|
| INSANA-TIP | "C" |
| INSANA-COD | 0 |
| INSANA-NOM-COD | 0 |
| INSANA-NOME | A-CLCOM-NOME |
| INSANA-IND | A-CLCOM-IND |
| INSANA-LOCA | A-CLCOM-LOCA |
| INSANA-CAP | A-CLCOM-CAP |
| INSANA-PROV | A-CLCOM-PROV |
| INSANA-STATO | A-CLCOM-STATO Se lo stato è "IT" o "ITA", lasciare vuoto |
| INSANA-PIVA | A-CLCOM-PIVA (solo la parte numerica) |
| INSANA-CFIS | A-CLCOM-COFI |
| INSANA-TEL | A-CLCOM-TEL |
| INSANA-FAX | " " |
| INSANA-EMAIL | A-CLCOM-EMAIL |
| INSANA-WEB | " " |
| INSANA-NOTE | A-CLCOM-NOTE |
| INSANA-AGENTE | A-CLCOM-AGENTE |
| INSANA-ZONA | A-CLCOM-ZONA |
| INSANA-TIPOLOGIA | A-CLCOM-TIPOLOGIA |
| INSANA-LATITUDINE | A-CLCOM-LATITUDINE |
| INSANA-LONGITUDINE | A-CLCOM-LONGITUDINE |
| INSANA-COD-NOM | A-CLCOM-CRA-COD (se è significativo, crea il cliente agganciandolo al prospect/lead indicato) |
| INSANA-NOME2 | A-CLCOM-NOME2 |
| INSANA-FTE-COD-DEST | A-CLCOM-FTE-COD-DEST |
| INSANA-PEC-PRINCIPALE | A-CLCOM-PEC-PRINCIPALE |
All'uscita, INSANA-ESITO contiene l'esito dell'operazione. Se "N", registrare il messaggio INSANA-MSG sul log e saltare il resto dell'aggiornamento. Altrimenti INSANA-COD conterrà il codice del cliente creato. C.1.1.1 Altre informazioni cliente Leggere COGGEANA per il cliente creato:
| Dato | Contenuto |
|---|---|
| ANA-TIPO | "C" |
| ANA-COD | INSANA-COD |
e aggiornare alcuni dati non gestiti da INSANA:
| Dato | Contenuto |
|---|---|
| ANA-FASCIA-TRF | A-CLCOM-FASCIA-TRF |
| ANA-RIFLISTINO | A-CLCOM-LISTINO |
| ANA-PADRE | A-CLCOM-PADRE (2:5) |
C.1.2 Creazione scheda CRM Al termine, se A-CLCOM-CRA-COD era vuoto (quindi ho creato l'anagrafica cliente da 0), eseguire una chiamata a CRMS03:
| Dato | Contenuto |
|---|---|
| CRMS03-OPE | "Aggiorna" |
| CRMS03-ANA-TIP | "C" |
| CRMS03-ANA-COD | INSANA-COD |
Questa chiamata crea il nominativo CRM corrispondente al cliente La parte di SWA030 dove veniva acquisita la scheda corrispondente a A-CLCOM-ID-UTENTE qui non sarà riprodotta C.1.3 Aggiornamento destinazione Se i dati di spedizione su ARPCLIECOM sono significativi (almeno A-CLCOM-SPD-NOME e A-CLCOM-SPD-IND), creare una destinazione merce per il cliente appena creato: COGDESTI
| Dato | Contenuto |
|---|---|
| DST-ANA-TIP | K-ANA-TIPO-CLI |
| DST-ANA-COD | INSANA-COD |
| DST-ID-TIP | "D" |
| DST-ID-IDX | 1 |
| DST-RAG-SOC | A-CLCOM-SPD-NOME |
| DST-IND | A-CLCOM-SPD-IND |
| DST-CAP | NUMVAL(A-CLCOM-SPD-CAP) |
| DST-LOCA | A-CLCOM-SPD-LOCA |
| DST-PROV | A-CLCOM-SPD-PROV |
COGDEST2
| Dato | Contenuto |
|---|---|
| DST2-CHIA1 | DST-CHIA1 |
| DST2-NAZIONE | A-CLCOM-SPD-STATO Se lo stato è "IT" o "ITA", lasciare vuoto |
| DST2-NOTE | A-CLCOM-NOTE Dopo averlo parsato con GESSTR, operazione "CONV-TESTO-IMPORTATO" |
C.1.4.1 Aggiornamento "Contatto messaggistica" Se almeno uno dei dati: * A-CLCOM-CONT-M-SMS * A-CLCOM-CONT-M-NOME sono significativi, effettuare la creazione di un contatto:
| Dato | Contenuto |
|---|---|
| RIF-TIP | "C" |
| RIF-COD | Cercare il primo codice libero su COGRIFER (con COGSAD) |
| RIF-ANA-TIP | "C" |
| RIF-CODANA | INSANA-COD |
| RIF-NOME | A-CLCOM-CONT-M-NOME |
| RIF-SMS | A-CLCOM-CONT-M-SMS |
| RIF-POSIZIONE | *M |
C.1.4 Spostamento galleria Se il cliente è stato creato da un nominativo CRM (A-CLCOM-CRA-COD > 0), potrebbe esistere una galleria documenti collegata ad esso. Quindi ora va spostata sotto al nuovo cliente. Tramite un comando sql cercare tutti i documenti presenti sotto alla galleria: SELECT * FROM apcogaridx WHERE a_arx_doc_classe = k-arcott-classe-nominativi-crm AND a_arx_key_oggetto_gest = a_clcom_cra_cod ' Per ciascun record trovato, modificare alcune informazioni all'interno:
| Dato | Contenuto |
|---|---|
| A-ARX-OGGETTO-GEST | La chiave del cliente appena creato, es: "C00123" |
| A-ARX-NUMERO-INTERNO | Sostituire al codice nominativo il codice cliente; "000012340001" -> "C001230001" |
| A-ARX-DOC-CLASSE | "AN" |
| A-ARX-ANA-TIP | "C" |
| A-ARX-ANA-COD | Codice cliente inserito |
Per ogni documento modificato è necessario spostare anche il documento fisico sulla cartella di AWS: * Da: /classi/AP/00001234 * A: /classi/AN/C00123 C.1.5 Aggiornamento ARPCLIECOM Al termine degli aggiornamenti, salvare su ARPCLIECOM il codice del cliente creato
| Dato | Contenuto |
|---|---|
| A-CLCOM-CLIENTE | ANA-CHIA |
C.1.5.1 Collegamento cliente-nominativo Caso particolare Se la configurazione gestione-schede-areagate è attiva, le schede CRM anagrafiche create sul WEB non vengono sincronizzate con il gestionale. Come conseguenza, dopo l'importazione di un nuovo cliente, con attribuzione del codice ufficiale, e successiva riesportazione del cliente su ARPANAGR (che avviene attraverso SWN070), non verrà aggiornato il codice cliente sul codice nominativo presente su ARPCLIECOM. Quindi: Se la suddetta configurazione è attiva, e A-CLCOM-CRA-COD > 0, è necessario effettuare qui il collegamento: Ricerca nominativo su APCRMANAGR Fare una ricerca diretta su APCRMANAGR, impostando
| Dato | Contenuto |
|---|---|
| A-CRA-AZIENDA | Azienda attiva |
| A-CRA-ID-DISPOSITIVO | 0 |
| A-CRA-IDD-PROG | 0 |
| A-CRA-COD | A-CLCOM-CRA-COD |
Se il record non viene trovato, scrivere un log critico Es2000 indicando codice cliente e codice nominativo Altrimenti aggiornarlo impostando
| Dato | Contenuto |
|---|---|
| A-CRA-TIPO-ANAGR | ANA-TIPO |
| A-CRA-ANA | ANA-CHIA |
C.1.6 Esportazione nuovo cliente Nel programma originale SWA030 veniva effettuata direttamente la creazione di ARPANAGR. Per ottimizzare il tutto qui non sarà fatta questa operazione: quando sarà pronto il processo di sincronizzazione SWNnnn sui clienti, si potrà eventualmente aggiungere una chiamata diretta a questo citando il codice cliente da esportare. C.2 - Importazione nuovo prospect C.2.1 Prospect Chiamata a CRMS07 con i dati:
| Dato | Descrizione |
|---|---|
| CRMS07-OPE | "SCRIVI" |
| CRMS07-TCL | Tipologia configurata in tipo-nominativo-anagr-cliente |
| CRMS07-RAGSOC | A-CLCOM-NOME |
| CRMS07-IND | A-CLCOM-IND |
| CRMS07-CAP | A-CLCOM-CAP |
| CRMS07-LOCA | A-CLCOM-LOCA |
| CRMS07-PROV | A-CLCOM-PROV |
| CRMS07-NAZIONE | A-CLCOM-STATO |
| CRMS07-CF | A-CLCOM-COFI |
| CRMS07-PI | A-CLCOM-PIVA |
| CRMS07-COMUNE | 0 |
Restituirà CRMS07-NOM, che contiene il codice nominativo creato Non sarà necessario acquisire le info della scheda, dato che essendo un nominativo creato da ARPCLIECOM non ci sono. C.2.2 Aggiornamento ARPCLIECOM Al termine degli aggiornamenti, salvare su ARPCLIECOM il codice del nominativo creato
| Dato | Contenuto |
|---|---|
| A-CLCOM-CRA-COD | CRMS07-NOM |
B - Esportazione elementi aggiornati Questa sezione non è gestita in questo programma
Estratto da documentazione interna ClickUp