Vai al contenuto

ASN210 - Consultazione/selezione chiamate

Sorgente: cbl/asn210.cbl (7.831 righe) | Tipo: Programma interattivo con griglia paginata, filtri multipli, file di transito e menu a tendina; utilizzabile anche come "called" (selettore di chiamata)

Menu: Assist 2.0 > Operativo > Visualizzazioni > Chiamate


Scopo

E' la maschera centrale di consultazione delle chiamate di assistenza (ASNCHTES). Presenta un frame di filtri molto ampio (situazione, tipo, cliente, tecnico, periodo apertura/chiusura, matricola/serial number, zona, responsabile, area tecnica, brand, azienda esecutrice, contratto, commessa, ecc.) e una griglia paginata dei risultati. Da ogni riga si aprono le principali funzioni operative sulla chiamata: gestione chiamata, interventi, preventivi, dossier, costi/ricavi, galleria immagini, non conformita', creazione DDT.

La maschera e' organizzata in due pagine (tab control): pagina 1 = criteri di ricerca, pagina 2 = griglia risultati. L'estrazione popola un file di transito cogtrans (record t-gor), poi la griglia viene paginata su di esso via fscrol2/dtab/utilpggr.

Supporta un refresh automatico temporizzato (configurabile) e un menu a tendina con le voci Non conformita' e DDT.


Interfaccia chiamato (linkage)

util-asn210 (copybook utilasn210.cpy):

Campo Tipo Uso
asn210-called x(20) Se = "ASN210-CALLED" attiva la modalita' selettore
asn210-caller x(08) Programma chiamante (es. ASN110)
asn210-id 9(12) Output: id chiamata selezionata (ritornato su INVIO su una riga)
asn210-ana-cli-in (asn210-ana-tip-c-in/asn210-ana-cod-c-in) Cliente assistito preimpostato
asn210-data-ini 9(08) Data apertura preimpostata (imposta situazione X, periodo da/a sull'anno)
asn210-sn x(30) Serial number preimpostato (imposta tipo chiamata L, situazione X)
asn210-nom-in 9(08) Nominativo CRM preimpostato

In modalita' called (w-dc-called = "S") i filtri di partenza sono forzati dai dati di linkage; su INVIO su una riga si valorizza asn210-id e si esce (go to fine). Se il caller e' ASN110 la gestione chiamata (F3) e' inibita.

File acceduti

Input/lettura principali

File Copybook Uso
ASNCHTES acht-rec Testata chiamata: file guida dell'estrazione (chiavi k02 stato, k03 cli-ass, k06 data, k07 stato+chiu-data, k10 nom-ass)
ASNCHDET achd-rec Dettaglio matricole della chiamata (k02 per matricola)
ASNINTES acit-rec Interventi della chiamata (k02 id-chiamata): stato/tecnico/risolutivo per adeguare la situazione
ASNINDMG acim-rec Movimenti magazzino di intervento (riferimento fatture, acim-tes-chia3)
ASNCHSTO achs-rec Storico chiamata: data ultimo cambio stato M1/inserimento CI (calcolo scaduta)
ASNCHORD acho-rec Ordini collegati alla chiamata (tip M/O, TASK-3512/5052)
ASNCHPRV achv-rec Preventivi collegati (prima data preventivo)
ASNCHWKF achw-rec Workflow chiamate laboratorio (date step autorizzazione/chiusura)
ASNCHRAC achr-rec Raccordo chiamata est/lab (k02, k04)
ASNMATRI/ASNMODEL/ASNMTRTP/ASNMARCH/ASNMTRLK Matricole, modelli, tipi, marche, legami matricola (albero impianto)
ASNSTCHM astc-rec Stato chiamata: descrizione, colore, giorni medi evasione (scadenza)
ASNPRIOR/ASNPROVC/ASNTPATT/ASNAREAT/ASNRESPO/ASNARESP Priorita', provenienza, tipo attivita', area tecnica, responsabile
COGGEANA/COGAPPOG/COGDESTI/COGDEST2 ana/app/dst/dst2 Cliente, appoggi (telefono), destinazioni diverse (zona/telefono)
COGTABEL euta-rec Zone (tipo 88), agenti
COGRIFER rif-rec Riferimenti/tecnici
COGCONOR/COGRIGBP/COGTESBP cor/rbp/tbp Ordine materiali → BDP di consegna collegato (TASK-3512/5052)
COGRACCO rac-rec Raccolta contabile (riferimento fatture)
COGGENER gnr-rec Raccordo nr. chiamata portale (tip AC/AT)
COGNCDOC ncr-rec Presenza non conformita' sulla chiamata (k02)
CRMANAGR/CRMTIPCL/CRMDOSAT/CRMINFOR/CRMINFDS cra/tcl/dsv/ipt/ids Nominativi CRM, dossier attivo, info account/punto vendita
GRPAZIEN ao-azi-rec Azienda esecutrice (gruppo aziende)
COGBRAND bra-rec Brand
COGTESCM/COGSOTCM tsc/sot Commessa / sottocommessa (validazione filtro)

Transito

File Scopo
cogtrans (#$asn210-... implicito via .decla) Buffer risultati chiamate (record t-gor): tutti i dati denormalizzati per la griglia. Chiavi k01/k02 per ordinamento paginato
t-impianto (#$asn210-impianto-...) Tabella indicizzata temporanea per l'esplosione ricorsiva dell'albero matricole (filtro "matricole figlie"/"tutto l'albero"). Creata via copy "cogtrans.k01/.k02" replacing. Chiave k02 = ramo-esaminato + matricola

Chiavi secondarie

  • asnmatri.k02, asnmtrlk.k02, asnintes.k02, asnchdet.k02, asnmodel.k02, asnrespo.k02
  • asnchtes.k07 (stato+chiu-data), .k06 (data), .k03 (cli-ass), .k10 (nom-ass)
  • asnchrac.k02, .k04; cogracco.k02; cogncdoc.k02; cogconor.k02; cogrigbp.k04
  • t-impianto: cogtrans.k01+.k02 con replacing

Programmi chiamati

Programma Operazione Scopo
RNEWCONF Lettura configurazioni iniziali e modifica con F1
COGF01 (lookup) F8 su Zona
COGE35 (lookup) F8 su Agente
COGS65W (z-s65-*) Lookup cliente assistito / agente
COGG32 (util-g32) accept/remote-win Tecnico e contatti/agenda cliente (S-F7)
COGMAH (lookup) F8 su Brand
GRP002 (lookup) F8 su Azienda esecutrice
ASN012/ASN013 (lookup) F8 marca / modello
ASN015/ASN016/ASN035/ASN036/ASN041/ASN042 (lookup) Stato chiamata / tipo attivita' / area tecnica / responsabile / priorita' / provenienza
ASN200 ASN200-CALLED F9 ricerca avanzata matricola / serial number
ASN220 ASN220-CALLED F9 ricerca avanzata contratto
COGS0B (util-cogs0b) PCASE-1571: verifica abilitazione operatore al gruppo aziende della riga
COGU06 Cerca-stato-doc Filtro "chiamate senza immagini" (stato archiviazione ottica)
CRMS06 Leggi Info telefono / account punto vendita da CRM
GESSTR CERCA-PREPARA/CERCA-ESEGUI Ricerca full-text sull'oggetto chiamata
festa.cob / DTPRG / PRGDT Calcolo giorni lavorativi (scadenza per ritardo)
ASN110 F3 gestione chiamata classe C (specifica per alcuni casi)
ASN500 F3 gestione chiamata (classe non C)
ASN230 ASN230-CALLED F7 visualizzazione interventi della chiamata
ASN120 ASN120-CALLED F5 gestione/inserimento intervento (classe C)
ASN545 F6 gestione preventivi (classe C)
CRMK10 S-F7 gestione dossier collegato
ASN125 ASN125-CALLED S-F6 note su dossier
ASN034 F8 storico modifiche chiamata
ASN073 F1 galleria immagini (archiviazione ottica)
ASNDCR ESAMINA F11 dettaglio costi/ricavi
COGMA3 COGMA3-CALLED S-F2 filiera documento
COGNA0 CREAZIONE Menu → inserimento nuova non conformita'
COGNA1 COGNA1-CALLED Menu → consultazione non conformita' esistenti
ASNS10 CREA-DDT Menu DDT → creazione DDT dall'intervento
COGV56 COGV56-CALLED Apertura DDT creato (da dialog dopo CREA-DDT)
DIALOGS Dialog post creazione DDT
W\$MENU Costruzione/gestione menu a tendina (File, Non conformita', DDT, ?)
GRIDADMN Personalizzazione griglia
COGW92 (send-w92) Risoluzione destinazioni diverse

Configurazioni RNEWCONF (x99-confi, 14 chiavi)

Idx Gruppo Chiave Variabile Effetto
01 ASS-STRUM GENERAZIONE-DOSSIER tm-cfg-genera-dossier Se S/D/R abilita i pulsanti dossier/note dossier sulle righe
02 assist tipo-colore-righe-vis-chiamate tm-cfg-tipo-colore A = colore da tipo attivita', altrimenti da priorita'
03 assist gestione-chiamate-da-portale-web tm-cfg-chiam-portale S → cerca nr. chiamata portale (COGGENER)
04 ASSIST arc-ott-autom tm-cfg-arc-ott Abilita filtro "chiamate senza immagini" e galleria
05 ASSIST asn210-tempo-refresh tm-cfg-refresh Secondi di auto-refresh della griglia; 9999 = nessun refresh
06 ass-chiam gestione-agente tm-cfg-gest-agente Abilita il filtro agente
07 ass-chiam colore-riga-chiamate-scadute tm-cfg-colore-evidenza Colore righe scadute
08 assist chiamate-programmate-provenienza tm-cfg-ch-programmate Provenienza che identifica le chiamate "programmate"
09 azienda gestione-brand-marchio tm-cfg-gestione-brand Abilita filtro brand
10 ass-chiam clienti-assistiti-crm tm-cfg-clienti-assistiti-crm Abilita ricerca cliente come nominativo CRM
11 assist gestione-gruppo-aziende tm-cfg-gestione-gruppi-aziende Attiva filtro azienda esecutrice + verifica abilitazione operatore (COGS0B)
12 CRM-CAMP inf-telefono tm-cfg-info-telefono Info telefono da CRM
13 clipot info-account tm-cfg-info-account Colonna "Account/Punto Vendita"
14 ass-chiam tipo-attivita-consegna tm-cfg-tipo-attivita-consegna Tipo attivita' che abilita la voce menu "Creo DDT"

Logica di estrazione (z-tm-tab-crea-transito)

L'estrazione sceglie la strategia di scansione di ASNCHTES in funzione dei filtri (in ordine di priorita'):

  1. Singola chiamata (tm-id-chiamata): lettura secca, adeguamento situazione, scrittura diretta.
  2. Cliente assistito (tm-ass-cod): b-estrai-chiamate-per-cli-ass (k03) o b-estrai-chiamate-per-cli-crm (k10).
  3. Periodo apertura (tm-chiamata-da): b-estrai-chiamate-per-data-apertura (k06).
  4. Situazione = T (tutte): b-estrai-tutte-le-chiamate (chiave primaria).
  5. Situazione specifica: b-estrai-chiamate-per-situazione (k07 = stato+chiu-data), invocata per uno o piu' valori di acht-situazione a seconda della situazione logica richiesta.

Le situazioni logiche gestite (tm-situazione): A aperte assegnate, C chiuse, K non risolte, N aperte non assegnate, O non evase, P pre-chiuse, R risolte, V da vistare, X aperte assegnate e non. Per ciascuna si scansionano piu' valori fisici di acht-situazione (, A, R, ...) perche' i dati possono risultare promiscui.

b-applica-filtri

Per ogni chiamata candidata applica in cascata tutti i filtri: situazione (evaluate per stato fisico), classe chiamata (C/L), priorita', chiamate programmate/non, periodo apertura/chiusura, cliente, destinazione, agente, tipo attivita', brand, azienda esecutrice (+ abilitazione COGS0B), provenienza, area tecnica, responsabile, stato chiamata, contratto, "senza responsabile", presenza/assenza contratto, commessa/sottocommessa. Poi: - ricerca full-text sull'oggetto (GESSTR), ricerca per parole dell'"id chiamata cliente" (cerca-chiave-cli, fino a 5 parole tutte presenti), - zona (cliente o destinazione diversa), "escludi risolte" (via astc-fl-int-ese), "senza immagini" (COGU06), - loop sul dettaglio matricole (matricola/marca/modello/serial number, con supporto albero impianto), loop sugli interventi (tecnico, presenza interventi aperti/chiusi/risolutivi/pre-chiusi).

Alla fine b-adegua-situazione normalizza la situazione mostrata (pre-chiusa/aperta assegnata/non assegnata/mista M/non risolta N/risolta R) e verifico-scadute determina se la chiamata e' scaduta per ritardo di evasione (giorni lavorativi tra ultimo cambio stato e oggi vs astc-gg-medi; le priorita' urgenti sono sempre considerate).

scrivi-cogtrans

Costruisce il record t-gor denormalizzando tutti i dati della chiamata (cliente, destinazione, telefoni, tecnico, date, stato/colore, priorita', tipo attivita', matricola/marca/modello/sn della prima matricola valida, riferimenti ordini/BDP materiali, riferimenti fatture, dossier, non conformita', portale, laboratorio, ecc.) e lo inserisce nel transito via z-tm-tab-inserisci-t-rec.

Filtro albero impianto

Se richiesto "matricole figlie"/"tutto l'albero", a1-estrai-impianto esplode ricorsivamente in t-impianto la matricola (o la radice, cercata risalendo ASNMTRLK) e tutti i figli, usando un pattern con flag ramo-esaminato.

Funzioni sulla griglia (paragrafo a-grid)

Tasto Azione
INVIO In modalita' called: ritorna asn210-id ed esce
F3 Gestione chiamata: ASN110 (classe C, casi specifici) o ASN500
F5 Gestione/inserimento intervento (ASN120, solo classe C)
F6 Preventivi (ASN545, solo classe C)
F7 Visualizzazione interventi (ASN230)
F8 Storico modifiche (ASN034)
F9 Report standard (z-wordmdl-report)
F1 Galleria immagini (ASN073, se arc. ottica)
F11 Costi/ricavi (ASNDCR)
S-F7 Contatti/agenda (COGG32) o dossier (CRMK10)
S-F6 Note su dossier (ASN125)
S-F2 Filiera documento (COGMA3)
S-F4 Personalizza griglia (GRIDADMN)
S-F5 Esporta Excel
Sh-F2 Refresh dati
Menu Non conformita' (COGNA0/COGNA1), Creo DDT (ASNS10)

Dopo una funzione che puo' aver modificato i dati, se il refresh automatico e' attivo (tm-cfg-refresh <> 9999) il programma ri-estrae mantenendo la posizione tramite tm-id-restart/pg-reload.

Note implementative

  • Griglia paginata su cogtrans via fscrol2/dtab/utilpggr (non presente esplicitamente qui: la paginazione usa i paragrafi tm-tab-pg-*).
  • Menu a tendina custom costruito con W$MENU (x-crea-menu); le voci Non conformita'/DDT vengono abilitate/disabilitate in funzione della riga corrente e del tipo attivita' (x-abilita/disabilita-voci-menu-*).
  • Il file t-impianto viene ricreato ad ogni estrazione (nome con data/ora/operatore) e cancellato in chiusura.
  • Debug via gesdebug con tracce sui punti di reload della griglia.
  • Il programma usa estesamente GO TO verso i paragrafi di accept per la navigazione tra i campi filtro (schema tipico delle maschere Assist generate).