Vai al contenuto

ASN180 - Chiusura Chiamate

Intestazione

Campo Valore
Programma ASN180
Titolo Chiusura Chiamate Risolte (o con tutti gli interventi Chiusi e Bolle Elaborate)
Modulo Assist 2.0
Posizione menu Assist 2.0 > Operativo > Gestione Interventi a Richiesta > Chiusura Chiamate
Sorgente cbl/asn180.cbl (2.183 righe)

Scopo

Esegue la chiusura massiva di chiamate Assist in stato "Risolta" (acht-situazione = "R") oppure di chiamate con tutti gli interventi chiusi e bolla elaborata. Dispone di una modalita' di estrazione completa (TASK 080823) che recupera anche chiamate aperte del periodo e ne forza una chiusura coerente per bonifica/recupero dati.

Puo' essere chiamato da altri programmi (ASN180-CALLED) per la selezione di una chiamata; in tal caso ritorna asn180-id.


Flusso principale

  1. Inizializzazione, caricamento configurazione (x99-confi)
  2. Setup tasti funzione e pulsanti custom (F8 interventi, F5 inserimento intervento, F7 analisi, F1 galleria)
  3. Apertura file di transito COGTRANS esclusivo per operatore (path <tmp>/#$trsasn180.<wo-oper>); errore se gia' in uso (stato 93)
  4. Modalita' called: se ricevuto w-dc-ana-cod-c-in, salta direttamente alla fase elaborazione
  5. Input filtri:
    • Id chiamata (se compilato: validato e inserito direttamente in COGTRANS come selezionato)
    • Cliente (S65 help)
    • Periodo chiamata da/a
    • Ordinamento (C = cliente+data; D = data+cliente)
    • Flag estrazione completa (TASK 080823)
  6. F3 conferma -> carica-file popola COGTRANS scansionando ASNCHTES con chiave 1, 3 o 6 a seconda dei filtri compilati
  7. Per ogni record letto, tratta-asnchtes decide se scrivere su COGTRANS:
    • acht-situazione = 'R' (Risolta) OPPURE
    • tutti gli interventi chiusi+bolla elaborata (cerca-intervento-chiuso) OPPURE
    • tm-fl-completa = "S" (estrazione completa)
    • Esclude sempre acht-situazione = "Z" (chiamate fittizie per prestampa)
    • In estrazione completa: esclude le gia' chiuse ricontrollando lo stato effettivo degli interventi (w-chiusa)
  8. carica-tab legge COGTRANS via chiave alternativa (per ordinamento) e popola la griglia paginata
  9. Selezione utente: Invio toggla tmr-sel (SELEZIONATO / spaces) e aggiorna COGTRANS
  10. F3 finale: aggiorna scorre COGTRANS, per le righe selezionate:
    • Aggiorna ASNCHTES: acht-situazione = "C", acht-chiu-data = datasis, acht-chiu-ora = orasis-oramin, acht-stato = tm-cfg-stato-evasa
    • In estrazione completa: acht-chiu-data = acht-data (data chiamata) e setta acht-scad-data/ora e acht-operatore se mancanti
    • chiudo-interventi: scorre ASNINTES, mette acit-stato = "C", acit-fl-risolutivo = "S"; in estrazione completa anche acit-fl-bol = "E", acit-mag = az-main-mag, date di assegnazione/intervento
    • x-aggiorna-asninte2: insert/update di ASNINTE2

File e tabelle acceduti

File Record Modalita' Uso
ASNCHTES acht-rec I-O Scan via chiavi 1/3/6, aggiornamento situazione/stato/chiusura
ASNINTES / ASNINTE2 acit / acit2 I-O Chiusura interventi collegati (chiave 2)
ASNCHDET achd-rec Input Lettura matricola collegata alla chiamata (chiave 2) per riga griglia
ASNMATRI amtr-rec Input Marca / serial number per riga griglia
ASNMODEL amod-rec Input Descrizione modello (chiave 2)
ASNTPATT atpa-rec Input Colore riga (modalita' tipo attivita')
ASNPRIOR apri-rec Input Colore riga (modalita' priorita')
ASNSTCHM astc-rec Input Descrizione stato chiamata
COGGEANA ana-rec Input Cliente assistito, fatturazione, fornitore
COGTABEL euta-rec Input Descrizione zona (tipo 88)
COGRIFER rif-rec Input Anagrafica tecnico
COGTRANS trs-rec I-O (esclusivo) File di transito per la griglia paginata; chiave primaria trs-chia1 (= id), chiave alternativa trs-chia2 (con acht-cli-ass+acht-data o viceversa secondo ordinamento), duplicates

Chiavi secondarie utilizzate

Copybook Tabella Scopo
cogtrans.k01 / k02 COGTRANS Chiave primaria e alternativa
asnintes.k02 ASNINTES Loop interventi per chiamata
asnchdet.k02 ASNCHDET Dettaglio chiamata per matricola
asnchtes.k03 / k06 / k07 ASNCHTES Scan per cliente assistito / data / altri filtri
asnmodel.k02 ASNMODEL Modello da amtr-id-modello

Programmi chiamati (CALL)

Programma Scopo
ASN210 Ricerca avanzata chiamata (F9 su id)
ASN230 Visualizzazione interventi per chiamata (F8 su riga)
ASN120 Inserimento intervento (F5 su riga, solo classe "C")
ASN034 Storico modifiche chiamata (F7 su riga)
ASN073 Galleria immagini chiamata (F1 su riga, solo se az-arc-ott = "S")
COGS65W Help cliente (F8 su filtro cliente)
COGW92 (disponibile via utilw92 per F9 generica)
GRIDADMN Configurazione griglia (Shift-F4)
DTPRG Conversione data per calcolo giorni progressivi
RNEWCONF Configurazione

Disponibili tramite copybook ma non strettamente invocati nel flusso principale: ASN012, ASN013, ASN034, ASN041, ASN200, ASN015, ASN110, ASN500, F01.


Configurazioni

Gruppo Parametro Variabile Effetto
ASSIST codice-stato-evasione tm-cfg-stato-evasa Codice stato chiamata assegnato alla chiusura. Se vuoto, lo stato non viene modificato
assist tipo-colore-righe-vis-chiamate tm-cfg-tipo-colore A -> colore da tipo attivita' (atpa-colore); altrimenti da priorita' (apri-colore)

Parametri di interfaccia (utilasn180)

Campo Direzione Uso
asn180-called Input Se = "ASN180-CALLED" modalita' called
asn180-caller Input Programma chiamante
asn180-ana-cli-in Input Cliente da pre-filtrare
asn180-id Output Id chiamata selezionata (in modalita' called, su Invio)

Logica di chiusura interventi (chiudo-interventi)

Scorre ASNINTES per acit-id-chiamata = acht-id. Per ogni intervento non chiuso:

  • acit-stato = "C"
  • acit-fl-risolutivo = "S"

In estrazione completa, anche:

  • acit-fl-bol = "E"
  • acit-mag = az-main-mag (se vuoto)
  • acit-ass-data = acht-data, acit-ass-ora = orasis-oramin (se vuote)
  • acit-int-data = acht-data, acit-int-ora = orasis-oramin

Quindi rwr-asnintes + x-aggiorna-asninte2 (insert se mancante + rewrite).


Tasti funzione

Tasto Contesto Funzione
F1 Tutti Configurazione / Galleria immagini su riga (se arc-ott attivo)
F3 Filtri Conferma filtri (a a-fine-dati)
F3 Griglia Conferma chiusura selezionate
F5 Griglia Inserimento intervento (ASN120, solo classe "C")
F7 Griglia Analisi storica (ASN034)
F8 Griglia Visualizza interventi (ASN230)
F9 Id chiamata Ricerca avanzata (ASN210)
Shift-F4 Griglia Configurazione colonne
Shift-F5 Griglia Esporta in Excel
Pag su/giu' Griglia Paginazione
Invio / dblclick Griglia Toggle selezione riga
ESC Tutti Esci (chiede conferma se ci sono righe selezionate)

Storico modifiche significative

24/06/2021 - Chiamate con interventi tutti chiusi

Aggiunto il paragrafo cerca-intervento-chiuso: una chiamata non in stato "R" viene considerata chiudibile se tutti gli interventi sono acit-stato = "C" e acit-fl-bol = "E". Gestita sia nella validazione id (x-controlla-tm-id-chiam) sia nello scan (tratta-asnchtes).

29/11/2013 - Chiusura interventi residui

Aggiunto chiudo-interventi: dopo la chiusura della chiamata, scorre gli interventi e ne forza la chiusura. Risolve il caso di stato chiamata "Risolutivo" applicato manualmente lasciando interventi aperti.

20/02/2014 - Colorazione righe configurabile

Configurazione tipo-colore-righe-vis-chiamate: scelta tra colore da tipo attivita' o da priorita'.

08/08/2023 - Estrazione completa (TASK)

Nuovo flag tm-fl-completa ("Estrazione completa"). Quando vale "S":

  • Pre-seleziona automaticamente tutte le chiamate trovate
  • Esclude le chiamate gia' chiuse ricontrollando lo stato effettivo degli interventi (non si fida del flag acht-situazione)
  • Forza una chiusura "coerente" dell'intervento (date, bolla, magazzino) per recupero dati storici
  • Imposta acht-chiu-data = acht-data per non concentrare in un giorno solo la chiusura di tutte le chiamate

04/09/2023 - Ricontrollo effettivo stato interventi

In modalita' estrazione completa, modificata l'esclusione delle gia' chiuse: anziche' affidarsi al flag situazione, scorre gli interventi per verificare che siano davvero tutti chiusi (flag w-chiusa).


Note di implementazione

  • Pattern griglia paginata (fscrol2.cpy, utilpggr.cpy) con buffer COGTRANS per gestione efficiente di liste estese
  • Apertura COGTRANS esclusiva per wo-oper per evitare conflitti tra sessioni dello stesso operatore
  • Le chiavi alternative di COGTRANS riflettono l'ordinamento richiesto (composizione acht-cli-ass + acht-data o acht-data + acht-cli-ass)
  • Il caricamento file usa tre rami (tratta-chia1 / tratta-chia3 / tratta-chia6) per scegliere la chiave secondaria di ASNCHTES piu' efficiente in base ai filtri
  • Pulsanti custom: F8 (visualizza interventi, icona "assist" #20), F5 (inserisci intervento, icona "assist" #49), F7 (analisi, icona "assist" #30), F1 (galleria, icona "arcott" #3 se archivio ottico attivo)