Vai al contenuto

ASN240 - Visualizzazione prestazioni e materiali eseguiti

Sorgente: cbl/asn240.cbl (3.699 righe) | Tipo: Programma interattivo di consultazione con maschera a tab (filtri + griglia paginata su file di transito), esportabile e stampabile

Menu: Assist 2.0 > Operativo > Visualizzazioni > Prestazioni eseguite


Scopo

Estrae ed elenca in griglia le righe di prestazione (P) e materiale (M) eseguite negli interventi di assistenza, con un ricco set di filtri (periodo, cliente assistito, cliente fatturazione, brand, azienda esecutrice, tecnico, prestazione/merce, serial number, situazione intervento). Per ogni riga mostra dati anagrafici, importi, matricola/serial number, note, riferimenti a DDT e fattura collegati.

Oltre alle righe consolidate in ASNINDET, per gli interventi in stato "Pre-chiuso da APP" (acit-stato = "P") integra le prestazioni/materiali aggiornati da dispositivo mobile (ASNAPPPR/ASNAPPMT), a meno che per lo stesso intervento non siano gia' presenti righe ASNINDET (PBUG-1669: evita doppioni su interventi chiusi e poi riaperti).

Dalla griglia consente di innescare le funzioni operative sull'intervento/chiamata selezionati (gestione intervento, chiusura, storico modifiche, galleria immagini, gestione chiamata), differenziando in base alla classe della chiamata (C standard vs L laboratorio).


Interfaccia chiamato (linkage)

util-asn240 (utilasn240.cpy):

Campo Tipo Uso
asn240-called / asn240-caller x(20)/x(08) Identificativi chiamante/chiamato
asn240-id-chiam-in 9(12) Id chiamata di ingresso (predefinito filtro)
asn240-ana-cli-in (ana-tip-c-in/ana-cod-c-in) Cliente assistito di ingresso
asn240-matricola-in 9(12) Matricola di ingresso
asn240-ass-data-in 9(08) Data assegnazione di ingresso
asn240-id-inter-ou 9(12) Output: id intervento selezionato (modalita' called)
asn240-nom-in 9(08) Nominativo CRM di ingresso

In modalita' called (w-dc-called = 'S'), con INVIO su una riga il programma valorizza asn240-id-inter-ou con tm-r-id-int (i) e ritorna al chiamante. In uso standalone la griglia e' di sola consultazione con tasti operativi.

File acceduti

Input/lettura

File Copybook Uso
ASNINTES acit-rec Testata intervento. Chiavi k03 (acit-ass-data), k07 (acit-int-data) per estrazione periodo
ASNINDE1 acid1-rec Vista dettaglio per data esecuzione (chiave k08 acid1-data-int) quando periodo = D
ASNINTE2 acit2-rec Estensione intervento: magazzino secondario (acit2-mag-cod)
ASNCHTES acht-rec Testata chiamata: cliente assistito/fatturazione, brand, azienda, tipo attivita', priorita', classe
ASNCHDET achd-rec Dettaglio chiamata: matricola collegata (per fallback serial number)
ASNINDET acid-rec Righe prestazione/materiale eseguite (fonte principale griglia)
ASNINDE2 acid2-rec Estensione riga: qta effettiva/originale
ASNINDED acidd-rec Descrizioni righe (note modifiche da APP)
ASNINDAG aitd-rec Note aggiuntive intervento tipo F (finali) e T (tecniche)
ASNINDMG acim-rec Legami intervento-documento magazzino (per riferimenti DDT/fattura)
ASNAPPPR asnapppr-rec Prestazioni aggiornate da APP mobile (interventi pre-chiusi)
ASNAPPMT asnappmt-rec Materiali aggiornati da APP mobile
ASNMATRI amtr-rec Matricole: serial number, n. inventario
ASNMODEL amod-rec Modelli matricola
ASNTPATT atpa-rec Tipo attivita': descrizione, colore
ASNPRIOR apri-rec Priorita': descrizione, colore
COGGEANA ana-rec Anagrafica clienti (assistito/fatturazione)
COGDESTI dst-rec Destinazioni diverse
COGRIFER rif-rec Riferimenti/tecnici (nome)
COGMAGAZ magz-rec Magazzini interni (descrizione)
COGMAGPE mgp-rec Magazzini esterni (magazzino secondario)
COGRACCO rac-rec Raccolta contabile: risalita da DDT a fattura (chiave k02)
COGBRAND bra-rec Brand/marchio
GRPAZIEN ao-azi-rec Gruppo aziende esecutrici
CRMANAGR cra-rec Anagrafica nominativi CRM (cliente prospect)
CRMTIPCL tcl-rec Tipologia nominativo CRM
COGMERCI mer-rec Anagrafica merci/prestazioni (validazione filtro)

Transito

File Scopo
t-grid-det (t-gor-r-rec) Buffer righe estratte per la griglia paginata e-grid-det (una riga per prestazione/materiale). Creato, riordinato e cancellato a fine programma

Chiavi secondarie

  • asnintes.k02 (acit-id-chiamata), k03 (data assegnazione), k06, k07 (data esecuzione)
  • asnindet.k08 (data esecuzione dettaglio, usata come ASNINDE1)
  • cogracco.k02

La start su ASNINDE1 per chiave acid1-chia8 e' dichiarata manualmente nel sorgente (st-asninde1-notmin-chia8).

Programmi chiamati

Programma Operazione Scopo
ASN110 (called) F7 su riga chiamata classe C: gestione chiamata standard
ASN500 (called) F7 su riga chiamata classe non-C: gestione chiamata laboratorio
ASN140 ASN140-CALLED F6 su riga classe C: chiusura intervento
ASN120 ASN120-CALLED F3 su riga classe C: gestione/inserimento intervento
ASN034 (lookup) F8: storico modifiche della chiamata
ASN073 (called) F1 (se archiviazione ottica attiva): galleria immagini chiamata
ASN200 ASN200-CALLED F9 su serial number: ricerca avanzata matricola
COGMAH (lookup) F8 su brand: ricerca brand
GRP002 (lookup) F8 su azienda esecutrice
COGS65W Lookup cliente assistito / cliente fatturazione
COGG32 (via call-g32-generic) Lookup tecnico
COGS68 (util-s68) Lookup prestazione/merce
GRIDADMN Prepara / S-F4 Personalizzazione e amministrazione griglia
RNEWCONF Lettura/modifica configurazioni
W$MENU Menu contestuale griglia (right-click)

La stampa report (F9) e l'esportazione Excel (S-F5) sono gestite da routine standard (z-wordmdl-report, z-esporta-grid-det).

Configurazioni RNEWCONF (x99-confi)

Idx Gruppo Chiave Variabile Effetto
01 assist tipo-colore-righe-vis-chiamate tm-cfg-tipo-colore A = colore per tipo attivita', altrimenti per priorita'
02 ass-chiam intervento-piu-giorni tm-cfg-inter-piu-giorni Gestione intervento su piu' giorni
03 ass-chiam clienti-assistiti-crm tm-cfg-clienti-assistiti-crm Abilita clienti assistiti da CRM (prospect)
04 assist gestione-gruppo-aziende tm-cfg-gestione-gruppo-aziende S = risolve descrizione azienda esecutrice
05 azienda gestione-brand-marchio tm-cfg-gestione-brand Abilita gestione brand

Link di riferimento: tipo-colore-righe-vis-chiamate, intervento-piu-giorni, clienti-assistiti-crm, gestione-gruppo-aziende, gestione-brand-marchio.

Logica di elaborazione

Struttura a tab

La maschera ha due pagine (e-tab-control): pagina Filtri (k-pag-filtri) e pagina Risultati (k-pag-risultati). Il flusso di accept dei filtri (a-tm-situazione ... a-tm-sn) e' navigabile in sequenza e con mouse (x-test-mouse-filtri). Con F7 (conferma filtro) si passa a a-controlla-filtri che valida tutti i campi (x-imposta-conferma) e, se ok, va a a-pag-risultati.

Supporta filtri predefiniti salvabili/richiamabili (utilimppredf.cpy, ctrl-S salva / ctrl-F carica).

Estrazione (z-grid-det-crea-transito / z-grid-ricerca-dati)

Il tipo di scansione dipende da tm-fl-periodo:

  • "A" (assegnazione): scorre ASNINTES per chiave k03 acit-ass-data da tm-data-da a tm-data-a
  • "I" (esecuzione intervento): scorre ASNINTES per chiave k07 acit-int-data
  • "D" (esecuzione dettaglio): scorre ASNINDE1 per chiave k08 acid1-data-int, poi risale a ASNINTES

Per ogni intervento (z-grid-filtri):

  1. Legge ASNCHTES. Se acht-cli-fat-cod = 0, usa il cliente assistito come fatturazione (PBUG-580)
  2. Scarta interventi con acit-stato = "Z" (fittizi)
  3. Filtra per situazione (tm-situazione: T/A/P(P+C)/C/N), cliente assistito, cliente fatturazione, brand, azienda esecutrice
  4. Filtro serial number: scorre ASNCHDET e verifica il range su amtr-sn
  5. Scorre ASNINDET (z-grid-20-loop-asnindet): filtra per tipo riga (P/M in base a tm-fl-prest/tm-fl-mater), merce (tm-prestazione), tecnico. TASK-561: se acid-tecnico = 0 usa acit-tecnico (1)
  6. Per ogni riga valida compone il record t-gor-r-rec con tutti i dati derivati (anagrafiche, descrizioni merce, importi, matricola/serial, note F/T/modifiche, situazione descrittiva, tecnico, magazzino, priorita', colore) e cerca i riferimenti DDT/fattura (PCASE-929) scorrendo ASNINDMG e risalendo a COGRACCO

Integrazione righe da APP mobile (z-grid-fine-asnindet)

Solo se acit-stato = "P" e non sono state trovate righe ASNINDET (PBUG-1669): scorre ASNAPPPR (prestazioni) e ASNAPPMT (materiali) applicando gli stessi filtri e componendo record di griglia analoghi, con situazione "Pre-chiuso da APP".

Gestione da griglia (a-grid)

Ogni riga porta id chiamata (t-gor-r-id-chi), id intervento (t-gor-r-id-int), tipo chiamata (t-gor-r-tipo-chi). I tasti funzione (F3/F6/F7/F1/F8/F9) innescano i programmi elencati sopra; per le chiamate classe L (laboratorio) alcune funzioni (chiusura, gestione intervento) sono inibite con messaggio (le prestazioni/materiali non sono gestiti dallo stesso flusso della classe C).

Messaggi principali

ID Contesto
m-asn240-2-1 Titolo maschera
m-asn240-3-1 Nessun record estratto
m-asn240-4-1/5-1 Funzione non abilitata per chiamata laboratorio
m-asn240-6-1/7-1 Filtro prestazione/materiale: almeno un tipo o una merce
m-asn240-8-1 ... 18-1 Validazioni campi filtro (cliente fat., brand, azienda, cliente ass., date, tecnico, prestazione)
m-asn240-19-1 ... 25-1 Etichette pulsanti custom (Salva/Trova filtro, Assegna, Chiamata, Galleria, Gestione, Chiusura)
m-asn240-prestazione/materiale Etichette classe riga
m-asn240-st-* Descrizioni situazione (aperto, assegnato, prechiuso, eseguito, fittizia)
m-asn240-cliente/prospect Suffisso label cliente assistito

Storico modifiche significative (dal sorgente)

  • 101018: cliente assistito puo' essere un nominativo CRM (prospect); flag clienti-assistiti-crm
  • 191218: filtri e colonne per brand, azienda esecutrice, cliente fatturazione; importi/sconti su righe
  • 241018: magazzino secondario da ASNINTE2
  • 281019: colonna chiamata cliente
  • 120919: PCASE-929 riferimenti DDT e fattura dell'intervento
  • 160419: n. inventario matricola; note modifiche da ASNINDED
  • 100123: descrizione magazzino intervento
  • 080121: situazione filtro ridotta alle sole opzioni P e C; default P
  • 040724: colonna priorita' e descrizione
  • 060623: PBUG-1669 no doppioni righe APP se gia' presenti ASNINDET
  • 240425: personalizzazione Auriservice (data dettaglio = data chiamata, commessa 17963)
  • 040325: TASK-561 filtro tecnico funzionante anche sui soli materiali

Note implementative

  • Griglia gestita interamente in sola lettura (z-99-begin-entry-grid-det fallisce l'entry su ogni cella)
  • Personalizzazione Endonova: default tm-fl-periodo = "A"
  • Le note (aitd-note, acidd-des) vengono ripulite dai caratteri CR/LF (wca-cod-cr/wca-cod-lf) prima di finire in griglia
  • Filtri predefiniti gestiti da utilimppredf.cpy; ordinamento predefinito impostato via z-grid-det-componi-ord sulla colonna id chiamata