Vai al contenuto

COGE96 - Bollato Intracomunitari (Giornale IVA acquisti intra-UE)

Sorgente: cbl/coge96.cbl | Program-ID: COGE96 | Tipo: Stampa/report contabile (maschera parametri + stampa)

Menu: Contabilita' > Documenti Iva > Stampe > Bollato Intracomunitari


Scopo

Stampa il giornale IVA a debito sugli acquisti intracomunitari. E' un registro di natura contabile "credito" (tipo C) che deve pero' essere stampato con il formato del giornale fornitori. Elabora i movimenti IVA di tipo acquisto intra-UE (az-tipo-ai-g) e nota di variazione intra (az-tipo-ndi-g), raggruppa per aliquota, riepiloga per articolo d'esenzione e gestisce numerazione/intestazione del bollato con progressivo di foglio.

Il programma e' avviabile sia in modo interattivo dal menu, sia in modalita' "chiamata" da una stampa IVA multipla: se staiva-called = "COGE96" (linkage utilstaiva.cpy) i parametri arrivano dal chiamante e la maschera non viene mostrata.


File e tabelle

File/Tabella Modalita' Descrizione / campi chiave usati
FEURTAB Input Parametri azienda (cogfiles.cpy, dati in cogazien.cpy)
COGARIVA Input Registro IVA. Scansione per chiave iva-chia (iva-anno, iva-registro, ...). Filtri su iva-tdoc, iva-nfat, iva-nfatpro, iva-damov*; importi iva-impon/iva-iva; iva-codali, iva-codesen, iva-val
COGTABEL I-O Tabella generica contabilita' (euta-rec): tipo 66 (parametri contab.), 67 (aliquote IVA), 68 (tipi documento), 69 (codici esenzione), 54/56 (stati/divise), tipo AD/BA per configurazione registro e data ultimo consolidato. Letta con rd-cogtabel; scrittura data definitiva con wr-cogtabel/rwr-cogtabel
COGPNONC Input Prima nota non contabile: ricerca valuta estera del documento (pno-chia: pno-anno, pno-docum, pno-pro)
COGGEANA Input Anagrafica clienti/fornitori (ana-rec: ana-tipo, ana-cod) per ragione sociale, P.IVA, indirizzo intestazione
COGCAMBI Input Tabella cambi (cmb-rec), chiave secondaria cogcambi.k02, per cambio della riga informazioni aggiuntive
COGFATTU Input Fatture (fat-rec: fat-tip, fat-ann, fat-num) per recuperare numero/data fattura fornitore intra
WOARIVA Input Archivio di lavoro registro IVA (wva-rec) per la ricerca fattura fornitore (ricerca-fattura-intra)
flsta / riga Output File di stampa (righe report via write riga)

Copybook utilizzate

Copybook Descrizione
coge96.select, coge96.fd, coge96.wrk, coge96-01.scr, coge96.prc, coge96.decla Screen Designer (SELECT/FD/working/screen/procedure)
feurtab.fd, cogfiles.cpy Layout FEURTAB
flsta.fd, flsta.cpy File di stampa
cogconta.cpy Layout record contabilita' (conta-rec, conta-cones*)
k-u10.cpy, utilu10.cpy Costanti e linkage editing importi (COGU10W)
utils25.cpy, utils52.cpy, utils54.cpy Linkage numeratori (COGS25), data (COGS52W), stampa (COGS54)
utilstaiva.cpy Linkage chiamata da stampa IVA multipla (staiva-*)
utilncnf.cpy Linkage configurazioni RNEWCONF
wgrave, wnscr, wopenf, wstato, cogazien Working storage standard + dati azienda
wcont.cpy, wcont1.cpy Linkage standard (stringhe)
stato, stato1, winmsg, grave, opengen, mmmask, printer Copybook di procedura standard
cogcambi.k02 Chiave secondaria cambi

Logica

Programma a maschera con navigazione tra campi tramite paragrafi a-tm-* (GO TO su f2 indietro/f3 avanti, gestione mouse in x-test-mouse). Parametri di stampa: anno competenza, tipo ordine (D=data / N=numero), da/a numero-progressivo, da/a data, numero foglio, stampa intestazione/numerazione, riga informazioni aggiuntive, annullo righe rimanenti, prova/definitiva.

  1. Apertura (apri/a4): apre i file, legge parametri contabilita' (COGTABEL tipo 66), determina il tipo giornale intra da COGTABEL tipo 68 (euta-clifotiva) e la configurazione registro da tipo AD (euta-ad-intesta/-ord/-sta). Legge la configurazione reg-iva-des-art-su-stessa-riga (gruppo CONTABIL) via RNEWCONF (x99-confi). In modalita' chiamata (w-dc-called = "S") i valori arrivano da utilstaiva.
  2. Numerazione foglio: recuperata/aggiornata via COGS25 (tipo numeratore "76", per anno + registro IVA).
  3. Conferma stampa (a-riga-fine): controlli finali (x-imposta-conferma), poi selezione periferica di stampa via COGS54.
  4. Pre-elaborazione (pre-elab): in modalita' chiamata verifica se esistono movimenti nel periodo; se non ce ne sono esce senza stampare (staiva-fl-stampato = "N").
  5. Scansione principale (a012-a999): start/read next su COGARIVA filtrando per anno, registro, tipo documento e (a seconda di ws-tipo) intervallo numero o data. Per ogni riga: risolve aliquota (tipo 67), tipo documento/segno (tipo 68), esenzione (tipo 69), edita importi con COGU10W, accumula nelle tabelle tabrie (riepilogo per aliquota, max 15) e tab-esenzioni (max 90), scrive la riga di dettaglio. x2-cnt-mov conta i movimenti del documento; x3-riga-agg stampa la riga informazioni aggiuntive (P.IVA, divisa, cambio, importo totale) recuperando la valuta da COGPNONC/COGCAMBI.
  6. Riepiloghi (b005-b300): ordina e stampa il riepilogo per aliquota IVA con totali imponibile/IVA, poi il riepilogo per articolo d'esenzione. Se tm-flannul = "S" stampa righe di annullamento fino a fine pagina.
  7. Chiusura foglio/numeratore: se stampa definitiva (tm-prova-def = "D") aggiorna in COGTABEL (tipo BA) la data ultimo consolidato; se richiesto aggiorna il numeratore foglio via COGS25 (a-intesta).

Intestazione pagina gestita da testa/s-intesta/z-intesta (recupera cliente interno az-cli-int da COGGEANA per ragione sociale/indirizzo). Controllo righe per pagina su max-riga (derivato da az-bol-n-rig o s54-stm-lin).

CALL a sottoprogrammi

Programma Scopo
COGS25 Lettura/scrittura numeratore foglio registro IVA (tipo "76")
COGS52W Editing/validazione anno e date della maschera
COGS54 Selezione periferica e gestione stampa
COGU10W Editing importi in valuta
RNEWCONF Lettura configurazione reg-iva-des-art-su-stessa-riga

Note

  • Convivono due flussi: interattivo (menu) e chiamato da stampa IVA multipla (utilstaiva.cpy); molti rami sono gated da w-dc-called.
  • La stampa definitiva richiede data di arrivo (tm-datfine) coerente con l'ultimo consolidato (COGTABEL tipo BA); il controllo blocca date antecedenti.
  • Limiti tabelle in memoria: riepilogo aliquote 15 elementi, esenzioni 90 elementi; superamento segnalato con messaggio a video.
  • Il codice usa ampiamente GO TO e PERFORM ... THRU: e' un programma legacy pre-esistente, non modello per nuovi sviluppi.