ASN144 - Acquisizione documenti¶
Sorgente: cbl/asn144.cbl (737 righe) | Tipo: Programma interattivo con maschera a campi (senza griglia), orchestratore di una subroutine di elaborazione
Menu: Assist 2.0 > Operativo > Utility > Acquisizione documenti
Scopo¶
Acquisisce (archivia) i documenti collegati agli interventi di assistenza. L'acquisizione vera e propria e' delegata alla subroutine ASNS26 (operazione ACQUISIZIONE); ASN144 e' solo la maschera di lancio che permette due modalita' di selezione:
- Modalita' "A" (per singolo intervento): l'operatore indica un numero intervento e ne acquisisce i documenti.
- Modalita' "B" (per periodo): l'operatore indica un intervallo di date; il programma scorre gli interventi pre-chiusi (
stato = "P") o chiusi (stato = "C") del periodo, ne conta la numerosita' (con richiesta di conferma) e poi lancia l'acquisizione per ciascuno.
Il programma puo' essere invocato in modalita' called (w-dc-called = "S"), nel qual caso la maschera parte in modalita' "S" (selezione). Nel flusso standard la modalita' e' "A".
File acceduti¶
| File | Copybook | Uso |
|---|---|---|
| FEURTAB | cogfiles.cpy |
Tabella features/abilitazioni utente |
| ASNINTES | acit-rec |
Testata intervento: acit-id, acit-int-data, acit-stato, acit-id-chiamata. Chiave k07 (acit-int-data) per la scansione a periodo (modalita' "B") |
| ASNCHTES | acht-rec |
Testata chiamata: risale al cliente assistito (acht-cli-ass-tip/cod) per la visualizzazione |
| COGGEANA | ana-rec |
Anagrafica: nome cliente assistito |
La tabella temporanea/di dettaglio dei documenti e l'archiviazione fisica non sono gestite da ASN144 ma internamente da ASNS26.
Copybook principali¶
| Copybook | Descrizione |
|---|---|
asn144.select, asn144.fd, asn144.wrk, asn144-01.scr, asn144.decla, asn144.prc |
Artefatti Screens (SELECT, FD, working, screen, declaratives, procedure I/O) |
utilasns26.cpy |
Linkage subroutine ASNS26 (acquisizione documenti intervento) |
utilasn230.cpy |
Linkage ASN230 (ricerca avanzata intervento, F9) |
utils52.cpy |
Gestione campi data (calendario, F8) |
utilncnf.cpy |
Linkage RNEWCONF |
utilgesdebug.cpy, gesdebug.cpy |
Gestione log/debug (gesdebug-apri-principale, gesdebug-chiudi, gesdebug-consulta) |
wgrave, wnscr, wopenf, wstato, cogazien, grave, mmmask, opengen, stato, stato1, winmsg |
Infrastruttura standard |
asnintes.k07 |
Chiave secondaria per data intervento |
Interfaccia chiamato (linkage)¶
Il programma riceve solo stringhe (linkage standard wcont/wcont1). La modalita' called e' governata internamente da w-dc-called/w-dc-id-intervento, che nel sorgente attuale vengono inizializzati ma non popolati da un'area di linkage dedicata: nel flusso normale il programma opera in modalita' interattiva "A".
Chiamate a sottoprogrammi¶
| Programma | Operazione | Scopo |
|---|---|---|
| ASNS26 | ACQUISIZIONE (asns26-ope) |
Esegue l'acquisizione/archiviazione dei documenti dell'intervento indicato in asns26-id-intervento. Restituisce asns26-esito (N = errore) e asns26-msg |
| ASN230 | ASN230-CALLED |
F9 sul campo numero intervento: ricerca avanzata; l'id selezionato torna in asn230-id-inter-ou |
| RNEWCONF | Lettura configurazione all'apertura (x99-load-config) |
Configurazione RNEWCONF (x99-load-config)¶
| Gruppo | Chiave | Variabile | Uso |
|---|---|---|---|
ASSIST |
arc-ott-autom |
tm-cfg-arc-ott |
Flag archiviazione ottica automatica (letto all'avvio) |
Logica di elaborazione¶
Apertura (apri): init programma, apertura file, lettura azienda, apertura log debug (gesdebug-apri-principale con w-tm-cfg-debug = "S"), lettura configurazione, definizione tasti funzione (F8 aiuto, F8 calendario, F3 conferma, F9 ricerca avanzata), titolo maschera "Acquisizione documenti".
Accept campi testata: in sequenza tm-tipo-elab (A/B), tm-id-inter (solo se abilitato, cioe' modalita' A), tm-datain e tm-datafi (solo modalita' B). La validazione e' consolidata in x-imposta-chiave che richiama i singoli x-controlla-*:
x-controlla-tm-id-inter(modalita' A): il numero intervento deve essere valorizzato ed esistere in ASNINTES; se valido,vis-datimostra data intervento, cliente assistito e nome.x-controlla-tm-datafi(modalita' B): la data fine, se valorizzata, deve essere >= data inizio.
Elaborazione (a-fine-chiave):
- Modalita' "A": conferma "Confermi Acquisizione documenti per Intervento ?", poi una singola CALL a ASNS26 con
asns26-id-intervento = tm-id-inter. In caso di errore mostraasns26-msg, altrimenti "Acquisizione documenti terminata". - Modalita' "B": primo passaggio (
opeb-loop-10) scorre ASNINTES per k07 dalla data inizio, conta gli interventi con statoPoCfino alla data fine (tm-nr-letti). Dopo conferma con il conteggio ("Interventi trovati: nn Confermi..."), secondo passaggio (opeb-loop-100) riscorre lo stesso intervallo e, per ogni interventoP/C, chiama ASNS26 conasns26-id-intervento = acit-id. Al termine "Acquisizione documenti terminata".
Chiusura (fine/z-chiudi): chiude il log debug (gesdebug-chiudi, gesdebug-consulta), chiude i file e la finestra, esce dal programma.
Note implementative¶
- ASNS26 viene invocata con
on overflow continuee sempre seguita dacancel "ASNS26"per liberare la subroutine tra un intervento e l'altro. - La modalita' "B" scorre l'intero periodo due volte (una per il conteggio pre-conferma, una per l'acquisizione effettiva): la logica di filtro sugli stati
P/Ce' identica nei due passaggi. - Lo scorrimento su ASNINTES usa la chiave k07 (data intervento) con controllo di rottura su
acit-int-data > tm-datafi. - Il flag di configurazione
arc-ott-automviene letto ma la logica di archiviazione ottica risiede in ASNS26.