Vai al contenuto

ASN266 - Visualizzazione Tempi di intervento

Intestazione

Campo Valore
Programma ASN266
Titolo Visualizzazione Tempi di intervento
Modulo Assist 2.0 - Visualizzazioni
Posizione menu Assist 2.0 > Operativo > Visualizzazioni > Tempi di intervento
Sorgente cbl/asn266.cbl (~1.268 righe)
Tipo Programma interattivo a schede (tab-control) con griglia + file di transito

Scopo e logica generale

ASN266 estrae i tempi dichiarati dai tecnici sugli interventi di assistenza (file ASNINTMP) filtrati per tecnico e intervallo date, li arricchisce con i dati di cliente, fatturazione e intervento e li mostra in griglia.

E' organizzato su 2 pagine di tab-control (k-pag-filtri = 1, k-pag-risultati = 2) e supporta il salvataggio/caricamento di impostazioni di filtro preferite (imppredf).

Dalla griglia consente di aprire l'intervento selezionato in ASN140 (chiusura intervento) tramite F3.


Flusso principale

  1. Inizializzazione: apertura file, caricamento bitmap custom (Salva/Cerca impostazione), preparazione griglia, costruzione menu pop-up grid-det
  2. Caricamento default: chiamata z-imppredf-carica-default per recuperare l'impostazione preferita salvata; se trovata, salta direttamente ai risultati
  3. Pagina Filtri (a-pag-filtri):
  4. Accept tm-tecnico (lookup con COGG32)
  5. Accept tm-data-da (con calendario)
  6. Accept tm-data-a (con calendario)
  7. F7 conferma e passa a a-controlla-filtri
  8. Estrazione (a-leggi-dati): apre file di transito t-grid-det, scorre ASNINTMP su chiave secondaria chia2 (tecnico + data), filtra per intervallo date e tecnico, arricchisce con dati ASNINTES, ASNCHTES, COGGEANA, COGRIFER
  9. Pagina Risultati (a-pag-risultati -> a-grid): griglia paginata con F3=ASN140, S-F4=GRIDADMN, S-F5=esporta Excel, F7=torna ai filtri

File e tabelle acceduti

File Record Modalita' Uso
ASNINTMP acip-rec Input Tempi intervento (dichiarazioni tecnici): scan su chia2 (tecnico + data)
ASNINTES acit-rec Input Testata intervento: id-chiamata, etc.
ASNCHTES acht-rec Input Testata chiamata: cli-ass e cli-fat
COGGEANA ana-rec Input Anagrafica: descrizioni cliente assistito e fatturazione
COGRIFER rif-rec Input Riferimenti: nome tecnico (rif-tip = 'C')
t-grid-det t-gor-r-rec I-O File di transito locale per la griglia: contiene una riga per ogni record ASNINTMP estratto + dati arricchiti

Chiavi secondarie utilizzate

Copybook Tabella Scopo
asnintmp.k02 ASNINTMP Ricerca tempi intervento per tecnico + data

Programmi chiamati (CALL)

Programma Scopo
ASN140 Apre l'intervento selezionato per chiusura/gestione (F3 sulla griglia)
COGG32 Lookup generico tecnico (campo tm-tecnico) tramite call-g32-tecnico
GRIDADMN Personalizzazione colonne griglia (S-F4)
W$MENU Visualizzazione menu pop-up sulla griglia (right-click)

Parametri di configurazione (RNEWCONF)

Nessun parametro RNEWCONF specifico viene caricato (sebbene utilncnf.cpy sia incluso). Il programma e' di sola consultazione e non ha configurazioni applicative dedicate.


Tasti funzione

Tasto Contesto Funzione
F3 Griglia Apre ASN140 per l'intervento corrente
F7 Filtri Conferma filtri, passa ai risultati
F7 Griglia Torna ai filtri
F8 Tecnico Aiuto / lookup
F8 Data Calendario
S-F4 Griglia GRIDADMN (config colonne)
S-F5 Griglia Esporta in Excel
Ctrl-S Filtri Salva impostazione preferita (z-imppredf-salva)
Ctrl-F Filtri Carica impostazione preferita (z-imppredf-seleziona)
Right-click Griglia Menu pop-up grid-det
ESC Vari Esce

Logica di estrazione (z-grid-ricerca-dati)

move tm-tecnico         to acip-tecnico
move tm-data-da         to acip-data
perform st-asnintmp-notmin-chia2

loop:
  rdnxt-asnintmp
  - se w-fine-file -> esci
  - se filtro tecnico attivo e acip-tecnico != tm-tecnico -> esci (rottura chiave)
  - se acip-data < tm-data-da -> salta
  - se acip-data > tm-data-a -> salta
  - leggi ASNINTES (acit), ASNCHTES (acht)
  - leggi COGGEANA per cli-ass e cli-fat
  - leggi COGRIFER (tip='C') per nome tecnico
  - popola t-gor-r-rec con tutti i campi necessari
  - perform z-grid-det-inserisci-t-rec

Se tm-data-a = 0, viene forzato a 20401231 per evitare upper bound. Se il filtro tecnico e' a zero, l'estrazione comprende tutti i tecnici (no filtro su acip-tecnico).

Campi copiati su t-grid-det

Origine Destinazione
acht-cli-ass-cod, ana-nome t-gor-r-cli, t-gor-r-cli-d
acht-cli-fat-cod, ana-nome t-gor-r-cli-f, t-gor-r-cli-df
acip-id-intervento t-gor-r-id-int
acip-tecnico, rif-nome t-gor-r-tecni, t-gor-r-tecni-n
acip-data t-gor-r-data
acip-va-km, acip-va-ora-inizio, acip-va-ora-fine t-gor-r-va-km, t-gor-r-va-ora-i, t-gor-r-va-ora-f
acip-vr-km, acip-vr-ora-inizio, acip-vr-ora-fine t-gor-r-vr-km, t-gor-r-vr-ora-i, t-gor-r-vr-ora-f
acip-ini-ora-ini-m, acip-ini-ora-fin-m t-gor-r-int-ora-im, t-gor-r-int-ora-fm
acip-ini-ora-ini-p, acip-ini-ora-fin-p t-gor-r-int-ora-ip, t-gor-r-int-ora-fp
acip-n-pasti, acip-n-trasferte, acip-n-pernotti t-gor-r-n-pasti, t-gor-r-n-trasferte, t-gor-r-n-pernotti

Pattern architetturali

  • Tab-control a 2 pagine con cmd-tabchanged per la navigazione
  • File di transito + griglia paginata: t-grid-det e' creato come file di lavoro locale al programma, ricreato ad ogni estrazione (z-grid-det-apri-transito + z-grid-det-crea-transito + z-grid-det-riordina-transito)
  • Impostazioni predefinite via imppredf: il programma e' uno dei tipici "report visualizzati a griglia" con salvataggio impostazione filtri (vedi asn266.imppredf-wrk e asn266.imppredf)
  • Pulsanti push button custom per Salva/Cerca impostazione (x-display-push-button-custom)
  • Menu pop-up grid-det per accesso rapido a operazioni contestuali sulla riga
  • Ordinamento default fisso: per tecnico ASC + data ASC

Limiti tecnici

Elemento Limite Costante
Numero massimo righe griglia 900 k-max-ele-tab
Data fine default 20401231 (hardcoded)

Note tecniche

  • Il programma usa il pattern "scheletro griglia paged" con wgrid.cpy, utilgdad.cpy, dtab.cpy, fscrol2.cpy, utilpggr.cpy
  • L'apertura intervento (F3) non passa filtri di selezione: ASN140 si apre in modalita' "chiamata da consultazione"
  • Le colonne modificabili della griglia (paragrafi x-controlla-tm-r-*) sono presenti come scheletro commentato — la griglia e' di sola lettura
  • Il programma e' completamente standalone (non riceve parametri linkage utili oltre a stringhe)