COGE24 - Calcolo percentuali ventilazione corrispettivi¶
Sorgente: cbl/coge24.cbl | Program-ID: COGE24 | Tipo: utility interattiva a carattere
Menu: Contabilita' > Archivi & Tabelle > Tabelle > Ventil.Corrispettivi
Scopo¶
COGE24 calcola e aggiorna le percentuali di ventilazione dei corrispettivi IVA per aliquota, leggendo le fatture fornitore registrate nell'archivio IVA (COGARIVA) in un intervallo di date specificato dall'operatore. Le percentuali calcolate (quota di ogni aliquota sul totale imponibile acquisti) vengono salvate nella tabella generica COGTABEL come record di tipo 51. Il programma puo' anche visualizzare la tabella esistente senza ricalcolare, oppure cancellare completamente la tabella.
File e tabelle¶
| File/Tabella | Copybook | Modalita' | Uso |
|---|---|---|---|
| FEURTAB | COGFILES.CPY |
Input | Tabella file di sistema |
| COGTABEL | COGTABEL.CPY |
I-O | Tabella generica: tipo 51 = record ventilazione corrispettivi (struttura venti-*) |
| COGARIVA | COGARIVA.CPY |
Input | Archivio movimenti IVA (registro FO = fatture fornitori, iva-codritac = 'N' = no ritiro acconto) |
| MASCH (COGE01.SEQ) | locale rec-masch |
Input | File sequenziale con testo maschera predefinita (fino a 24 righe da 80 caratteri) |
Programmi chiamati¶
Nessuna CALL a sottoprogrammi applicativi rilevante.
(Il programma usa COGU10 per la gestione divisa, inclusa tramite la routine locale z-u10 che chiama direttamente COGU10.)
Copybook principali¶
Gestionale - working storage:
- COGCONTA.CPY, WSTATO.CPY, WGRAVE.CPY, WOPENF.CPY, WNSCR.CPY, COGAZIEN.CPY
- UTILS52.CPY, UTILU10.CPY, K-U10.CPY
Linkage: WCONT.CPY, WCONT1.CPY
Procedure finali: OPEN1.CPY, MMMASK.CPY, STATO.CPY, STATO1.CPY, WINMSG.CPY, GRAVE.CPY
Logica di elaborazione¶
Fase 1 - Input parametri (paragrafo a007 / a070): l'operatore sceglie se ricalcolare (SI/NO). Se SI, inserisce data inizio e data fine del periodo (via COGS52). Con F9 e' possibile cancellare completamente la tabella tipo 51 (del-tab). Se NO, va direttamente alla visualizzazione.
Fase 2 - Lettura IVA e calcolo (paragrafo a200): scansione sequenziale di COGARIVA con START su chiave minima. Filtri: registro = 'FO', iva-codritac != 'N', iva-val != 'C' (righe non cancellate), data movimento compresa tra datapa e dataar. Per ogni riga valida, gli importi vengono convertiti nella divisa di conto (via COGU10 cambio). Per ogni aliquota (iva-codali), vengono accumulati imponibile (impac) e IVA (ivaac). Al cambio aliquota si chiama il paragrafo rotali che visualizza la riga a video e accumula nei totali generali.
Fase 3 - Calcolo percentuali (paragrafo ff1): per ogni aliquota numerica, la percentuale e' calcolata come 100 * aliq-impo(f) / timpac (totale imponibile). L'ultima aliquota assorbe l'arrotondamento per garantire che la somma delle percentuali sia esattamente 100.
Fase 4 - Aggiornamento tabella (paragrafo ff3a / ff4): previo conferma "SI", cancella tutti i record COGTABEL tipo 51 esistenti, poi scrive i nuovi record (max 2 aliquote per record, tipo 51 con struttura venti-*): aliquota, imponibile, IVA, percentuale, divisa, date periodo. Il campo venti-ok = "S" marca il record come valido.
Solo visualizzazione (paragrafo solovis): legge i record COGTABEL tipo 51 esistenti e li mostra a video senza modificare l'archivio.
Tasti funzione: ESC=termina, F2=campo precedente, F9=cancellazione completa tabella tipo 51, F1=paginazione durante visualizzazione per eccesso aliquote.
Note¶
- La struttura
tab-aliqcon 10 elementialiq-elesupporta fino a 10 aliquote IVA distinte per elaborazione. - Il file
COGE01.SEQ(maschera predefinita) viene letto all'avvio per pre-popolare lo schermo di sfondo (max 24 righe); se assente o vuoto, lo schermo e' bianco. - I record COGTABEL tipo 51 vengono scritti in blocchi da 2 aliquote ciascuno (contatore
h); il campoventi-datapa/venti-dataarconserva le date del calcolo. - Il programma non usa COGCONTA per il piano conti ma solo per le variabili di contesto importate dalla copybook.
Documentazione tecnica generata -- 2026-07-15