Vai al contenuto

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-aliq con 10 elementi aliq-ele supporta 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 campo venti-datapa/venti-dataar conserva 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