SWA004: Esportazione interventi assegnati¶
Configurazioni previste
| Gruppo | Parametro | Note |
|---|---|---|
| ass-strum | tipo-attivita-consegna | Usato per verificare se necessario cercare ed esportare il riferimento al ddt di consegna |
| ass-chiam | gestione-certificazioni | |
| ass-chiam | modo-applicazione-certificazioni | |
| assist | chiamate-programmate-provenienza | Permette di riconoscere le chiamate programmate |
| aws | attivazione-bucket |
Elaborazione Come prima cosa leggere su APSTATOSYN - Stato sincronizzazione i record: * "ARPINTES". Questo record conterrà l'id sincronizzazione da usare per tutte le fasi di aggiornamento di ARPINTES/ARPINTES2, e che va salvato su RCIT2-ID-SINCRO. * "ARPPRODT". Questo record conterrà l'id sincronizzazione da usare per la sincronizzazione della tabella omonima, e viene usato dove descritto
A - Ricerca interventi cancellati¶
A - Ricerca interventi cancellati Attraverso una ricerca specifica su COGEVLOG - eventi, viene eseguita una ricerca di tutti gli interventi cancellati. Per ciascuno viene cercato l'intervento su ARPINTES, e marcato come cancellato:
| Nome campo | Contenuto |
|---|---|
| RCIT-FL-CANCELLATO | "S" |
| RCIT-FL-CHIUSO | "1" |
- Scorrere COGEVLOG attraverso EVL-CHIA4, per sapere se ci sono interventi cancellati, impostando:
- EVL-TIP = "001"
- EVL-VISTO = "N"
- Per ciascun record valido trovato:
- Leggere il record ASNINTES impostando:
- RCIT-AZI = azienda corrente
- RCIT-ID-INTERVENTO = EVL-CHIAVE (i primi 12 caratteri)
- Impostare sul record:
- RCIT-FL-CANCELLATO = "S"
- Leggere ARPINTES2 e impostare
- RCIT2-ID-SINCRO = primo ID sincronizzazione disponibile
- Eseguire il punto A.2
- Aggiornare COGEVLOG impostando EVL-VISTO = "S" A.1 - Notifica al cliente A seguito della cancellazione di un intervento, se risulta essere stata cancellata anche la chiamata collegata, deve essere inviata una notifica Quindi, effettuare una lettura su ASNCHTES per verificare se la chiamata è stata effettivamente cancellata: se il record non esiste, creare un record su ARPNOTIFICHE:
- Leggere il record ASNINTES impostando:
| Nome campo | Note |
|---|---|
| ANTP-ID | Campo autoincrementante, non è necessario valorizzarlo |
| ANTP-AZIENDA | Codice azienda |
| ANTP-CLASSE | "E1" |
| ANTP-ID-OGGETTO | Id chiamata in elaborazione |
| ANTP-ID-TECNICO | 0 |
| ANTP-TIP | 3 |
| ANTP-ESITO | 0 |
A.2 - Cancellazione logica produzione Eseguire una query per recuperare tutti i record di produzione collegati ad un intervento:
| Nome campo | Note |
|---|---|
| A-APTN-AZIENDA | Codice azienda |
| A-APTN-ID | Id intervento in elaborazione |
Per ciascun record trovato, eseguire la cancellazione logica:
| Nome campo | Note |
|---|---|
| A-APTN-VAL | "C" |
| A-APTN-ID-SINCRO | Id di sincronizzazione "ARPPRODT" |
B - Ricerca interventi aperti¶
B - Ricerca interventi aperti Si dovrà leggere APSTATOSYN - Stato sincronizzazione; il record relativo a "ARPINTES-APERTI". Questa conterrà data/ora di aggiornamento dell'ultimo intervento esportato in precedenza. Si dovranno esportare solo gli interventi inseriti/aggiornati dopo questa data/ora. Ricerca su ASNINTES - Intervento; testata, attraverso ACIT-CHIA6. Vengono esaminati solo gli interventi: * Aperti (ACIT-STATO = "A", oppure ACIT-STATO = " ") * Assegnati o non assegnati (quindi ora non va più effettuato il controllo su ACIT-ASS-DATA e/o ACIT-TECNICO) * Non ancora assegnati su scheduler (quindi se RCIT-STATO = "M" vanno ignorati) * Se non cancellati logicamente, non devono essere esportati (è successo che un intervento eseguito è stato cancellato. La fase di cancellazione marca l'intervento su KPN solo come cancellato e lascia il resto invariato); quindi se * RCIT-FL-ESEGUITA = "S" * RCIT-FL-CANCELLATA <> "S" l'intervento viene scartato (non esportato) * Interventi su chiamate esterne (ACHT-CLASSE <> "L") -> gli eventuali interventi trovati su KPN che sono di tipo "laboratorio" verranno eliminati da KPN (B.1 elimina intervento) * Data/ora aggiornamento superiore a data/ora ultimo intervento esportato B.0.1 - Caso particolare - Interventi creati su APP Se è stato importato un intervento creato da APP, avremo un intervento dove: * ARPINTES.RCIT-FL-AREAGATE = "2" * ASNINTES.ACIT-DA-PROG = "SWA005" Se stiamo esportando un intervento in questa condizione, non dovrà essere riesportato: altrimenti la seguente catena di eventi: 1. Chiusura intervento su APP e successiva pre-chiusura su ARPINTES 2. Esportazione interventi aperti (SWA004) 3. Importazione interventi chiusi non potrebbe importare l'intervento perchè al punto 2 viene riaggiornato come aperto. Intervento valido * Per ciascun intervento valido viene eseguita l'elaborazione: * B.1. Elimina intervento * B.2 Estrazione intervento * B.3 Estrazione altri dati * B.4 Estrazione galleria immagini B.1 - Elimina intervento Come prima cosa si salva il flag RCIT-FL-MYSQL dell'intervento da cancellare. Si predispone anche in campo di comodo che servirà a fare in modo che, in caso di successiva estrazione intervento, il campo RCIT-FL-CHIUSO viene impostato a "1" Poi si esegue: * Cancellazione di ARPINTEC - Tecnici x intervento * Cancellazione logica di tutti i record su ARPCHDET - Matricole su chiamata, impostando RCHT-VAL = "C" B.2 - Estrazione intervento ARPINTES
| Nome campo | Contenuto |
|---|---|
| RCIT-AZI | Azienda |
| RCIT-ID | Id intervento |
| RCIT-ASS-DATA RCIT-ASS-ORA |
Data/ora assegnazione |
| RCIT-ESEC-DATA RCIT-ESEC-ORA |
ACIT-INT-DATA ACIT-INT-ORA |
| RCIT-ID-CHIAMATA | Id chiamata |
| RCIT-ANA | Cliente assistito della chiamata |
| RCIT-PRIORITA | ACHT-PRIORITA |
| RCIT-TIPO-INTERVENTO | ACIT-TIPO-INTERVENTO |
| RCIT-INDIRIZZO-INTERVENTO | Indirizzo completo eventuale destinazione diversa |
| RCIT-CHIAMATA-CLI | ACHT-CHIAMATA-CLI |
| RCIT-FL-RISOLUTIVO | "N" |
| RCIT-FL-TRASFERTA | "N" |
| RCIT-TARGA | ACIT-TARGA |
| RCIT-DESCRIZIONE | ACIT-NOTE (Note intervento) |
| RCIT-NOTE-INTERNE | Note interne intervento (da ASNINDAG.AITD-NOTE) |
| RCIT-NOTE-TECNICO | " " |
| RCIT-FL-AGGIORNATO | "S" |
| RCIT-FL-ESEGUITA | "N" |
| RCIT-VIAGGIO-KM | 0 |
| RCIT-VIAGGIO-ORE | 0 |
| RCIT-FL-CANCELLATO | "N" |
| RCIT-CHIAMATA-DATA RCIT-CHIAMATA-ORA |
Data/ora chiamata |
| RCIT-OGGETTO | Oggetto chiamata |
| RCIT-CHIAMATA-DES | Descrizione chiamata |
| RCIT-FL-CONTRATTO | ACHT-FL-CONTRATTO |
| RCIT-SCADENZA-DATA RCIT-SCADENZA-ORA |
Data/ora scadenza chiamata |
| RCIT-CONTATTO-1 | Contatto citato sulla chiamata |
| RCIT-FL-MYSQL | Viene impostato a: Valore precedente del campo (B) "0" |
| RCIT-FL-CHIUSO | "1" (B) "0": tutti gli altri casi |
| RCIT-FL-CHIUSA | " " |
| RCIT-STATO | Stato intervento |
| RCIT-SPOSTABILE | ACIT-FL-SPOSTABILE |
| RCIT-FL-ASSEGNATA | "N" |
| RCIT-ID-TECNICO-ORIG | Primo tecnico assegnato alla chiamata |
| RCIT-FL-FAT | ACHT-FL-FAT |
| RCIT-FL-STA-RAP | ACHT-FL-STA-RAP |
| RCIT-FL-STA-CERT | ACHT-FL-STA-CERT |
| RCIT-PRESENZA-PREVENTIVO | ACHT-PRESENZA-PREV |
| RCIT-MODELLO-CERT | ACHT-MODELLO-CERT |
| RCIT-AGENTE | ACHT-AGENTE |
| RCIT-DST | ACIT-DST |
| RCIT-MAG-DEFAULT | ACIT-MAG |
| RCIT-TIP-ATT | ACHT-TIP-ATT |
| RCIT-DDT-CNS* | Eventuale chiave documento di consegna collegato all'intervento, in caso di intervento di consegna In questo caso il contenuto del ddt verrà esportato su APCOGTESBO/APCOGMOMAG |
| RCIT-FL-AREAGATE | ACHT-FL-AREAGATE |
| RCIT-PROVENIENZA | ACHT-PROVENIENZA |
| RCIT-UTE-AG-COD | ACIT-UTE-AG-ANA |
| RCIT-NOM-ASS | ACHT-NOM-ASS |
ARPINTES2
| Nome campo | Contenuto |
|---|---|
| RCIT2-AZI | Azienda |
| RCIT2-ID | Id intervento |
| RCIT2-NOTE-FATTURA | |
| RCIT2-IMP-FRANCHIGIA | |
| RCIT2-RIF-CHI-PORTALE | |
| RCIT2-RIF-PTO-VENDITA | |
| RCIT2-COMMESSA | |
| RCIT2-SOTTOCOM | |
| RCIT2-ID-OPE-CHIAMATA | ACHT-OPERATORE |
| RCIT2-ID-SINCRO | Primo ID sincronizzazione disponibile |
| RCIT2-AREA-TECNICA | ACHT-AREA-TECNICA |
| RCIT2-RESPONSABILE | ACHT-RESPONSABILE |
| RCIT2-MAG-TIP | ACIT2-MAG-TIP |
| RCIT2-MAG-SEC | ACIT2-MAG-SEC |
| RCIT2-GRP-AZ-ESE | ACHT-GRP-AZ-ESE |
| RCIT2-GRP-AZ-APP | ACHT-GRP-AZ-APP |
| RCIT2-BRAND | ACHT-BRAND |
| RCIT2-AVVISA-CLIENTE | ACHT-AVVISA-CLIENTE |
| RCIT2-CNT-TIP | ACHT-CNT-TIP |
| RCIT2-CNT-COD | ACHT-CNT-COD |
B.2.1 - Verifica esistenza cliente E' necessario verificare se il cliente relativo alla chiamata esiste sul db Web; B.2.1.1 - Verifica esistenza cliente standard Se RCIT-ANA è significativo, cercare l'esistenza su ARPANAGR; se non esiste eseguire una chiamata a SWA031 per l'inserimento/aggiornamento:
| Nome campo | Contenuto |
|---|---|
| UTILSWA031-OPE | "ESPORTA-CLIENTE" |
| UTILSWA031-CLI | Il codice cliente da aggiornare Quindi se ad esempio RCIT-ANA vale "C00123", il codice cliente sarà 123 |
Vedi anche COGE08C B.2.1.2 - Verifica esistenza cliente potenziale Se RCIT-NOM-ASS è significativo, cercare l'esistenza su APCRMANAGR; se non esiste eseguire una chiamata a SWA013 per l'inserimento/aggiornamento:
| Nome campo | Contenuto |
|---|---|
| SWA013-OPE | "ESPORTA-NOM" |
| SWA013-NOM | RCIT-NOM-ASS |
B.2.2 - Verifiche su altre tabelle secondarie Per ciascuno dei seguenti campi è necessario controllare l'esistenza del record relativo sulla tabella di destinazione, e se necessario al termine dell'operazione (quindi di tutti gli interventi esportati) eseguire una-tantum il programma indicato:
| Campo da controllare | Tabella su cui controllare | Programma da eseguire |
|---|---|---|
| RCIT-STATO-CHIAMATA | ARPSTCHM | SWA026 |
| RCIT-PRIORITA | ARPPRIOR | SWA066 |
| RCIT-TIP-ATT | ARPTPATT | SWA066 |
| RCIT2-AREA-TECNICA | ARPAREAT | SWA025 |
In seguito viene eseguita l'operazione B.3 estrazione altri dati B.3 - Estrazione altri dati Per l'intervento in corso: * Esportazione ASNCHDET su ARPCHDET * Se il record esiste, aggiornarlo togliendo il flag di cancellazione logica RCHT-VAL * Prestazioni previste: * Cancellazione ARPCHPRP * Esportazione delle prestazioni previste non ancora evase su ARPCHPRP, con l'ausilio di ASNS16 - Ricerca prestazioni/materiali non evasi su chiamata * Per ciascuna riga valida si valorizzerà anche: * RCHP-PREZZO-PREVENTIVO: se presente un preventivo collegato alla chiamata, qui verrà inserito il prezzo netto trovato sul preventivo a parità di merce * RCHP-IVA-COD, RCHP-IVA-ALI: da RA2-IVA-COD e la relativa aliquota trovata nella tabella * Esportazione tecnici su ARPINTEC: * Se la chiamata non è assegnata (ACIT-TECNICO (1) = 0), il record ARPINTEC va creato comunque anche se con i tutti i tecnici = 0. B.3.1 DDT di consegna Per ciascuna chiamata esportata, se il tipo attività è quello configurato in tipo-attivita-consegna verificare l'esistenza di un ddt di consegna collegato, attraverso una lettura su ASNINDMG, dove:
| Nome campo | Formato |
|---|---|
| ACIM-ID-INTERVENTO | Id intervento |
| ACIM-TIP | "N" |
Se esiste, procedere all'esportazione di testata e dettaglio: DDT di consegna: testata Leggere la testata documento COGTESBO presente in ACIM-TES-CHIA3; con i dati qui contenuti creare o modificare il record relativo trovato in APCOGTESBO; i campi saranno riempiti in funzione dell'analogia tra i campi delle due tabelle. DDT di consegna: dettaglio Come prima cosa, attraverso un apposito comando SQL cancellare tutti i record id APCOGMOMAG relativi al documento in elaborazione. Dopodichè scorrere i record COGMOMAG relativi al documento esaminato e riesportarli su APCOGMOMAG, i campi saranno riempiti in funzione dell'analogia tra i campi delle due tabelle. B.3.2 Notifiche push Prima e durante l'aggiornamento di ARPINTES e ARPINTEC di un intervento, salvarsi i dati per capire se è stata effettuata una modifica che necessita dell'invio di una notifica. Il caso più complesso che potrebbe succedere è il seguente: Prima della modifica, ARPINTEC conteneva:
| RCIN-ID-TECNICO1 | RCIN-ID-TECNICO2 | RCIN-ID-TECNICO3 | .... |
|---|---|---|---|
| 10 | 15 |
Dopo la modifica, ARPINTEC contiene:
| RCIN-ID-TECNICO1 | RCIN-ID-TECNICO2 | RCIN-ID-TECNICO3 | .... |
|---|---|---|---|
| 15 | 18 |
In questo caso i tecnici a cui inviare le notifiche sono 3:
| Tecnico (prima) | Tecnico (dopo) | Operazione |
|---|---|---|
| 10 | 0 | Tecnico rimosso |
| 15 | 15 | Tecnico rimasto sull'intervento (invariato) |
| 0 | 18 | Tecnico aggiunto |
Quindi, per ciascun tecnico interessato all'intervento, vediamo i casi possibili:
| RCIT-DATA-ASS RCIT-ORA-ASS (prima) |
RCIT-DATA-ASS RCIT-ORA-ASS (dopo) |
Stato tecnico | Operazione | Tipo notifica |
|---|---|---|---|---|
| vuoto | Non vuoto | Aggiunto | L'intervento è stato assegnato al tecnico | 1 |
| vuoto | Non vuoto | Invariato | Il tecnico era già stato preassegnato, ora gli è stata attribuita una data; di fatto è una nuova assegnazione | 1 |
| Non vuoto | Non vuoto (data-ora diverse) | Aggiunto | E' stata cambiata la data/ora assegnazione, e il tecnico è stato aggiunto; di fatto è una nuova assegnazione | 1 |
| Non vuoto | Non vuoto (stessa data-ora) | Aggiunto | Data/ora assegnazione sono rimaste le stesse, e il tecnico è stato aggiunto; di fatto è una nuova assegnazione | 1 |
| vuoto | vuoto | Rimosso | Questa sitazione, riguarda il caso in cui il tecnico era preassegnato, ma la data non era stata definita. Il tecnico viene tolto dalla preassegnazione, ma non è necessaria nessuna notifica | Nessuna |
| Non vuoto | Non vuoto | Rimosso | Qualunque altra situazione in cui il tecnico viene rimosso, necessita di una notifica "Assegnazione rimossa" | 3 |
| vuoto | vuoto | Invariato | Non è stata effettuata nessuna modifica all'assegnazione: nessuna notifica | Nessuna |
| Non vuoto | vuoto | Invariato | E' stata tolta la data assegnazione, ma il tecnico è rimasto: corrisponde ad una assegnazione rimossa | 3 |
| Non vuoto | Non vuoto (data-ora diverse) | Invariato | E' stata modificata la data assegnazione, ma il tecnico è rimasto: corrisponde ad una assegnazione modificata | 2 |
in tutti gli altri casi non descritti, non deve essere inviata nessuna notifica. B.3.2.1 Creazione notifica La creazione di una notifica corrisponde all'inserimento di un record sulla tabella ARPNOTIFICHE (un servizio sul server WEB si preoccupa di leggere questa tabella e inviare realmente le notifiche):
| Nome campo | Note |
|---|---|
| ANTP-ID | Campo autoincrementante, non è necessario valorizzarlo |
| ANTP-AZIENDA | Codice azienda |
| ANTP-CLASSE | "AI" |
| ANTP-ID-OGGETTO | Id intervento in elaborazione |
| ANTP-ID-TECNICO | Codice tecnico interessato |
| ANTP-TIP | Vedi Tipo notifica nella tabella sopra |
| ANTP-ESITO | 0 |
Quindi per ciascun intervento potrà essere necessario creare più record, a seconda delle situazioni descritte sopra. B.3.3 Notifiche per inserimento nuova chiamata Questa operazione va effettuata solo quando si esporta una nuova chiamata non programmata: escludere quindi: * le chiamate con ACHT-PROVENIENZA = chiamate-programmate-provenienza * gli interventi "non nuovi" (per i quali non si sta effettuando un inserimento ma un aggiornamento) * gli interventi successivi al primo: quindi quelli il cui codice non finisce per "01" Per ciascun intervento che viene considerato eseguire direttamente la creazione della notifica con l'inserimento di un record sulla tabella ARPNOTIFICHE:
| Nome campo | Note |
|---|---|
| ANTP-ID | Campo autoincrementante, non è necessario valorizzarlo |
| ANTP-AZIENDA | Codice azienda |
| ANTP-CLASSE | "AI" |
| ANTP-ID-OGGETTO | Id intervento in elaborazione |
| ANTP-ID-TECNICO | 0 |
| ANTP-TIP | 4 |
| ANTP-ESITO | 0 |
B.4 - Estrazione galleria immagini Non verrà eseguita se l'archiviazione remota è attiva B.4.1 - Azzeramento flag "aggiornato" Eseguire un comando SQL con cui aggiornare tutti i record relativi alla chiamata in elaborazione in corso:
| Nome campo | Note |
|---|---|
| RCHIMG-AZI | Codice azienda |
| RCHIMG-ID | RCIT-ID-CHIAMATA |
Lo scopo è di predisporre i flag sulla galleria immagini per capire se ci sono immagini cancellate. In pratica il comando SQL corrisponde a "UPDATE arpchimg SET rchimg_area_fl_agg = 'N', rchimg_area_fl_canc = ' ' WHERE rchimg_azi = azienda AND rchimg_id = rcit_id_chiamata" B.4.2 - Controllo ed esportazione allegati * Scorrere tutti i record di COGIMAGE attraverso IMG-CHIA2 aventi * IMG-TIP-DOC = "A2" * IMG-DC-A2-KEY = RCIT-ID-CHIAMATA * IMG-DC-A2-TIP = "IM" * Per ciascun record leggere il corrispondente record COGARIDX su ARX-CHIA2, impostando: * ARX-PROTOCOLLO = IMG-PROTOCOLLO * A questo punto siamo posizionati su un allegato dell'attività; vediamo se sulla tabella web esiste ed è aggiornato: * Lettura di ARPCHIMG impostando
| Dato | Descrizione |
|---|---|
| RCHIMG-AZI | Codice azienda |
| RCHIMG-ID | ID chiamata |
| RCHIMG-PROG | Progressivo di immagine nella galleria (IMG-DC-A2-PROG) |
- Quindi se il record esiste e:
- RCHIMG-AREA-AGG-DATA = ARX-DA-DATA
- RCHIMG-AREA-AGG-ORA = ARX-DA-ORA
- Significa che l'allegato è già presente e aggiornato, quindi impostare RCHIMG-AREA-FL-AGG = "S" e leggere il prossimo record Altrimenti proseguire: estrazione documento: chiamata a COGU06 con i parametri:
| Dato | Descrizione |
|---|---|
| U06-OPE | "Estrai-da-doc" |
| U06-FL-INTERNO | "D" |
| U06-TIP-DOC | "A2" |
| U06-DOC-COGE | IMG-DOC-COGE |
A questo punto sarà presente un file nella cartella EXT-TMP-DIR con nome U06-FILE * inserimento/aggiornamento record su ARPCHIMG:
| Nome campo | Note |
|---|---|
| RCHIMG-AZI | Codice azienda |
| RCHIMG-ID | RCIT-ID-CHIAMATA |
| RCHIMG-PROG | Progressivo di immagine nella galleria (IMG-DC-A2-PROG) |
| RCHIMG-DES | IMG-OGGETTO |
| RCHIMG-NOME | U06-FILE |
| RCHIMG-AREA-AGG-DATA | ARX-DA-DATA |
| RCHIMG-AREA-AGG-ORA | ARX-DA-TIME |
| RCHIMG-AREA-FL-AGG | "S" |
- Trasferimento file sul server WEB, usando la subroutine di trasferimento FTP già usata per gli allegati di Assist, vedi SWA005:
- DA: EXT-TMP-DIR/U06-FILE
- A: vedi SWA005 N.B. configurare la seguente nuova configurazione con i parametri del server FTP e le path come quelle di SWA005: "areaapp" - "swa004-codice-server-ftp" vedere anche le cfg previste per swa024 "ass-chiam" esporta-galleria-chiamata" = S B.4.3 - Controllo allegati non presenti sul gestionale Eseguire un comando SQL con cui marcare come cancellati tutti i record relativi alla chiamata in elaborazione in corso non aggiornati in pratica il comando SQL corrisponde a "UPDATE arpchimg SET rchimg_area_fl_canc = 'C' WHERE rchimg_azi = azienda AND rchimg_id = rcit_id_chiamata AND rchimg_area_fl_agg = 'N'" B.5 - Geomapping dei nuovi clienti/nominativi Se durante l'elaborazione è stata effettuata l'esportazione di un cliente o prospect, si dovrà effettuare una chiamata a BROWSER, impostando:
| Nome campo | Note |
|---|---|
| BRWS-OPE | "OPEN-PAGINA" |
| BRWS-PAGINA | https://kpngate.es2000.it/coordinate/geocoding_prospect.php?azienda=Cnnnnn |
C - Esportazione interventi in stato "Z"¶
C - Esportazione interventi in stato "Z" (chiamate fittizie create dal gestionale ed esportate su KPN al solo scopo di permettere la "creazione" di chiamate da AREAGATE e/o da APP. Ricerca su ASNINTES - Intervento; testata, attraverso ACIT-CHIA6. Vengono esaminati solo gli interventi: * Fittizi (ACIT-STATO = "Z") * Assegnati ad un tecnico (ACIT-TECNICO (1) > 0) * Per ciascun intervento valido viene eseguita l'elaborazione: * B.2 Estrazione intervento * In questo caso, sarà impostato: * RCIT-FL-MYSQL = "0" * RCIT-FL-CHIUSO = "0"
D - Esportazione interventi chiusi¶
D - Esportazione interventi chiusi non ancora esportati Questa fase serve per poter avere su AREAGATE/APP lo storico degli interventi Ricerca su ASNINTES - Intervento; testata, attraverso ACIT-CHIA8. Vengono esaminati solo gli interventi: * "Chiusi non esportati su web" (ACIT-FL-WEB-CHIUSE = " ") * Chiusi (ACIT-STATO = "C") * Per ciascun intervento valido viene eseguita l'elaborazione: * B.1. Elimina intervento * D.1 Estrazione intervento chiuso * Modifica ASNINTES: * ACIT-FL-WEB-CHIUSE = "S" D.1 - Estrazione intervento chiuso Creazione ARPINTES
| Nome campo | Contenuto | Diverso da B.1? |
|---|---|---|
| RCIT-AZI | Azienda | |
| RCIT-ID | Id intervento | |
| RCIT-ASS-DATA RCIT-ASS-ORA |
Data/ora assegnazione | |
| RCIT-ESEC-DATA RCIT-ESEC-ORA |
ACIT-INT-DATA ACIT-INT-ORA |
|
| RCIT-ID-CHIAMATA | Id chiamata | |
| RCIT-ANA | Cliente assistito della chiamata | |
| RCIT-PRIORITA | ACHT-PRIORITA | |
| RCIT-TIPO-INTERVENTO | ACIT-TIPO-INTERVENTO | |
| RCIT-INDIRIZZO-INTERVENTO | Indirizzo completo eventuale destinazione diversa | |
| RCIT-CHIAMATA-CLI | ACHT-CHIAMATA-CLI | |
| RCIT-FL-RISOLUTIVO | ACIT-FL-RISOLUTIVO | "N" |
| RCIT-FL-TRASFERTA | ACIT-FL-TRASFERTA | "N" |
| RCIT-TARGA | ACIT-TARGA | |
| RCIT-DESCRIZIONE | ACIT-NOTE (Note intervento) | |
| RCIT-NOTE-INTERNE | Note interne intervento (da ASNINDAG.AITD-NOTE) | |
| RCIT-NOTE-TECNICO | Note tecnico (da ASNINDAG.AITD-NOTE) | " " |
| RCIT-FL-AGGIORNATO | "S" | |
| RCIT-FL-ESEGUITA | "S" | "N" |
| RCIT-VIAGGIO-KM | ACIT-VIAGGIO-KM | 0 |
| RCIT-VIAGGIO-ORE | ACIT-VIAGGIO-ORE | 0 |
| RCIT-FL-CANCELLATO | "N" | |
| RCIT-CHIAMATA-DATA RCIT-CHIAMATA-ORA |
Data/ora chiamata | |
| RCIT-OGGETTO | Oggetto chiamata | |
| RCIT-CHIAMATA-DES | Descrizione chiamata | |
| RCIT-FL-CONTRATTO | ACHT-FL-CONTRATTO | |
| RCIT-SCADENZA-DATA RCIT-SCADENZA-ORA |
Data/ora scadenza chiamata | |
| RCIT-CONTATTO-1 | Contatto citato sulla chiamata | |
| RCIT-FL-MYSQL | Viene impostato a: Valore precedente del campo | Diverso comportamento |
| RCIT-FL-CHIUSO | "1" | Diverso comportamento |
| RCIT-FL-ACQUISITA | "S" | " " |
| RCIT-STATO | Stato intervento | |
| RCIT-SPOSTABILE | ACIT-FL-SPOSTABILE | |
| RCIT-FL-ASSEGNATA | "X" | "N" |
| RCIT-ID-TECNICO-ORIG | Primo tecnico assegnato alla chiamata | |
| RCIT-FL-FAT | ACHT-FL-FAT | |
| RCIT-FL-STA-RAP | ACHT-FL-STA-RAP | |
| RCIT-FL-STA-CERT | ACHT-FL-STA-CERT | |
| RCIT-PRESENZA-PREVENTIVO | ACHT-PRESENZA-PREV | |
| RCIT-MODELLO-CERT | ACHT-MODELLO-CERT | |
| RCIT-AGENTE | ACHT-AGENTE | |
| RCIT-DST | ACIT-DST | |
| RCIT-MAG-DEFAULT | ACIT-MAG | |
| RCIT-TIP-ATT | ACHT-TIP-ATT | |
| RCIT-DDT-CNS* | Eventuale chiave documento di consegna collegato all'intervento, in caso di intervento di consegna In questo caso il contenuto del ddt verrà esportato su APCOGTESBO/APCOGMOMAG |
|
| RCIT-FL-AREAGATE | ACHT-FL-AREAGATE | |
| RCIT-PROVENIENZA | ACHT-PROVENIENZA | |
| RCIT-UTE-AG-COD | ACIT-UTE-AG-ANA | |
| RCIT-FL-DA-IMPORTARE | "S" | |
| RCIT-NOM-ASS | ACHT-NOM-ASS | |
| RCIT-IVA-AGEVOLATA | ACHT-IVA-AGE-COD |
ARPINTES2
| Nome campo | Contenuto |
|---|---|
| RCIT2-AZI | Azienda |
| RCIT2-ID | Id intervento |
| RCIT2-NOTE-FATTURA | |
| RCIT2-IMP-FRANCHIGIA | |
| RCIT2-RIF-CHI-PORTALE | |
| RCIT2-RIF-PTO-VENDITA | |
| RCIT2-COMMESSA | |
| RCIT2-SOTTOCOM | |
| RCIT2-ID-OPE-CHIAMATA | |
| RCIT2-ID-SINCRO | Primo ID sincronizzazione disponibile |
| RCIT2-AREA-TECNICA | ACHT-AREA-TECNICA |
| RCIT2-RESPONSABILE | ACHT-RESPONSABILE |
| RCIT2-CHIAMATA-GRATUITA | ACHT-CHIAMATA-GRATUITA |
| RCIT2-MAG-TIP | ACIT2-MAG-TIP |
| RCIT2-MAG-SEC | ACIT2-MAG-SEC |
| RCIT2-GRP-AZ-ESE | ACHT-GRP-AZ-ESE |
| RCIT2-GRP-AZ-APP | ACHT-GRP-AZ-APP |
| RCIT2-CNT-TIP | ACHT-CNT-TIP |
| RCIT2-CNT-COD | ACHT-CNT-COD |
| RCIT-TIPO-ESITO | ACIT2-TIPO-ESITO |
| RCIT-CAUSALE-ESITO | ACIT2-CAUSALE-ESITO |
In seguito viene eseguita l'operazione B.3 estrazione altri dati D.2 - Estrazione dettaglio intervento Il dettaglio intervento (ASNINDET) dovrà essere esportato sualcune distinte tabelle: * Prestazioni: su ARPINDET * Materiali: su ARPINMAT D.2.1 - Estrazione prestazioni Cancellare con una query tutti i record di ARPINDET collegati all'intervento; poi, per ciascuna prestazione: * Verificare se la prestazione è presente su ASNPREST (ricerca con APRE-CHIA2) * Se esiste, APRE-FL-UM determina se la prestazione è a tempo o quantità
| Nome campo | Contenuto |
|---|---|
| RCID-AZI | Codice azienda |
| RCID-ID-INTERVENTO | Id intervento |
| RCID-RIGA | riga |
| RCID-ID-TECNICO | ACID-TECNICO |
| RCID-ID-MATRICOLA | ACID-ID-MATRICOLA |
| RCID-MER-CHIA | ACID-MERCE |
| RCID-QTA | ACID-QTA (da usare se la prestazione non è presente su ASNPREST, o se APRE-FL-UM = 'Q') |
| RCID-ORE | ACID-QTA (da usare se la prestazione è presente su ASNPREST e se APRE-FL-UM = 'H') |
| RCID-MINUTI | |
| RCID-FL-FAT | ACID-FL-FAT |
| RCID-IMPORTANZA | ACID-IMPORTANZA |
| RCID-PRE-LOR | ACID-PRE-LOR |
| RCID-SCO-1 | ACID-SCO-1 |
| RCID-SCO-2 | ACID-SCO-2 |
| RCID-PRE-NET | ACID-PRE-NET |
| RCID-IMPORTO | ACID-IMPORTO |
| RCID-QTA-EFF | ACID2-QTA-EFFETTIVA |
| RCID-QTA-ORIG | ACID2-QTA-ORIG |
| RCID-FL-GETTONE | ACID2-FL-GETTONE |
D.2.2 - Estrazione materiali Cancellare con una query tutti i record di ARPINMAT collegati all'intervento; poi, per ciascuna prestazione:
| Nome campo | Contenuto |
|---|---|
| RCIM-AZI | Codice azienda |
| RCIM-ID-INTERVENTO | Id intervento |
| RCIM-RIGA | riga |
| RCIM-ID-TECNICO | ACID-TECNICO |
| RCIM-ID-MATRICOLA | ACID-ID-MATRICOLA |
| RCIM-COD-MERCI | ACID-MERCE |
| RCIM-QNT | ACID-QTA |
| RCIM-MTR | ACID-MTR |
| RCIM-SN | ACID-SN |
| RCIM-FL-FAT | ACID-FL-FAT |
| RCIM-DATA-AGG | Data odierna |
| RCIM-CAUSALE-MOV | ACID-CAUSALE-MOV |
| RCIM-IMPORTANZA | ACID-IMPORTANZA |
| RCIM-PRE-LOR | ACID-PRE-LOR |
| RCIM-SCO-1 | ACID-SCO-1 |
| RCIM-SCO-2 | ACID-SCO-2 |
| RCIM-PRE-NET | ACID-PRE-NET |
| RCIM-IMPORTO | ACID-IMPORTO |
D.2.3 - Estrazione tempi intervento Cancellare con una query tutti i record di ARPINTMP collegati all'intervento; poi, per ciascuna riga di tempi:
| Nome campo | Contenuto |
|---|---|
| Codice azienda | |
| Id intervento | |
| ACIP-DATA | |
| ACIP-TECNICO | |
| RCIP-VA-KM | ACIP-VA-KM |
| RCIP-VA-ORA-INIZIO | ACIP-VA-ORA-INIZIO |
| RCIP-VA-ORA-FINE | ACIP-VA-ORA-FINE |
| RCIP-VR-KM | ACIP-VR-KM |
| RCIP-VR-ORA-INIZIO | ACIP-VR-ORA-INIZIO |
| RCIP-VR-ORA-FINE | ACIP-VR-ORA-FINE |
| RCIP-IN-ORA-INI-M | ACIP-IN-ORA-INI-M |
| RCIP-IN-ORA-FIN-M | ACIP-IN-ORA-FIN-M |
| RCIP-IN-ORA-INI-P | ACIP-IN-ORA-INI-P |
| RCIP-IN-ORA-FIN-P | ACIP-IN-ORA-FIN-P |
| RCIP-DATA-AGG | Data sistema |
| RCIP-ORA-AGG | Ora sistema |
| RCIP-ID-DISPOSITIVO | 0 |
| RCIP-N-PASTI | ACIP-N-PASTI |
| RCIP-N-TRASFERTE | ACIP-N-TRASFERTE |
| RCIP-N-PERNOTTI | ACIP-N-PERNOTTI |
D.2.4 - Estrazione ARPPRODT Cancellazione logica di tutti i record collegati all'intervento (vedi A - Ricerca interventi cancellati, punto A.2) Quindi scorrere ASNPRODT e, per tutti i record relativi all'intervento:
| Nome campo | Note |
|---|---|
| APTN-ID | Id intervento in elaborazione |
Verificare se il record è già presente su ARPPRODT, posizionandosi direttamente con:
| Nome campo | Note |
|---|---|
| A-APTN-AZIENDA | Codice azienda |
| A-APTN-ID | APTN-ID |
| A-APTN-PROG | APTN-PROG |
Se il record non esiste, inserirlo, altrimenti variarlo. Quindi aggiornare tutti i campi necessari del record ARPPRODT
| Nome campo | Contenuto |
|---|---|
| A-APTN-AZIENDA | Azienda in elaborazione |
| A-APTN-ID | APTN-ID |
| A-APTN-PROG | APTN-PROG |
| A-APTN-DATA | APTN-DATA |
| A-APTN-ACID-PROG | APTN-ACID-PROG |
| A-APTN-ID-CHIAMATA-ORIG | APTN-ID-CHIAMATA-ORIG |
| A-APTN-TIP | APTN-TIP |
| A-APTN-MERCE | APTN-MERCE |
| A-APTN-SEGNO | APTN-SEGNO |
| A-APTN-PRD-IMPORTO | APTN-PRD-IMPORTO |
| A-APTN-PRD-COEFF | APTN-PRD-COEFF |
| A-APTN-TECNICO | APTN-TECNICO |
| A-APTN-CLI-FAT | APTN-CLI-FAT |
| A-APTN-BRAND | APTN-BRAND |
| A-APTN-GRP-AZ-INT | APTN-GRP-AZ-INT |
| A-APTN-GRP-AZ-TEC | APTN-GRP-AZ-TEC |
| A-APTN-ID-SINCRO | APTN-ID-SINCRO |
| A-APTN-VAL | " " |
Estratto da documentazione interna ClickUp