Vai al contenuto

COGD07 - Esportazione Aliquote IVA

Intestazione

Campo Valore
Programma COGD07
Titolo Esportazione Aliquote IVA
Modulo Sistema
Posizione menu Sistema > Utility > Esportazioni > Tabelle > Aliquote Iva

Scopo e logica generale

COGD07 estrae la tabella delle aliquote IVA su un file di testo esterno. Le aliquote sono memorizzate nella tabella generalizzata COGTABEL con tipo record euta-tipo = 67.

Il file prodotto ha nome fisso ALIQUOTE.TXT ed e' scritto in formato line sequential con campi separati da punto e virgola (;). Per ogni elemento la riga (ali-rec) contiene:

  • ali-cod (2 cifre) - codice aliquota (euta-cod);
  • la descrizione a 40 caratteri (ali-des), gestita in modo condizionato:
  • se l'aliquota (euta-ivali) e' diversa da zero, nella descrizione viene riportato il valore percentuale numerico (ali-des2-es, ridefinizione 99,99 di ali-des);
  • se l'aliquota e' zero (esente), viene riportata la descrizione di esenzione (euta-ivaes) in ali-des;
  • ali-ali (99,99) - valore dell'aliquota (euta-ivali);
  • i separatori ali-fil-1 / ali-fil-2 / ali-fil-3 valorizzati a ;.

La maschera richiede all'operatore la sola cartella di destinazione (tm-dir-file); il percorso completo viene composto concatenando cartella, slash di sistema e nome file. Directory di default M:\TRANSITO per az-personal = "MG", altrimenti ext-tmp-dir. Un contatore (tm-estratti) mostra a video i record scritti.


Flusso principale

  1. apri (main): imposta prog-err/w-nome-hlp, esegue z-99-init-program, ctr-abil, rd-azi, open-files. Definisce i tasti funzione (F3 conferma, F8 aiuto), legge la data di sistema, imposta titolo maschera "Estrazione Aliquote IVA", prepara i controlli (z-costruisci-controlli).
  2. a4: inizializza tab-maschera, imposta il nome file ALIQUOTE.TXT (tm-nome-file) e la directory di default in base a az-personal.
  3. a-tm-dir-file: accept della cartella di destinazione. ESC esce (fine), F3 richiede la conferma. Controllo obbligatorieta' via x-controlla-tm-dir-file (directory non vuota).
  4. a-richiesta-conferma: verifica finale (x-imposta-conferma) e richiesta conferma (acc-conf); se annullata torna a a-tm-dir-file.
  5. e10 / e10-loop (nucleo dell'estrazione):
  6. compone ws-nome-file e apre in output fileali; se l'apertura fallisce (stato non 00) segnala l'errore ed esce;
  7. initialize euta-rec + move 67 to euta-tipo + st-cogtabel-notmin per posizionarsi all'inizio delle aliquote;
  8. ciclo e10-loop: rdnxt-cogtabel; a fine file o al cambio tipo (euta-tipo not = 67) va a e90;
  9. per ogni elemento valorizza ali-rec (codice, descrizione/valore secondo euta-ivali, separatori), scrive il record, incrementa tm-estratti e aggiorna il display.
  10. e90: messaggio "File creato: ..." con il percorso completo.
  11. fine / z-chiudi: close fileali, z-close-files, chiude window, z-99-exit-program, exit program.

File e tabelle acceduti

File Record Modalita' Uso
COGTABEL (logico feurtab) euta-rec (tipo euta-tipo = 67) Input Scansione sequenziale delle aliquote IVA (euta-cod, euta-ivali, euta-ivaes)
FILEALI ali-rec (line sequential, separatore ;) Output File di testo ALIQUOTE.TXT prodotto dall'estrazione

Verbi di accesso a COGTABEL (da cogd07.prc): st-cogtabel-notmin, rdnxt-cogtabel. Il file di output fileali e' dichiarato direttamente nel sorgente (SELECT + FD) e scritto con write ali-rec.


Copybook principali

Strutture dati / FD: - feurtab.fd, cogfiles.cpy - file fisico generalizzato tabelle. - wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy - working-storage standard. - wcont.cpy (stringhe), wcont1.cpy (linkage) - aree di comunicazione comuni.

GUI: - mmmask.cpy - framework maschera GUI (fornisce z-99-init-program/z-99-exit-program).

Screen Designer: - cogd07.select, cogd07.fd, cogd07.wrk, cogd07.decla, cogd07.prc, cogd07-01.scr - artefatti generati dallo Screen Designer. cogd07.prc fornisce i verbi di accesso a COGTABEL.

Routine finali: grave.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy.


Programmi chiamati (CALL)

Nessuna CALL esplicita ad altri programmi. Tutta la logica di estrazione e' interna; l'accesso a COGTABEL avviene tramite i verbi generati in cogd07.prc.


Note

  • La descrizione esportata e' condizionata all'aliquota: valore percentuale numerico se euta-ivali diversa da zero, descrizione di esenzione (euta-ivaes) se zero.
  • Il record esportato usa il punto e virgola (;) come separatore di campo.
  • Nome file di output fisso (ALIQUOTE.TXT): l'operatore sceglie solo la cartella; directory di default M:\TRANSITO per az-personal = "MG", altrimenti ext-tmp-dir.
  • L'estrazione scorre tutta e sola la porzione di COGTABEL con euta-tipo = 67 (aliquote IVA nell'indice tipi, vedi interno/tabelle/cogtabel-indice.md); accesso su chiave primaria tipo + codice, nessuna chiave secondaria.
  • Programma "gemello" delle altre esportazioni di tabella della stessa sezione (cogd06 codici pagamento, cogd08 articoli d'esenzione), da cui differisce per tipo record e mappatura dei campi.
  • Rientra nel flusso flussi/sistema-import-export.md (esportazioni tabelle). La gestione interattiva delle aliquote IVA e' documentata in programmi/coge67.md.
  • source-computer/object-computer sono impostati a acu-cobol.
  • Il flusso di elaborazione usa go to (stile legacy del sorgente originale).
  • Nessuna configurazione RNEWCONF letta.

Documentazione tecnica -- creata 2026-08-06