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.k02asnchtes.k07(stato+chiu-data),.k06(data),.k03(cli-ass),.k10(nom-ass)asnchrac.k02,.k04;cogracco.k02;cogncdoc.k02;cogconor.k02;cogrigbp.k04t-impianto:cogtrans.k01+.k02conreplacing
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'):
- Singola chiamata (
tm-id-chiamata): lettura secca, adeguamento situazione, scrittura diretta. - Cliente assistito (
tm-ass-cod):b-estrai-chiamate-per-cli-ass(k03) ob-estrai-chiamate-per-cli-crm(k10). - Periodo apertura (
tm-chiamata-da):b-estrai-chiamate-per-data-apertura(k06). - Situazione =
T(tutte):b-estrai-tutte-le-chiamate(chiave primaria). - Situazione specifica:
b-estrai-chiamate-per-situazione(k07 = stato+chiu-data), invocata per uno o piu' valori diacht-situazionea 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
cogtransviafscrol2/dtab/utilpggr(non presente esplicitamente qui: la paginazione usa i paragrafitm-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-impiantoviene ricreato ad ogni estrazione (nome con data/ora/operatore) e cancellato in chiusura. - Debug via
gesdebugcon tracce sui punti di reload della griglia. - Il programma usa estesamente
GO TOverso i paragrafi di accept per la navigazione tra i campi filtro (schema tipico delle maschere Assist generate).