ASN141 - Esportazione rapportini¶
Sorgente: cbl/asn141.cbl (1.090 righe) | Tipo: Programma batch interattivo (parametri su maschera + elaborazione a scorrimento), estrazione documenti e copia file, log GESDEBUG
Menu: Assist 2.0 > Operativo > Utility > Esportazione rapportini
Scopo¶
Esporta i rapportini di intervento (documenti PDF "Stampa pdf intervento") su una cartella del filesystem, con struttura di sottocartelle configurabile. Per ciascun intervento chiuso/pre-chiuso recupera il PDF archiviato (documento immagine di tipo A2 su COGIMAGE), lo estrae dall'archivio documentale (COGU06) e lo copia sul client (COPIAF) nella cartella di destinazione, con nome file basato sull'id intervento.
Sono previste due modalita' di selezione (tm-ope):
"A"- singolo intervento: esporta il rapportino di un intervento specifico (tm-id-inter)"B"- per periodo: esporta i rapportini di tutti gli interventi chiusi/pre-chiusi con data di chiusura compresa in un intervallo (tm-da-data/tm-a-data)
File acceduti¶
| File | Copybook | Uso |
|---|---|---|
| feurtab | cogfiles.cpy |
Tabella di sistema |
| ASNINTES | acit-rec |
Testata intervento: lettura per id (rd-asnintes) e scansione per data (st-asnintes-notmin-chia7, chiave k07). Filtro su acit-stato in {"P","C"} (pre-chiuso / chiuso) |
| ASNCHTES | acht-rec |
Testata chiamata: recupero cliente assistito e dati chiamata (rd-asnchtes) |
| ASNCHDET | achd-rec |
Dettaglio chiamata: scansione (st-asnchdet-notmin) per individuare le matricole collegate |
| ASNMATRI | amtr-rec |
Matricole: recupero del serial number (amtr-sn) per la struttura cartelle per matricola |
| COGGEANA | ana-rec |
Anagrafica cliente assistito (nome, per la maschera) |
| COGIMAGE | img-rec |
Archivio immagini/documenti: ricerca del documento A2 "Stampa pdf intervento" della chiamata (scansione chiave k02) |
Copybook incluse¶
- File/environment:
feurtab.fd,asn141.select,asn141.fd,cogfiles.cpy - Working di programma:
asn141.wrk - Working standard:
wgrave.cpy,wnscr.cpy,wopenf.cpy,wstato.cpy,cogazien.cpy - Interfacce sub:
utilasn230.cpy(ricerca avanzata intervento),utils52.cpy(gestione date),utilu06.cpy(estrazione documento),l-copiaf.cpy/u-copiaf.cpy(copia file),utilncnf.cpy(configurazioni) - Log/debug:
utilgesdebug.cpy,gesdebug.cpy - Linkage:
wcont.cpy,u-copiaf.cpy,wcont1.cpy - Screen:
asn141-01.scr - Chiavi secondarie:
asnintes.k07,cogimage.k02 - Fine procedure:
grave.cpy,mmmask.cpy,opengen.cpy,stato.cpy,stato1.cpy,winmsg.cpy,asn141.prc
Programmi chiamati¶
| Programma | Operazione | Scopo |
|---|---|---|
| COGU06 | Estrai-da-doc (tip. A2) |
Estrae il documento PDF dall'archivio documentale in EXT-TMP-DIR (modalita' silenziosa, con altri-dati) |
| COPIAF | move / copy / delete |
Trasporta il file dal server al client nella cartella di destinazione. move (opzioni A/B/D), copy (opzione C, una copia per matricola), delete (pulizia del temporaneo in opzione C) |
| ASN230 | ASN230-CALLED |
Ricerca avanzata intervento (F9 su tm-id-inter), restituisce asn230-id-inter-ou |
| GESLPRC | CONSULTA-PROCEDURA |
Consultazione del log di elaborazione al termine |
| RNEWCONF | Lettura/modifica configurazioni (x99-load-config) |
|
| C\$JUSTIFY | "L" |
Giustifica a sinistra id intervento/chiamata per comporre nome file e path |
| S52 | Gestione/edita date (via utils52.cpy) |
Configurazioni RNEWCONF (x99-load-config)¶
| Idx | Gruppo | Chiave | Variabile | Effetto |
|---|---|---|---|---|
| 01 | ass-chiam |
percorso-export-rapportini |
tm-cfg-path-export-rapportini |
Cartella base di esportazione. Se vuota, l'operazione e' bloccata e viene aperta la maschera di configurazione (F1) |
| 02 | ass-chiam |
percorso-export-rapportini-sub |
tm-cfg-path-export-rapportini-sub |
Struttura delle sottocartelle: "A", "B", "C", "D" (vedi sotto) |
La configurazione e' modificabile in linea con F1 (ncnf-ope = "Modifica").
Struttura delle sottocartelle (tm-cfg-path-export-rapportini-sub)¶
| Valore | Struttura destinazione |
|---|---|
"A" |
Nessuna sottocartella: path/<idintervento>.pdf |
"B" |
Per id chiamata: path/<idchiamata>/<idintervento>.pdf |
"D" |
Per codice cliente assistito: path/<clienteass>/<idintervento>.pdf |
"C" |
Per serial number matricola: path/<S-N>/<idintervento>.pdf, una copia per ogni matricola della chiamata; se nessuna matricola, cartella noserial |
Flusso di elaborazione (a10-acc)¶
Operazione "A" (singolo intervento)¶
Legge ASNINTES per tm-id-inter; se lo stato e' "P" o "C", recupera la chiamata (ASNCHTES) ed esegue b-estrazione-rapp.
Operazione "B" (per periodo)¶
Scansione di ASNINTES per data di chiusura (chiave k07) da tm-da-data a tm-a-data. Per ogni intervento con stato "P"/"C": incrementa il contatore letti, aggiorna la maschera (intervento, data, cliente, nome), recupera chiamata e anagrafica cliente, quindi esegue b-estrazione-rapp.
Estrazione del rapportino (b-estrazione-rapp)¶
- Scorre
ASNCHDETper individuare la prima matricola collegata alla chiamata e recuperarne il serial number (ASNMATRI,w-serial) - Compone l'oggetto atteso del documento ("Stampa pdf intervento" + id) e cerca in
COGIMAGEil documentoA2della chiamata con oggetto corrispondente (ri-oggettoori-oggetto2, formato<id>.pdf), ricavando il progressivo immaginew-img-prog - Se non trovato → segnala nel log e prosegue
- COGU06
Estrai-da-docestrae il PDF inEXT-TMP-DIR; se assente → segnala nel log - Compone il path di destinazione secondo l'opzione sottocartelle configurata
- COPIAF
move(o, per opzione"C",copysu ogni matricola tramiteopzione-c) trasporta il file dal server al client; errori di copia registrati nel log
Chiusura (carica-999)¶
Mostra "Fine elaborazione", scrive nel log il numero di interventi trovati, chiude GESDEBUG e propone la consultazione del log via GESLPRC; torna alla maschera parametri.
Validazioni di maschera¶
tm-ope: se il percorso di export non e' configurato, l'operazione e' bloccata e si apre la configurazione (F1)tm-id-inter(op. "A"): l'intervento deve esistere ed essere in stato"P"(pre-chiuso) o"C"(chiuso)tm-da-data/tm-a-data(op. "B"): obbligatorie e coerenti (inizio <= fine)- F9 su
tm-id-interapre la ricerca avanzata intervento (ASN230)
Note implementative¶
- Il rapportino esportato e' il documento immagine
A2archiviato inCOGIMAGEcon oggetto "Stampa pdf intervento": non viene rigenerata la stampa, ma copiato il PDF gia' presente in archivio - L'estrazione avviene in due passi: COGU06 mette il file nella directory temporanea del server (
EXT-TMP-DIR), poi COPIAF lo trasporta sul client nella cartella di destinazione. In modalita'"C"il temporaneo viene rimosso a fine ciclo (opzione-c-99) - L'opzione
"D"(codice cliente assistito) presenta nel sorgente un test sul valore"B"anziche'"D"nel ramo dedicato: possibile anomalia da verificare (il ramo"D"non risulta selezionabile con l'attuale condizione) - Tutta l'elaborazione e' tracciata in un log GESDEBUG consultabile a fine esecuzione (
tm-log-procedura) - Il programma ha
source-computer. acu-cobole usa il pattern legacy di scorrimento conGO TOdi etichetta per il controllo di rottura chiave