Vai al contenuto

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-dati mostra 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 mostra asns26-msg, altrimenti "Acquisizione documenti terminata".
  • Modalita' "B": primo passaggio (opeb-loop-10) scorre ASNINTES per k07 dalla data inizio, conta gli interventi con stato P o C fino 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 intervento P/C, chiama ASNS26 con asns26-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 continue e sempre seguita da cancel "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/C e' 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-autom viene letto ma la logica di archiviazione ottica risiede in ASNS26.