ASN350 - Controllo interventi da fatturare (interventi chiusi)¶
Sorgente: cbl/asn350.cbl (2.991 righe) | Tipo: Programma interattivo con griglia paginata, file di transito, generazione documenti di magazzino e stampa di controllo
Menu: Assist 2.0 > Operativo > Gestione Interventi a Richiesta > Controllo Interventi da Fatturare
Scopo¶
Estrae gli interventi di assistenza (ASNINTES) chiusi in un periodo, con i relativi totali di prestazioni e materiali suddivisi tra da fatturare / non fatturare / gia' fatturato / garanzia, e li presenta in griglia. Dalla griglia l'operatore puo':
- selezionare gli interventi e creare i documenti di magazzino (DDT) collegati, delegando la generazione a
ASN351intervento per intervento; - chiudere/gestire un intervento (
ASN140) per le chiamate di classeC; - stampare un elenco di controllo con i totali per cliente e generali;
- consultare la galleria immagini della chiamata.
Il programma lavora in due modalita' di estrazione (tm-tipo-elab): A = solo interventi ancora "da elaborare" (senza DDT), altrimenti "Completa" (tutti gli interventi chiusi del periodo).
L'intestazione del menu ("Controllo Interventi da Fatturare") coincide con la funzione reale letta nel sorgente ("Consultazione Interventi Chiusi: da Fatturare / Completa"): non ci sono discrepanze.
File acceduti¶
Input/lettura¶
| File | Copybook | Uso |
|---|---|---|
| ASNINTES | acit-rec |
Interventi: file guida (chiave k07 = data intervento). Filtra su data, stato chiuso, acit-fl-bol |
| ASNCHTES | acht-rec |
Testata chiamata: cliente assistito/fatturazione, classe, tipo attivita', tipo fatturazione, id contratto |
| ASNINDET | acid-rec |
Dettaglio intervento: righe prestazioni (P) e materiali (M), con flag fatturazione S/N/G/R/F, per il calcolo dei totali |
| ASNTPATT | atpa-rec |
Tipo attivita' (descrizione, colore) |
| ASNTEAMS | atea-rec |
Squadra dell'intervento (k02 per data decorrenza, PBUG-1086 read previous) |
| ASNCNTES | acnt-rec |
Contratto (validazione filtro id contratto) |
| COGGEANA | ana-rec |
Cliente assistito / fatturazione |
| COGRIFER | rif-rec |
Tecnici (rif tip C) |
| COGMERAP (via COGS68W) | Descrizione merce nella stampa |
Output/scrittura¶
Non scrive direttamente su file gestionali: la creazione dei documenti di magazzino e' delegata a ASN351 (che aggiorna ASNINTES/ASNINDET e crea le testate/righe DDT). ASN350 aggiorna solo il transito.
Transito¶
| File | Scopo |
|---|---|
cogtrans (#$trsasn350.<oper>) |
Buffer degli interventi estratti (record trs): trs-id-int, trs-id-chiam, trs-sel (selezione), trs-cli, trs-int-data, trs-fl-bol. Chiave 2 ordinamento numerico/cliente, chiave 3 ordinamento per stampa |
cogtrans2 (#$asn350_ddt.<oper>) |
File dei DDT creati per il riepilogo (attualmente la scrittura e' commentata; il file viene comunque creato/aperto/chiuso e passato ad ASN143) |
Chiavi secondarie¶
cogtrans.k01,.k02,.k03;cogtran2.k01asnintes.k07(data intervento);asnteams.k02
Programmi chiamati¶
| Programma | Operazione | Scopo |
|---|---|---|
| RNEWCONF | Lettura configurazioni iniziali e modifica con F1 | |
COGS65W (z-s65-*) |
Lookup cliente di fatturazione | |
COGS52 (utils52) |
Gestione campi data periodo intervento | |
| COGS68W | String |
Descrizione merce nella stampa |
COGS54 (COGS54) |
Setup stampante per l'elenco di controllo (F9) | |
COGU10W (z-u10) |
Edita |
Formattazione importi |
| ASN016 | (lookup) | F8 su tipo attivita' |
| ASN220 | ASN220-CALLED |
F9 ricerca avanzata contratto |
| ASN351 | ASN351-CALLED |
Creazione documento di magazzino per il singolo intervento selezionato (F3) |
| ASN140 | ASN140-CALLED |
F6 chiusura/gestione intervento (classe C) |
| ASN143 | Riepilogo DDT creati (dal dialog post creazione) | |
| ASN073 | F1 galleria immagini della chiamata | |
| DIALOGS | Dialog di fine creazione documenti | |
| GRIDADMN | Personalizzazione griglia |
Configurazioni RNEWCONF (x99-confi, 9 chiavi)¶
| Idx | Gruppo | Chiave | Variabile | Effetto |
|---|---|---|---|---|
| 01 | assist |
magaz-vendita | tm-cfg-mag-ven |
Magazzino vendita per i DDT |
| 02 | assist |
cau-vendita | tm-cfg-cau-ven |
Causale vendita |
| 03 | assist |
cau-garanzia | tm-cfg-cau-gar |
Causale garanzia |
| 04 | assist |
magaz-pnota | tm-cfg-mag-pnota |
Magazzino prima nota |
| 05 | assist |
magaz-garanzia | tm-cfg-mag-garan |
Magazzino garanzia |
| 06 | assist |
cau-pnota | tm-cfg-cau-pn |
Causale prima nota |
| 07 | assist |
tipo-documento-scarico-materiali | tm-cfg-tipo-docum |
Tipo documento scarico materiali (default D) |
| 08 | assist |
creazione-documento-scarico-prestazioni | tm-cfg-creo-doc-prestaz |
Crea documento anche per le prestazioni (default S) |
| 09 | contabil |
tipi-doc-per-causale | tm-cfg-doc-per-causale |
S → i documenti sono determinati per causale; blocca la selezione se sulla chiamata manca il tipo fatturazione (acht-tipo-fat) |
Le configurazioni di magazzino/causale sono lette da ASN350 ma applicate concretamente in ASN351 durante la generazione dei DDT.
Logica di estrazione (carica-file → tratta-chia7)¶
st-asnintes-notmin-chia7posizionato sutm-data-int-da(chiave data intervento).- Scorre
ASNINTESfinche'acit-int-data <= tm-data-int-a. - Per ogni intervento legge la testata chiamata e invoca
scrivi-cogtrans.
Filtri di scrivi-cogtrans¶
Scarta l'intervento se:
- filtro id contratto valorizzato e diverso da acht-id-contratto;
- data intervento fuori dal periodo;
- tm-tipo-elab = "A" e l'intervento ha gia' bolla (acit-fl-bol = "E" o "S");
- chiamata di classe L (laboratorio, PCASE-3418: fatturate diversamente);
- tipo attivita' filtrato e diverso;
- stato intervento A (aperto), Z, P (pre-chiuso) → si considerano solo gli interventi effettivamente chiusi;
- cliente di fatturazione (o assistito, se il primo e' 0) diverso dal filtro cliente.
Se valido, scrivi-cogtrans-ok scrive il record di transito. La chiave 2 dipende dall'ordinamento (tm-ordinamento = N numerico per id, C per nome cliente + data + id); la chiave 3 e' usata per l'ordinamento della stampa. Il cliente di rotture (trs-cli) e' il cliente di fatturazione se presente, altrimenti l'assistito.
Calcolo totali¶
x1-calc-tot(per riga griglia) ex2-calc-gen(totali generali della maschera) scorronoASNINDETper l'intervento sommando gli importi (acid-importo) suddivisi per tipo riga (P/M) e flag fatturazione (Sda fatturare,Nno,Ggia' fatturato,Rgaranzia). I totali sono formattati viaCOGU10W.x-ctr-fatturaredetermina se un intervento e' completamente "da fatturare" (tutte le righefl-fat = "S") per etichettare la situazione in griglia (Da fatturare/Da scaricare).
Funzioni sulla griglia (paragrafo a-grid)¶
| Tasto | Azione |
|---|---|
| INVIO | Seleziona/deseleziona l'intervento per la creazione DDT (verifica trs-fl-bol = "N" e, se doc-per-causale=S, presenza tipo fatturazione) |
| F5 | Seleziona/deseleziona tutti gli interventi (x5-sel-tutto) |
| F3 | Crea i documenti di magazzino per gli interventi selezionati (x3-crea-doc → loop ASN351), poi dialog di riepilogo (ASN143) |
| F6 | Chiusura/gestione intervento (ASN140, solo classe C) |
| F9 | Stampa elenco di controllo (x9-stampa) con totali per cliente e generali |
| F1 | Galleria immagini (ASN073, se arc. ottica) |
| S-F4 | Personalizza griglia |
| S-F5 | Esporta Excel |
Stampa di controllo (x9-stampa)¶
Scorre cogtrans (chiave 3, ordine di stampa) e per ogni intervento il dettaglio ASNINDET, stampando riga per riga merce/prestazione, quantita', prezzo, importo e stato fatturazione, con rotture e totali per cliente (x97-totcli) e totali generali finali. Il report e' pilotato da COGS54.
Messaggi principali¶
| ID | Contesto |
|---|---|
m-asn350-2-1 |
Titolo maschera |
m-asn350-3-1 |
Conferma estrazione |
m-asn350-4-1 |
Errore apertura transito (stato 93) |
m-asn350-5-1 |
Nessun intervento estratto |
m-asn350-6-1/7-1 |
Fine/inizio paginazione |
m-asn350-8-1 |
Intervento gia' a documento (non selezionabile) |
m-asn350-9-1 |
Conferma creazione documenti |
m-asn350-10-1 |
Chiusura consentita solo su classe C |
m-asn350-11-1/13-1 |
Errore apertura cogtrans2 |
m-asn350-12-1 |
Tipo fatturazione mancante sulla chiamata (con doc-per-causale=S) |
m-asn350-30-1/31-1 |
Dialog fine creazione documenti / riepilogo |
Storico modifiche significative (dal sorgente)¶
- 311013: introdotte le config tipo-documento-scarico-materiali e creazione-documento-scarico-prestazioni; gestione prima nota (
pnota) - 130115:
cogtrans2per il riepilogo DDT quando le causali generano piu' documenti; delega totale della creazione adASN351 - 130215: escluso lo stato intervento
P(pre-chiuso) dall'estrazione - 150316: config
tipi-doc-per-causale: blocco selezione se manca il tipo fatturazione sulla chiamata - 070921: PBUG-1086, ricerca squadra su
ASNTEAMSsempre con read previous per decorrenza - 020823: PCASE-3418, esclusione delle chiamate di laboratorio (classe
L)
Note implementative¶
- La griglia e' paginata su
cogtransviadtab/fscrol2/utilpggr. - I totali generali (
x2-calc-gen) vengono ricalcolati dopo ogni chiusura intervento (F6) per aggiornare la maschera. - Il file
cogtrans2viene creato/aperto/chiuso ma le scritture del dettaglio DDT sono attualmente commentate: il riepilogoASN143riceve comunque il nome del file.