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: •= 0 -> "N" •> 0 -> "S" |
ACHT-ID-CONTRATTO |
ASNS20-ID-CONTRATTO |
ACHT-AVVISA-CLIENTE |
|
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 |
ACHT-SOTTOCOM |
ASNS20-SOTTOCOM |
ACHT-FL-FAT |
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:
|
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: •"S": Ricerca dell'ultimo numero + 1 •"C": ACHT-ID con "01" nelle ultime due cifre |
||||||||||
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"
Se presente una logica di pre-assegnazione, sarà restituito ASNS19-TECNICO |
||||||||||
ACIT-TEAM |
" " |
||||||||||
ACIT-NOTE |
" " |
||||||||||
ACIT-FL-BOL |
"N" |
||||||||||
ACIT-STATO |
•"A": Se ACIT-TECNICO (1) > 0 e ACIT-ASS-DATA > 0 •" ": In tutti gli altri casi |
||||||||||
ACIT-FL-RISOLUTIVO |
"N" |
||||||||||
ACIT-COMMESSA |
ACHT-COMMESSA |
||||||||||
ACIT-SOTTOCOM |
ACHT-SOTTOCOM |
||||||||||
ACIT-STATO-AVVISO |
Se ACHT-AVVISA-CLIENTE •= "N" -> " " •<> "N" -> "A" |
||||||||||
ACIT-TIPO-INTERVENTO |
" " |
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 |
|
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 |
" " |