ASN352 - Report interventi da riepilogare¶
Sorgente: cbl/asn352.cbl (4.560 righe) | Tipo: Programma interattivo con tab control, griglia e stampa report WORDMDL
Menu: Assist 2.0 > Operativo > Gestione Interventi a Richiesta > Report interventi da riepilogare
Scopo¶
Estrae gli interventi di assistenza chiusi (ASNINTES, stato "C") nel periodo indicato, li mette in transito calcolando per ciascuno i totali di manodopera, materiali, "altre prestazioni", eventuali km e franchigia, e li mostra in griglia editabile su una seconda pagina del tab control. Dalla griglia l'operatore puo':
- Modificare la franchigia dell'intervento (aggiornata subito su
ASNINTE2) e il flag di elaborazione "Fatturazione attiva esterna". - F9 stampare un report riepilogativo tramite modello WORDMDL/COGPA3 (una riga di dettaglio per intervento).
- F6 esportare i rapportini PDF degli interventi (via ASN060W) nella cartella configurata; F5 copiare in locale i PDF gia' archiviati nella galleria immagini della chiamata.
- F3 aggiornare massivamente il flag "Fatturazione attiva esterna" su
ASNINTE2; F2 invertirne il valore ("Evadi").
Opzionalmente (tm-ordini-commessa = "S") aggiunge alla griglia anche gli ordini collegati alla commessa filtrata.
File acceduti¶
Input/lettura¶
| File | Copybook | Uso |
|---|---|---|
| ASNINTES | acit-rec |
Testata intervento. Scansione per data esecuzione (chiave k07). Tecnici, stato, commessa, fl-risolutivo, destinazione |
| ASNINTE2 | acit2-rec |
Estensione intervento: franchigia, fl-fa-esterna (fatturazione attiva esterna). Anche update (F3) |
| ASNCHTES | acht-rec |
Testata chiamata: cliente fatturazione/assistito, oggetto, note, id-contratto, fl-fat, dossier |
| ASNINDET | acid-rec |
Righe di dettaglio intervento (materiali/prestazioni): tipo, merce, qta, importo, prezzo netto, fl-fat |
| ASNINDAG | aitd-rec |
Note intervento (tipo "T") inserite dal tecnico |
| COGMERCI / COGMERA3 | mer-rec / ma3-rec |
Anagrafica merce; ma3-fl-manodopera distingue prestazioni manodopera |
| COGGEANA | ana-rec |
Cliente (nome, indirizzo) |
| COGANAPP / COGDESTI / COGDEST2 | aap-rec/dst-rec/dst2-rec |
Localita' appoggio, destinazione diversa, codici immobile/edificio (dst2-skype/dst2-fax) |
| ASNCNTES | acnt-rec |
Riferimento contratto (acnt-rif-contratto) |
| COGTESCM | tsc-rec |
Commessa (descrizione breve) |
| COGRIFER | rif-rec |
Tecnico (filtro F8) |
| COGRIGCM / COGRIGOR / COGTESOR / COGRIGOR / COGTESPR / COGTPRNT | Ordini collegati alla commessa (cerca-ordini): righe commessa, righe ordine, testate ordine, preventivi e loro note |
|
| COGIMAGE | img-rec |
Galleria immagini/PDF chiamata (chiave k02) per esportazione (F5) |
Output/scrittura¶
| File | Copybook | Scrittura |
|---|---|---|
| ASNINTE2 | acit2-rec |
Update franchigia (edit franchigia in griglia) e fl-fa-esterna (F3) |
Transito¶
| File | Scopo |
|---|---|
cogtrans (#$trsasn352.{oper}) |
Buffer righe di dettaglio (intervento oppure ordine): dati cliente/destinazione, totali, note, tipo doc "I"/"O". Chiave 1 id-progr |
cogtrans2 (#$trs2asn352.{oper}) |
Elenco id-inter + id-chiam per la ricerca degli altri interventi della stessa chiamata (cerca-interventi) |
Chiavi secondarie¶
cogtrans.k01/k02,cogtran2.k01asnchtes.k04,asnintes.k02/k07,cogtespr.k03,cogimage.k02
Copybook principali¶
Working-storage: utils54, utilwordmdl, utilcogpa3, utilcrms06, utilu35w, utilu06, l-copiaf, wgrave, wnscr, wopenf, wstato, cogazien, wgrid, utilgdad, utildlg, utilncnf, utils52, utils65, utilu10, utilu20, utilestrxls, opensave.def, utilasn220.
Linkage: wcont, utilasn060w, u-copiaf, utilg32, wcont1.
Fine procedure: grave, mmmask, opengen, stato, stato1, winmsg, call-u35, chiavi, getdcont, asn352.prc.
Programmi chiamati¶
| Programma | Operazione | Scopo |
|---|---|---|
| COGS54 | Selezione periferica di stampa report | |
| COGPA3 | Recupero modello WORDMDL "ASN352" e definizione tabelle/informazioni (TAB-DET) | |
| WORDMDL | Apri-XML / Aggiungi-XML / Chiudi-XML / Esegui |
Composizione ed esecuzione del report di stampa |
| ASN060W | (stampa intervento) | Esportazione PDF rapportino intervento (F6) |
| COGU06 | Estrai-da-doc |
Estrazione file PDF dalla galleria immagini (F5) |
| COPIAF | copy |
Copia PDF dal server alla cartella client di esportazione |
| CRMS06 | Leggi |
Lettura informazioni CRM codice edificio/immobile |
| COGU10W | Arrotonda |
Arrotondamenti importi righe ordine |
| ASN220 | ASN220-CALLED |
F9 su tm-id-contratto: ricerca contratto |
| COGG32 | Lookup tecnico (F8 su tm-tecnico) |
|
| COGS65W / COGU35 | Lookup cliente e commessa | |
| DIALOGS | Dialogo di conferma esportazione rapportini | |
| DTPRG | Calcolo giorni intercorsi inserimento/esecuzione (colonna GGI report) |
Configurazioni RNEWCONF (x99-load-config, gruppo pac coge)¶
| Idx | Gruppo | Parametro | Variabile | Effetto |
|---|---|---|---|---|
| 01 | ASS-CHIAM |
percorso-export-rapportini |
tm-cfg-path-export-rapportini |
Cartella destinazione PDF rapportini; abilita F6 se valorizzata |
| 02 | wordmdl |
modo-creazione-pdf |
tm-cfg-modo-creazione-pdf |
Se "W" abilita esportazione via WORDMDL/ASN060W |
| 03 | ASSIST |
UM-PRESTAZIONI-A-TEMPO |
tm-cfg-um-tempo |
UM prestazioni a tempo |
| 04 | ass-chiam |
info-crm-edificio |
tm-cfg-info-crm-edificio |
Numero informazione CRM codice edificio |
| 05 | ass-chiam |
info-crm-immobile |
tm-cfg-info-crm-immobile |
Numero informazione CRM codice immobile |
| 06 | ass-chiam |
asn352-merce-conteggio-km |
tm-cfg-merce-conteggio-km |
Codice merce che conteggia i km (PCASE-3737): qta → nr. km, importo → importo km |
Logica di elaborazione¶
Filtri (pagina TS1)¶
Data inizio/fine (tm-data-da/tm-data-a, obbligatorie), cliente di fatturazione, commessa (se az-commesse = "M"), ordini commessa (tm-ordini-commessa), id contratto, tecnico, filtro "Fatturazione attiva esterna" (tm-fl-fa-esterna T/N/A), filtro "Da riepilogare" (tm-fl-da-riep S/N/T, su acht-fl-fat = "R"), filtro prestazioni/materiali da fatturare (tm-fl-fat, su acid-fl-fat). Su F7 (a-inizio-dati) si esegue carica-file.
Estrazione (carica-file)¶
Scansione ASNINTES per int-data nel periodo. Scarti: chiamata non trovata, cliente diverso dal filtro (con eccezione ARCA case 7021), commessa/contratto/tecnico diversi, flag "fatturazione attiva esterna" diverso, stato intervento != "C", filtro "da riepilogare". Per ogni intervento valido scrive un record cogtrans (tipo "I") con dati cliente, destinazione, note tecnico, oggetto/note chiamata, tecnici assegnati, franchigia. Scandisce ASNINDET filtrando su acid-fl-fat e somma:
trs-tot-mate(righe tipo "M")trs-tot-prest+ ore + costo orario (righe "P" conma3-fl-manodopera = "S")trs-nr-km+trs-impo-km(merce =merce-conteggio-km) oppuretrs-alt-prest(altre prestazioni "P" non manodopera)
Calcola trs-imp-totale = prestazioni + materiali − franchigia e trs-imp-totale2 = idem + altre prestazioni + km. Scrive anche cogtrans2 per il post-processo.
Interventi aggiuntivi (cerca-interventi)¶
Per ogni chiamata estratta, cerca altri interventi (ASNINTES chiave k02 per chiamata) chiusi anche fuori periodo, applicando gli stessi filtri, evitando i duplicati gia' in transito (controllo aggiunto 111220).
Ordini commessa (cerca-ordini)¶
Se richiesto: scandisce COGRIGCM per la commessa (tip "OR", chiave "C"), risale a COGRIGOR/COGTESOR, filtra per data decorrenza nel periodo, somma gli importi di riga (arrotondati COGU10W) e scrive un record cogtrans tipo "O" con il totale ordine e la descrizione/note preventivo.
Griglia (pagina RI2)¶
carica-griglia-2 travasa il transito nella griglia. La franchigia (x-controlla-tm-g2-franchigia) e il flag esterna (x-controlla-tm-g2-fl-fa-est) sono editabili solo su righe intervento (tip-doc = "I"), con aggiornamento immediato su cogtrans/ASNINTE2.
Stampa report (F9, xf9-stampa-report)¶
Recupera il modello WORDMDL "ASN352" via COGPA3, apre il file XML delle informazioni, scrive i tag di testata (date, cliente) e una riga TAB-DET per ogni record di transito (b4-esporta-tab-det), popolando i campi in base ai codici definiti nel modello (CFC, DDR, INDI, IDI/IDC, MOP/MOQ/MOT/MTT, FRT, TOT, ALTP/TOT2, NRKM/IMKM, CEDI/CIMM, MMCO, GGI, ecc.). Chiude ed esegue il modello con la periferica scelta da COGS54.
Note implementative¶
- Il file di transito viene aperto/troncato sia in
a4(all'ingresso della maschera) sia ina-inizio-dati(dopo i filtri) e cancellato inz-chiudi. - I codici immobile/edificio provengono da
dst2-skype/dst2-faxsulla destinazione diversa, con fallback su CRMS06 se vuoti. - L'etichetta di menu ("Report interventi da riepilogare") coincide con la funzione reale.