Vai al contenuto

ASNS20 - Operazioni su chiamata

Posizione nel menu Programma non a menu Linkage section

Tipo Dato Formato Contenuto
INPUT ASNS20-OPE x(20) Operazione da eseguire
ASNS20-ID 9(12) Id chiamata da elaborare
ASNS20-DATA 9(08) Data chiamata
ASNS20-ORA 9(04) Ora chiamata
ASNS20-CLI-FAT 9(05) Cliente di fatturazione
ASNS20-CLI-ASS 9(05) Cliente assistito
ASNS20-TIP-ATT x(02) Tipo attività chiamata
ASNS20-TIPO-FAT x(02) Tipo di fatturazione
ASNS20-SCAD-DATA 9(08) Data scadenza
ASNS20-SCAD-ORA 9(04) Ora scadenza
ASNS20-ASS-DATA 9(08) Data assegnazione
ASNS20-ASS-ORA 9(04) Ora assegnazione
ASNS20-STATO x(02) Stato chiamata
ASNS20-ID-CONTRATTO 9(12) Eventuale contratto da agganciare
ASNS20-CHIAMATA-CLI x(30) Chiamata cliente
ASNS20-DST-TIP x(01) Destinazione
ASNS20-DST-IDX 9(04)
ASNS20-OGGETTO x(80) Oggetto
ASNS20-NOTE x(1000) Note
ASNS20-CONTATTO 9(10) Id contatto relativo al cliente
ASNS20-PRIORITA x(03) Priorità
ASNS20-PROVENIENZA x(02) Provenienza
ASNS20-COMMESSA x(10) Commessa
ASNS20-SOTTOCOM x(10) Sottocommessa
ASNS20-TECNICO-1 9(10) Tecnico 1
ASNS20-TECNICO-2 9(10) Tecnico 2
ASNS20-TECNICO-3 9(10) Tecnico 3
ASNS20-TECNICO-4 9(10) Tecnico 4
ASNS20-TECNICO-5 9(10) Tecnico 5
ASNS20-MATR-1 9(12) Matricola 1
ASNS20-MATR-2 9(12) Matricola 2
ASNS20-MATR-3 9(12) Matricola 3
ASNS20-MATR-4 9(12) Matricola 4
ASNS20-MATR-5 9(12) Matricola 5
ASNS20-ALLEGATO x(150) Nome file da allegare alla galleria chiamata
ASNS20-ALL-LOCATION x(01) Indica se il file da allegare è in formato:


ASNS20-I-CHIAMATA 9(12) Codice chiamata su cui effettuare operazioni, in base all'operazione richiesta
ASNS20-I-SKIP-ONLINE x(01) Se vale "S", viene skippata la chiamata a SWA004 per l'aggiornamento dell'intervento sul WEB
Questo è necessario nei casi in cui questa operazione possa generare problemi, o quando avviene in un contesto nel quale l'aggiornamento online rallenterebbe il processo in corso (usato da DBF104)
ASNS20-AREA-TECNICA x(03) Area tecnica associata alla chiamata
ASNS20-BRAND x(03) Brand associato alla chiamata
ASNS20-GRP-AZ-COD x(04) Codice azienda gruppo
ASNS20-CLI-ASS-TIP x(01) Indica se il cliente assistito è:


ASNS20-CLI-ASS-NOM 9(08) Codice nominativo CRM da usare come cliente assistito, se ASNS20-CLI-ASS-TIP = "P"
ASNS20-AGENTE 9(05) Se significativo verrà forzato l'agente richiesto, altrimenti sarà usato l'agente del cliente, come in caso di inserimento chiamata manuale
ASNS20-ASS-ORA-FIN 9(04) Ora fine assegnazione intervento, quando previsto
ASNS20-PIANIFICA-ORA x(01) Se vale "S", in caso di intervento assegnato, tenterà di definire ora inizio e ora fine in base all'occupazione agenda, e alla durata configurata
In questo caso non saranno tenuti in considerazione ora inizio e fine passati in input
OUTPUT ASNS20-ESITO x(01) Esito dell'operazione
ASNS20-O-MSG x(150) Messaggio restituito
ASNS20-O-CHIAMATA 9(12) Codice chiamata creata
FILLER x(1959)

Logica generale Programma che permette di eseguire operazioni su una chiamata; per il momento è previsto solo l'inserimento, ricevendo in input un elenco di dati necessari. Configurazioni

Gruppo Parametro Note
ass-strum tipo-att-default
ass-chiam tipo-fat-assistenza
assist codice-stato-chiamata
avviso-default
priorita-default
default-da-fatturare
assist tipo-numerazione-interventi
assist cod-attivita-su-chiamata
ass-chiam gestione-certificazioni
ass-strum generazione-dossier
ass-strum tipo-dossier-chiamata
ass-strum prefisso-id-dossier
ass-chiam avviso-ins-chiamata
areaapp agg-postgres-online
ass-chiam clienti-assistiti-crm
assist ora-inizio-assegnazione-inter
assist step-orario-assegnazione-inter

Elaborazione L'elaborazione cambia a seconda dell'operazione richiesta.

Operazione: INSERISCI

Descrizione Riceve in input le variabili necessarie e tenta di inserire una chiamata. Se l'operazione va a buon fine verrà restituito ASNS20-ESITO = "S"; altrimenti sarà restituito a "N" e un messaggio di errore in ASNS20-MSG. Chiamata standard

Dato Contenuto
ASNS20-OPE "INSERISCI"
ASNS20-DATA Data chiamata
ASNS20-ORA Ora chiamata
ASNS20-CLI-FAT Cliente di fatturazione
ASNS20-CLI-ASS Cliente assistito
ASNS20-TIP-ATT Tipo attività chiamata
ASNS20-TIPO-FAT Tipo di fatturazione
ASNS20-SCAD-DATA Data scadenza
ASNS20-SCAD-ORA Ora scadenza
ASNS20-ASS-DATA Data assegnazione
ASNS20-ASS-ORA Ora assegnazione
ASNS20-STATO Stato chiamata
ASNS20-ID-CONTRATTO Eventuale contratto da agganciare
ASNS20-CHIAMATA-CLI Chiamata cliente
ASNS20-DST-TIP Destinazione
ASNS20-DST-IDX
ASNS20-OGGETTO Oggetto
ASNS20-NOTE Note
ASNS20-CONTATTO Id contatto relativo al cliente
ASNS20-PRIORITA Priorità
ASNS20-PROVENIENZA Provenienza
ASNS20-COMMESSA Commessa
ASNS20-SOTTOCOM Sottocommessa
ASNS20-TECNICO-1 Tecnico 1
ASNS20-TECNICO-2 Tecnico 2
ASNS20-TECNICO-3 Tecnico 3
ASNS20-TECNICO-4 Tecnico 4
ASNS20-TECNICO-5 Tecnico 5
ASNS20-MATR-1 Matricola 1
ASNS20-MATR-2 Matricola 2
ASNS20-MATR-3 Matricola 3
ASNS20-MATR-4 Matricola 4
ASNS20-MATR-5 Matricola 5
ASNS20-AREA-TECNICA Area tecnica
ASNS20-BRAND Brand
ASNS20-GRP-AZ-COD Codice azienda nel gruppo
ASNS20-CLI-ASS-TIP Tipo di cliente assistito
ASNS20-CLI-ASS-NOM Codice cliente assistito se nominativo
ASNS20-ASS-ORA-FIN Ora fine assegnazione intervento, quando previsto
ASNS20-PIANIFICA-ORA Indica se l'occupazione agenda deve essere automatica

Elaborazione Come prima cosa verificare che i campi obbligatori siano compilati e corretti (quelli evidenziati in grassetto). Se non è cosi' restituire ASNS20-ESITO = "N", e in ASNS20-MSG la descrizione del problema. A.1 - Inserimento ASNCHTES

Dato Contenuto
ACHT-ID Primo numero chiamata libero
Immediatamente dopo aver cercato il numero, effettuare l'inserimento del record vuoto per occupare la numerazione.
Se fallisce ritentare finche' non si trova un numero libero.
ACHT-DATA ASNS20-DATA
ACHT-ORA ASNS20-ORA
ACHT-CLI-FAT ASNS20-CLI-FAT
ACHT-CLI-ASS ASNS20-CLI-ASS
ACHT-TIP-ATT ASNS20-TIP-ATT
Se non significativo, il tipo attività di default configurato in tipo-att-default
ACHT-TIPO-FAT ASNS20-TIPO-FAT
Se non significativo, il tipo fatturazione configurato in tipo-fat-assistenza
ACHT-SCAD-DATA ASNS20-SCAD-DATA
ACHT-SCAD-ORA ASNS20-SCAD-ORA
ACHT-STATO ASNS20-STATO
Se non significativo: codice-stato-chiamata
ACHT-FL-CONTRATTO Se ASNS20-ID-CONTRATTO:


ACHT-ID-CONTRATTO ASNS20-ID-CONTRATTO
ACHT-AVVISA-CLIENTE avviso-default
ACHT-SITUAZIONE " "
Se ASNS20-TECNICO-1 e ASNS20-ASS-DATA sono stati passati, allora diventa "A"
ACHT-OPERATORE WO-OPER
ACHT-CHIAMATA-CLI ASNS20-CHIAMATA-CLI
ACHT-DST-TIP ASNS20-DST-TIP
ACHT-DST-IDX ASNS20-DST-IDX
ACHT-OGGETTO ASNS20-OGGETTO
ACHT-NOTE ASNS20-NOTE
ACHT-CONTATTO ASNS20-CONTATTO
ACHT-CONTATTO-1 " "
ACHT-PRIORITA ASNS20-PRIORITA
Se non significativo: priorita-default
ACHT-RESPONSABILE Effettuare la ricerca usando ASNS18 - Ricerca area tecnica/responsabile, Operazione: CERCA
Passare ACHT-CLI-ASS su ASNS18-CLIENTE
ACHT-AREA-TECNICA
ACHT-PROVENIENZA ASNS20-PROVENIENZA
ACHT-DOSSIER " "
ACHT-CLASSE "C"
ACHT-FL-ESTERNA "N"
ACHT-COMMESSA ASNS20-COMMESSA
ASNS20-SOTTOCOM
Se ACHT-TIP-ATT è significativo, leggere la tabella tipi attività (ASNTPATT/ASNTPAT2); se i campi


sono significativi, forzarli
ACHT-SOTTOCOM
ACHT-FL-FAT default-da-fatturare
Se il cliente di fatturazione ha il flag "Benestare" attivo, sarà forzato "Da riepilogare"
ACHT-PRESENZA-PREV "N"
ACHT-IVA-AGEVOLATA " "
ACHT-MODELLO-CERT " "
ACHT-ACNI-PROG 0
ACHT-BRAND ASNS20-BRAND
ACHT-AREA-TECNICA ASNS20-AREA-TECNICA
ACHT-GRP-AZ-COD ASNS20-GRP-AZ-COD
ACHT-CLI-ASS-NOM ASNS20-CLI-ASS-NOM, se ASNS20-CLI-ASS-TIP = "P"

A.2 Matricole su chiamata Per ciascuna matricola passata in input creare un record su ASNCHDET:

Dato Contenuto
ACHD-ID ACHT-ID
ACHD-PROG Nuovo progressivo su chiamata
ACHD-ID-MATRICOLA ASNS20-MATR-n
ACHD-DIF-SEGNALATO " "
ACHD-ID-CONTRATTO 0
ACHD-DIF-RILEVATO " "
ACHD-ID-MTR-SOST 0
ACHD-VAL " "
ACHD-MODELLO-CERT ASNS15-MODELLO-CERT;
Chiamata a ASNS15:
Dato Contenuto
ASNS15-CALLER
K-PROGRAM-ID
ASNS15-OPE
"CERCA-MODELLO-MATR"
ASNS15-ID-MATR
ACHD-ID-MATRICOLA

A.2.1 Ricerca modello certificazione chiamata Ora abbiamo tutto quello che serve per cercare il modello di certificazio ne: chiamata a ASNS15 ASNS15:

Dato Contenuto
ASNS15-CALLER K-PROGRAM-ID
ASNS15-OPE "CERCA-MODELLO"
ASNS15-CHIAMATA Id creato

All'uscita verrà restituito ASNS15-MODELLO-CERT A.3 Determinazione prestazioni/materiali previsti Eseguire una chiamata a ASNS25, con cui verrà eseguita questa elaborazione.

Tipo Dato Contenuto
INPUT ASNS25-CALLER Programma chiamante
ASNS25-OPE "RICALCOLA"
ASNS25-ID-CHIAMATA Id chiamata da elaborare
ASNS25-SILENT "S"

A.3 Inserimento primo intervento A.3.1 Ora inizio/fine intervento Se l'intervento è già assegnato (ASNS20-TECNICO-1 significativo e ASNS20-ASS-DATA > 0), dobbiamo definire ora inizio e fine dell'intervento A.3.1.1 Pianificazione automatica Se ASNS20-PIANIFICA-ORA = "S", partendo dall'ora configurata in ora-inizio-assegnazione-inter, si deve cercare la prima fascia oraria disponibile per il primo tecnico assegnato, tramite una ricerca su CRMAGCAL:

Dato Contenuto
CCA-OPE Codice operatore "tecnico"
CCA-DATA La data di assegnazione
CCA-ORA-INI L'ora inizio configurata

Definiamo come ora inizio intervento la prima fascia oraria trovata dove CCA-FL-OCC = "N", oppure la fascia oraria successiva all'ultimo record trovato: l'assenza di record indica che anche se non è stata definita l'agenda per il tecnico, non ci sono altri appuntamenti nella fascia oraria. Quindi aggiungiamo all'ora inizio intervento il tempo di durata configurato in step-orario-assegnazione-inter, (se vuoto impostiamo 1 ora) e otteniamo la ora fine intervento NB: se l'ora di fine risultante supera il giorno corrente, impostiamo come ora inizio quella configurata e calcoliamo l'ora fine da questa. A.3.1.2 Pianificazione manuale Nel caso in cui ASNS20-PIANIFICA-ORA <> "S": * ora inizio intervento sarà ASNS20-ASS-ORA; se vuoto, allora impostare 08:00 * ora fine intervento sarà ASNS20-ASS-ORA-FIN; se vuoto, sarà determinato come sopra A.3.2 Inserimento ASNINTES

Dato Contenuto
ACIT-ID Se la configurazione tipo-numerazione-interventi vale:


ACIT-ID-CHIAMATA ACHT-ID
ACIT-ASS-DATA ASNS20-ASS-DATA
ACIT-ASS-ORA Ora inizio intervento
ACIT-ORA-FINE Ora fine intervento
ACIT-INT-DATA 0
ACIT-INT-ORA 0
ACIT-TARGA " "
ACIT-FL-AGENDA "N"
ACIT-FL-SPOSTABILE "S"
ACIT-ATT-NUM 0
ACIT-TECNICO (1) ASNS20-TECNICO-1
Se non presente, chiamata a ASNS19 - Preassegnazione tecnico, Operazione: "CERCA"
Dato Contenuto
ASNS19-OPE

A.4 Inserimento ASNCHSTO Storico operazioni su chiamata ACHS-ID-CHIAMATA ACHT-ID ACHS-PROG 1 ACHS-OPERAZIONE "CI" ACHS-DES "Inserimento chiamata N." ACHT-ID ACHS-ID-CHIAMATA ACHT-ID ACHS-PROG 2 ACHS-OPERAZIONE "II" ACHS-DES "Inserimento intervento N." ACIT-ID A.5 Creazione dossier collegato se la configurazione tm-cfg-genera-dossier = "S" innesco "CRMS10" per creazione dossier prima chiamata con opzione crms10-ope = "SCRIVI" seconda chiamata con opzione crms10-ope = "CREA-GRUPPO-DOC" A.6 Innesco ASNS09 per invio email a responsabile se configurato Innesco ASNS05 per invio sms/email al contatto del cliente se configurato Innesco SWA004 per aggiornamento postgres online se configurato A.5 Innesco ASNS78 Se la gestione CRM è attiva in azienda (AZ-CLI-POT="S") e cod-attivita-su-chiamata è significativa, allora verrà effettuata una chiamata a ASNS78 per pianificare l'intervento nell'agenda CRM. La chiamata conterrà:

Dato Contenuto
ASNS78-CALLER k-program-id
ASNS78-CALLED " "
ASNS78-TIPO-ELAB "I"
ASNS78-ID-INTER Codice intervento in elaborazione
ASNS78-CFG-ATTIVITA cod-attivita-su-chiamata
ASNS78-ORA-FINE-APP Ora fine intervento
ASNS78-TIPO-AGG "G"
ASNS78-LUOGO-EVENTO Stringa descrittiva contenente il luogo dell'intervento

A.9 Restituzione esito

Al termine restituire:

Dato Contenuto
ASNS20-O-CHIAMATA ACHT-ID
ASNS20-ESITO "S"
ASNS20-MSG " "

Operazione: INSERISCI-INT

Descrizione Riceve in input le variabili necessarie e tenta di inserire un nuovo intervento collegato ad una chiamata già esistente. Se l'operazione va a buon fine verrà restituito ASNS20-ESITO = "S"; altrimenti sarà restituito a "N" e un messaggio di errore in ASNS20-MSG. Chiamata standard

Dato Contenuto
ASNS20-OPE "INSERISCI-INT"
ASNS20-I-CHIAMATA Chiamata su cui aggiungere l'intervento
ASNS20-SCAD-DATA Data scadenza
ASNS20-SCAD-ORA Ora scadenza
ASNS20-ASS-DATA Data assegnazione
ASNS20-ASS-ORA Ora assegnazione
ASNS20-STATO Stato chiamata, se necessario modificarlo
ASNS20-PRIORITA Priorità, se necessario modificarla
ASNS20-TECNICO-1 Tecnico 1
ASNS20-TECNICO-2 Tecnico 2
ASNS20-TECNICO-3 Tecnico 3
ASNS20-TECNICO-4 Tecnico 4
ASNS20-TECNICO-5 Tecnico 5
ASNS20-ASS-ORA-FIN Ora fine appuntamento, quando previsto
ASNS20-PIANIFICA-ORA Indica se l'occupazione agenda deve essere automatica

Elaborazione Come prima cosa verificare che i campi obbligatori siano compilati e corretti (quelli evidenziati in grassetto). Se non è cosi' restituire ASNS20-ESITO = "N", e in ASNS20-MSG la descrizione del problema. Nel caso in cui la configurazione configurazione tipo-numerazione-interventi vale "C", verificare che sia disponibile un numero intervento progressivo sulla chiamata non superiore a 50. In caso contrario restituire ASNS20-ESITO = "N", e in ASNS20-MSG la descrizione del problema A.1 - Aggiornamento ASNCHTES Se è stato passato almeno 1 dato tra quelli sottoindicati, eseguire l'aggiornamento dei soli dati significativi. Le altre informazioni rimarranno invariate

Dato Contenuto
ACHT-SCAD-DATA ASNS20-SCAD-DATA
ACHT-SCAD-ORA ASNS20-SCAD-ORA
ACHT-STATO ASNS20-STATO
ACHT-SITUAZIONE " "
Se ASNS20-TECNICO-1 e ASNS20-ASS-DATA sono stati passati, allora diventa "A"
ACHT-PRIORITA ASNS20-PRIORITA

A.2 Inserimento intervento A.2.1 Impostazione ora inizio/fine Determinare ora inizio/fine intervento, come spiegato al punto A.3.1 dell'operazione "INSERISCI" A.2.2 Inserimento ASNINTES

Dato Contenuto
ACIT-ID Se la configurazione tipo-numerazione-interventi vale:


ACIT-ID-CHIAMATA ACHT-ID
ACIT-ASS-DATA ASNS20-ASS-DATA
ACIT-ASS-ORA Ora inizio intervento
ACIT-ORA-FINE Ora fine intervento
ACIT-INT-DATA 0
ACIT-INT-ORA 0
ACIT-TARGA " "
ACIT-FL-AGENDA "N"
ACIT-FL-SPOSTABILE "S"
ACIT-ATT-NUM 0
ACIT-TECNICO (1) ASNS20-TECNICO-1
Se non presente, chiamata a ASNS19 - Preassegnazione tecnico, Operazione: "CERCA"

Dato Contenuto
ASNS19-OPE "CERCA"
ASNS19-ID-MATR Id prima matricola collegata
ASNS19-CLIENTE ACHT-CLI-ASS
ASNS19-DST ACHT-DST
Se presente una logica di pre-assegnazione, sarà restituito ASNS19-TECNICO
ACIT-TEAM " "
ACIT-NOTE " "
ACIT-FL-BOL "N"
ACIT-STATO

ACIT-FL-RISOLUTIVO "N"
ACIT-COMMESSA ACHT-COMMESSA
ACIT-SOTTOCOM ACHT-SOTTOCOM
ACIT-STATO-AVVISO Se ACHT-AVVISA-CLIENTE


ACIT-TIPO-INTERVENTO " "

A.3 Inserimento ASNCHSTO Storico operazioni su chiamata ACHS-ID-CHIAMATA ACHT-ID ACHS-PROG Ultimo + 1 ACHS-OPERAZIONE "II" ACHS-DES "Inserimento intervento N." ACIT-ID A.4 Innesco ASNS09 per invio email a responsabile se configurato Innesco ASNS05 per invio sms/email al contatto del cliente se configurato Innesco SWA004 per aggiornamento postgres online se configurato (Verificare) A.5 Innesco ASNS78 Se la gestione CRM è attiva in azienda (AZ-CLI-POT="S") e cod-attivita-su-chiamata è significativa, allora verrà effettuata una chiamata a ASNS78 per pianificare l'intervento nell'agenda CRM. La chiamata conterrà:

Dato Contenuto
ASNS78-CALLER k-program-id
ASNS78-CALLED " "
ASNS78-TIPO-ELAB "I"
ASNS78-ID-INTER Codice intervento in elaborazione
ASNS78-CFG-ATTIVITA cod-attivita-su-chiam
ASNS78-ORA-FINE-APP Ora fine intervento
ASNS78-TIPO-AGG "G"
ASNS78-LUOGO-EVENTO Stringa descrittiva contenente il luogo dell'intervento

A.9 Restituzione esito

Al termine restituire:

Dato Contenuto
ASNS20-O-CHIAMATA ACHT-ID
ASNS20-ESITO "S"
ASNS20-MSG " "

Operazione: ALLEGA-DOC

Descrizione Aggiunge il file passato in input alla galleria immagini della chiamata Chiamata standard

Dato Contenuto
ASNS20-OPE "INSERISCI"
ASNS20-I-CHIAMATA Chiamata su cui allegare il documento
ASNS20-ALLEGATO Nome file da allegare alla galleria chiamata
ASNS20-ALL-LOCATION Indica se il file da allegare è in formato:


Elaborazione Come prima cosa verificare che i campi obbligatori siano compilati e corretti (quelli evidenziati in grassetto). Se non è cosi' restituire ASNS20-ESITO = "N", e in ASNS20-MSG la descrizione del problema. A.1 - Ricerca progressivo libero Ricerca su COGIMAGE della galleria documenti chiamata, usando IMG-CHIA2, impostando:

Dato Contenuto
IMG-TIP-DOC "A2"
IMG-DC-A2-KEY Id chiamata
IMG-DC-A2-TIP "IM"
IMG-DC-A2-PROG 9999

Cercare il record precedente relativo alla chiamata, e sommare 1 per ottenere il nuovo progressivo documento A.2 - Allego il documento Effettuare una chiamata a COGU06, Operazione: INSERISCI-FILE

Dato Contenuto
U06-OPE "Inserisci-file"
U06-FILE ASNS20-ALLEGATO
U06-FL-INTERNO "D"
U06-TIP-DOC "A2"
U06-DOC-COGE Chiave del documento ottenuta come spiegato sopra, e impostando il progressivo documento nuovo
U06-DO-NUM-INT U06-DOC-COGE
U06-DO-DATA Data sistema
U06-DOC-TIP-DOC "IMM.CHIAM."
U06-DO-NUM-EST "CHIAM. " + id chiamata
U06-DO-DATA-EST U06-DO-DATA
U06-DO-ANA-TIP " "
U06-DO-ANA-COD Cliente assistito collegato alla chiamata
U06-DO-ANA-DES
U06-LOCATION ASNS20-ALL-LOCATION
U06-RIMUOVI-FILE "N"

A.3 - Esito operazione Se U06-ESITO = 'NOK' significa che l'operazione è fallita, quindi restituire

Dato Contenuto
ASNS20-ESITO "N"
ASNS20-MSG U06-MSG

Altrimenti restituire esito positivo

Dato Contenuto
ASNS20-ESITO "S"
ASNS20-MSG " "

Estratto da documentazione interna ClickUp