ASN598 - Stampa certificazioni¶
Sorgente: cbl/asn598.cbl (4.109 righe) | Tipo: Programma di stampa (chiamabile) su modelli WORDMDL, con file di transito
Menu: Assist 2.0 > Operativo > Gestione Interventi a Richiesta > Stampe > Stampa certificazioni
Scopo¶
Stampa (o archivia in PDF) le certificazioni/check-list compilate su un intervento di assistenza a richiesta. Dato un id intervento, il programma:
- Verifica che, per ogni matricola collegata alla chiamata che ha un modello di certificazione (
ASNCHDET.achd-modello-cert), esista la relativa check-list compilata inASNCHINF. Se manca anche una sola check-list, segnala e (in caso di sola archiviazione) restituisce "CK.LIST INCOMPLETA". - Stampa la check-list di testata chiamata (classe "AI", modello
acht-modello-cert) se presente. - Stampa le check-list delle matricole (classe "AM"), una per ciascun modello di certificazione trovato in transito.
Ogni stampa avviene aprendo un file XML di informazioni (WORDMDL) popolato con i dati di chiamata, cliente assistito, destinazione diversa, matricola, operatori delle fasi di workflow (stima problema, stima prestazioni, verifica) e le firme (cliente e tecnico), e mandando in esecuzione il modello WORDMDL risolto tramite ASN028.
E' progettato per essere chiamato (linkage util-asn598): da menu (w-dc-called != "S", con accept dell'id intervento) oppure in background per la sola archiviazione (asn598-fl-archivia = "S", w-dc-elaborazione = "A"), oppure con metodo "service" (SWA050) per la ristampa asincrona via mail.
Interfaccia chiamato (util-asn598)¶
| Campo | Uso |
|---|---|
asn598-called / asn598-caller |
Identificativi chiamante/chiamato: attivano la modalita' called (tipo modulo forzato "H", modalita' selezione) |
asn598-id-intervento |
Id intervento da certificare |
asn598-fl-archivia |
"S" → elaborazione "A" (archiviazione PDF senza stampa fisica) |
asn598-prog |
Progressivo modulo ASNMODUL da usare (se > 0) al posto della risoluzione via ASN028 |
asn598-msg |
Messaggio di ritorno (es. "CK.LIST INCOMPLETA") |
File acceduti¶
Input/lettura¶
| File | Copybook | Uso |
|---|---|---|
| ASNINTES | acit-rec |
Testata intervento: id chiamata, tecnici, destinazione, data |
| ASNCHTES | acht-rec |
Testata chiamata: cliente assistito/fatturazione, oggetto, note, operatore, dossier, classe, modello-cert |
| ASNCHDET | achd-rec |
Righe chiamata: matricola, modello certificazione, matricola sostituita |
| ASNCHINF | achf-rec |
Check-list compilate (classe "AM"/"AI", oggetto = chiave riga) |
| ASNCHWKF | achw-rec |
Workflow chiamata (chiave k02): operatori/date fasi stima problema, verifica, stima prestazioni |
| ASNMATRI / ASNMODEL / ASNMARCH | amtr-rec/amod-rec/amrc-rec |
Matricola, modello, marca |
| ASNMODUL | amst-rec |
Modulo di stampa (amst-modulo, amst-tipo-path) quando asn598-prog > 0 |
| COGGEANA / COGANAPP / COGAPPOG | ana-rec/aap-rec/app-rec |
Cliente assistito e appoggi |
| CRMANAGR / CRMANANF / CRMINFOR | cra-rec/nnf-rec/ipt-rec |
Cliente potenziale CRM (se assistito con codice 0) |
| COGDESTI / COGDEST2 | dst-rec/dst2-rec |
Destinazione diversa e dati aggiuntivi |
| COGDESCR / COGDESAG | cde-rec/dag-rec |
Descrizioni; descrizioni merce (personalizzazione Endonova, cerca-cogdesag) |
| COGMERCI | mer-rec |
Merce collegata alla matricola |
| PRNTOPER | ptop-rec |
Descrizioni operatori |
| COGIMAGE | img-rec |
Galleria immagini chiamata (chiave k02): firma cliente e firma tecnico |
| COGRIFER | rif-rec |
(chiave k02) |
| COGRACMC | (chiave k02) | |
| ASNINDAG | aitd-rec |
Note intervento (tipo "F") |
| ASNS03 | (subroutine) | Calcolo prezzo prestazione/materiale (listino/fascia cliente) |
Output¶
| File | Copybook | Scrittura |
|---|---|---|
filecert (asn598_certificati.txt, line sequential) |
inf-cert-rec |
Elenco file certificazione generati (nome completo, nome file, tipo/classe, modello) per la successiva archiviazione |
Transito¶
| File | Scopo |
|---|---|
cogtrans (#$asn598-{oper}-{data}{ora}) |
Buffer modelli certificazione matricola da stampare (tipo/mod/id/occurs). Chiave 1 tipo-mod + mod-cert + id + occurs. Cancellato in chiusura |
Chiavi secondarie¶
cogtrans.k01,cogrifer.k02,cogracmc.k02,asnchwkf.k02,asnintes.k02,cogimage.k02
Copybook principali¶
Working-storage: costanti-assist, wgrave, wnscr, wopenf, wstato, cogazien, utils52, utils68, utils93, utilu06, utilu10, utilu20, utilw92, utilgesdebug, wgrid, utilgdad, utilasn028, utilasns03, utilasn230, utilasn510, utildlg, utils54, utilwordmdl, utilncnf, utilcrms10, l-copiaf.
Linkage: wcont, u-copiaf, utilswa050, wcont1, utilasn598.
Fine procedure: grave, mmmask, opengen, stato, stato1, winmsg, msgmerce, gesdebug, getdcont, sendw92, asn598.prc, chiavi.
Programmi chiamati¶
| Programma | Operazione | Scopo |
|---|---|---|
| WORDMDL | Apri-XML / Aggiungi-XML / Chiudi-XML / Esegui |
Composizione ed esecuzione del modello di certificazione (stampa o salvataggio PDF) |
| ASN028 | (lookup modello) | Risoluzione nome/tipo-path del modello di stampa dal tipo modulo + modello scheda |
| COGS54 | Selezione periferica (non in archiviazione) | |
| W92 (send-w92) | R |
Risoluzione destinazione diversa (indirizzo, CAP/loc/prov) |
| ASNS03 | Calcolo prezzo prestazione/materiale su listino/fascia cliente | |
| COGU06 | Estrai-da-doc |
Estrazione file firma dalla galleria immagini |
| COPIAF | copy/delete |
Trasporto file firma cliente/tecnico e file PDF/PCL tra server e client |
| ASN230 | ASN230-CALLED |
F9: ricerca intervento (da menu) |
| SWA050 | RC |
Ristampa via "service" (invio mail all'operatore) quando metodo ristampa = "S" |
| RNEWCONF | Lettura configurazioni |
Configurazioni RNEWCONF (x99-confi, pac C)¶
| Idx | Gruppo | Parametro | Variabile | Effetto |
|---|---|---|---|---|
| 01 | STAMPE |
PERIFERICA-STAMPA-FILE |
tm-cfg-prf-stampa |
Periferica per stampa su file (archiviazione PCL) |
| 02 | STAMPE |
PATH-STAMPA-FILE |
tm-cfg-path-stampa |
Path stampa file |
| 03 | ASS-STRUM |
PREST-RESO-NON-RIPARATO |
tm-cfg-prest-reso-nr |
Prestazione reso non riparato |
| 04 | AREAAPP |
MODO-STAMPA-INTERVENTO |
tm-cfg-modo-stampa |
"D" → PDF diretto da WORDMDL (wordmdl-save-as); altrimenti PCL |
| 05 | AREAAPP |
PATH-FTP-BAT |
tm-cfg-path-ftp |
Cartella di destinazione PDF/PCL archiviati |
| 06 | ASS-STRUM |
STAMPA-CHECK-S |
tm-cfg-stampa-check-s |
Etichetta valore check "S" |
| 07 | ASS-STRUM |
STAMPA-CHECK-N |
tm-cfg-stampa-check-n |
Etichetta valore check "N" |
| 08 | STAMPE |
PATH-STAMPA-FILE |
tm-cfg-file-stampa |
File PCL sorgente da copiare in archiviazione |
| 09 | ass-chiam |
gestione-certificazioni |
tm-cfg-gest-certificazioni |
Se != "M" ci si ferma dopo la check-list di testata |
| 10 | arc-ott |
path-apri-file |
tm-cfg-path-apri-file |
Path locale file firma |
| 11 | assist |
path-firma-tecnico |
tm-cfg-path-firma-tecnico |
Path immagini firma tecnico |
| 12 | assist |
path-firma-tecnico-cs |
tm-cfg-path-firma-tecnico-cs |
"S" → firma tecnico sul server |
| 13 | cogesys |
debug |
tm-cfg-debug |
Debug |
| 14 | azienda |
tipo-cap-dest-diverse |
tm-cfg-tipo-cap |
"A" → CAP/loc/prov alfanumerici da W92 |
| 15 | areaapp |
modo-ristampa-intervento |
tm-cfg-modo-ristampa-int |
"S" ristampa via service (SWA050); "I"/"G" ristampa gestionale via WORDMDL |
Logica di elaborazione¶
Ingresso¶
Da menu: accept id intervento (a-tm-id, con F9 ricerca ASN230), poi eventuale accept del metodo ristampa (a-tm-metodo-ristampa, visibile secondo config 15), conferma F3. Chiamato: id preso dal linkage, si va direttamente ad a-avanti.
Metodo ristampa "service" (call-stampa-service)¶
Se tm-metodo-ristampa = "S": invoca SWA050 (RC) che inoltra la ristampa al Service; l'esito viene inviato via mail all'operatore. Il programma termina.
Pre-stampa (b-pre-stampa)¶
Apre il transito e il file filecert. Scandisce ASNCHDET: per ogni riga con modello di certificazione verifica in ASNCHINF (classe "AM") la presenza della check-list compilata; se presente scrive il modello in transito, altrimenti pone w-ok-stampa = "N".
Firme (cerca-firme)¶
Compone l'oggetto immagine firma dell'intervento e cerca in COGIMAGE (tipo "A2", tipo "IM") il progressivo dell'immagine firma cliente (cerco-firma-int); estrae il file via COGU06 e lo copia in locale (COPIAF) come firma.png. Se l'intervento ha un tecnico assegnato, ripete per la firma tecnico (cerco-firma-tec), copiando firma_tec.png dalla path configurata.
Stampa (b-stampa per matricola, b-stampa-testa per testata)¶
Per ogni certificazione: apre il modello (apri-modello → ASN028 o ASNMODUL, apre XML), popola i tag di testata e dettaglio (dati chiamata, cliente/potenziale CRM, destinazione, matricola SN/inventario/merce, operatori workflow, note, valori check tramite le rotture ROTTURA-n), poi chiudi-modello esegue WORDMDL. In archiviazione (w-dc-elaborazione = "A"): se modo-stampa = "D" salva direttamente il PDF in path-ftp, altrimenti crea il PCL e lo copia (COPIAF) nella path di output con nome _cert_<id>[_modello]; scrive il record in filecert.
Note implementative¶
- Errori non bloccanti (firme mancanti, copie non riuscite) sono tracciati via
gesdebug-write-warning/gesdebug-write-error, non con message box. - Il nome del file di output distingue certificazione di testata (
w-tipo-cert = 1,_cert_<id-intervento>) da certificazione matricola (_cert_<id-chiamata>_<modello>). - Il cliente assistito con codice 0 viene trattato come cliente potenziale CRM (CRMANAGR/CRMANANF/CRMINFOR).
- L'etichetta di menu ("Stampa certificazioni") coincide con la funzione reale.