COSO15 - Stampa Riepilogo Bollettini
Funzione
Stampa riepilogativa dei bollettini raggruppata per causale contabile, con totali di importo e IVA. Legge i movimenti dalla prima nota contabilizzata (COGCOATT) e li accumula su un file temporaneo indicizzato per causale/socio (COGTRANS).
- Contabilita' > Unione soci/clienti > Bollettini > Stampa Riepil.Bollettini
Tabelle e file principali
| Tabella/File |
Descrizione |
Accesso |
| COGTABEL (feurtab) |
Tabelle generiche (tipo 06/97, tipo 66, tipo 67 aliquote IVA) |
Lettura |
| COGCOATT |
Prima nota contabilizzata |
Lettura sequenziale (chiave 2: mastro/conto/socio) |
| UNANASO |
Anagrafica soci |
Lettura |
| COGTRANS |
File temporaneo di transito (causale + socio -> importo + IVA) |
Lettura/Scrittura |
| flsta |
File di stampa |
Scrittura |
Copybook e sottoprogrammi
| Elemento |
Tipo |
Ruolo |
| coso15.select/.fd/.wrk/.prc/.decla |
COPY |
Struttura programma |
| coso15-01.scr |
COPY |
Screen section |
| cogcoatt.fd/.cpy |
COPY |
Prima nota contabilizzata |
| COGCONTA.CPY |
COPY |
Dati contabilita' |
| utilo13.cpy |
COPY |
Utility selezione causali multiple |
| utils52/54/65/99 |
COPY |
Utility data/stampante/socio/causali |
| utilo30.cpy |
COPY |
Utility lookup zone |
| COGS54 |
CALL |
Selezione periferica stampa |
| COSO13 |
CALL |
Selezione causali |
| COSO30 |
CALL |
Lookup zone |
Logica principale
- Inizializzazione: apre file, legge config contab. (tipo 66), apre COGCOATT. Crea file temporaneo COGTRANS (indexed, chiave causale+socio) in
ext-tmp-dir.
- Maschera filtri: accept di importo minimo, tipo estrazione (T=tutte/Z=zona), zona, tipo soci (1=tutti/2=attivi/3=dimessi), intervallo soci, tipo causali, date.
- Elaborazione (
stampa):
- Legge config mastro/conto soci da COGTABEL tipo 06 codso1=97.
- Posiziona su COGCOATT con
st-cogcoatt-notmin-chia2 (mastro/conto/socio-da).
- Scorre COGCOATT filtrando per date, escludendo causali 080/081, record annullati (
att-effa <> 0).
- Per ogni socio filtrato (zona, tipo), legge UNANASO per verificare zona e tipo soci.
- Per ogni movimento valido: legge causale da COGTABEL (tipo 65) per ottenere flag IVA; se IVA presente, calcola IVA da aliquota (tipo 67).
- Accumula importi su COGTRANS:
READ cogtrans INVALID KEY WRITE, poi REWRITE con importo/IVA aggiornati.
- Stampa riepilogo (
statot): scorre COGTRANS sequenzialmente. Per ogni causale stampa descrizione, importo totale e IVA totale. Alla fine stampa totale complessivo.
- Chiusura: cancella file COGTRANS (
DELETE FILE).
Note
- Il file COGTRANS e' temporaneo, creato all'inizio e cancellato alla chiusura. Chiave:
caucomp (3) + causocio (5).
- L'IVA viene calcolata per ogni singolo movimento:
att-importo * aliq / 100 (arrotondamento).
- Le causali 080 e 081 sono sempre escluse.
- A differenza di COSO11 (che dettaglia per socio), COSO15 raggruppa tutto per causale.
- Larghezza stampa: 132 caratteri.