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
- Inizializzazione: apertura file, caricamento bitmap custom (Salva/Cerca impostazione), preparazione griglia, costruzione menu pop-up
grid-det
- Caricamento default: chiamata
z-imppredf-carica-default per recuperare l'impostazione preferita salvata; se trovata, salta direttamente ai risultati
- Pagina Filtri (
a-pag-filtri):
- Accept
tm-tecnico (lookup con COGG32)
- Accept
tm-data-da (con calendario)
- Accept
tm-data-a (con calendario)
- F7 conferma e passa a
a-controlla-filtri
- 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
- 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)