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.
- 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 tipoAD(euta-ad-intesta/-ord/-sta). Legge la configurazionereg-iva-des-art-su-stessa-riga(gruppoCONTABIL) via RNEWCONF (x99-confi). In modalita' chiamata (w-dc-called = "S") i valori arrivano dautilstaiva. - Numerazione foglio: recuperata/aggiornata via COGS25 (tipo numeratore "76", per anno + registro IVA).
- Conferma stampa (
a-riga-fine): controlli finali (x-imposta-conferma), poi selezione periferica di stampa via COGS54. - 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"). - Scansione principale (
a012-a999):start/read nextsu COGARIVA filtrando per anno, registro, tipo documento e (a seconda diws-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 tabelletabrie(riepilogo per aliquota, max 15) etab-esenzioni(max 90), scrive la riga di dettaglio.x2-cnt-movconta i movimenti del documento;x3-riga-aggstampa la riga informazioni aggiuntive (P.IVA, divisa, cambio, importo totale) recuperando la valuta da COGPNONC/COGCAMBI. - Riepiloghi (
b005-b300): ordina e stampa il riepilogo per aliquota IVA con totali imponibile/IVA, poi il riepilogo per articolo d'esenzione. Setm-flannul = "S"stampa righe di annullamento fino a fine pagina. - Chiusura foglio/numeratore: se stampa definitiva (
tm-prova-def = "D") aggiorna in COGTABEL (tipoBA) 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 daw-dc-called. - La stampa definitiva richiede data di arrivo (
tm-datfine) coerente con l'ultimo consolidato (COGTABEL tipoBA); 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 TOePERFORM ... THRU: e' un programma legacy pre-esistente, non modello per nuovi sviluppi.