Vai al contenuto

COGP95 - Stampa Bollato Cespiti

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

Menu: Contabilita' > Cespiti > Stampe > Bollato cespiti


Scopo

Stampa il registro dei beni ammortizzabili (bollato cespiti / libro inventario). Scorre l'anagrafica cespiti e, per ciascun cespite, i relativi movimenti dell'esercizio richiesto, ricostruendo per movimento valore storico, fondo (ordinario/anticipato/accelerato/ridotto), quote non ammortizzabili/non deducibili, super ammortamento e residuo. Produce i riporti iniziali (movimenti degli esercizi precedenti), il dettaglio dell'anno, i totali per categoria e i totali generali.

Supporta tre formati di output: stampa su carta a righe, stampa Word/Area-Report (WORDMDL) e intestazione personalizzata per consorzi (az-consorzi = "S").


File e tabelle

File/Tabella Modalita' Descrizione / campi chiave usati
FEURTAB Input Parametri azienda (cogfiles.cpy, dati cogazien.cpy)
COGCESAN I-O Anagrafica cespiti (csa-rec): csa-cod, csa-nome, csa-cat, csa-data-acq/csa-acq-*, csa-ultimo-amm, csa-stato, csa-cat-originale. Chiave secondaria cogcesan.k02. Riscritta (rwr-cogcesan) per sostituzione temporanea categoria di stampa
COGCESMO Input Movimenti cespiti (csm-rec): csm-cod, csm-anno/csm-data, csm-imp, csm-fl-1 (tipo movimento), csm-per, csm-forn, csm-fat-*. Chiavi secondarie cogcesmo.k02, cogcesmo.k05
COGTABEL Input Tabella generica (euta-rec) tipo 99: parametri esercizio cespiti (euta-ces-ini-mm/-gg, euta-ces-1-*, euta-ces-cat-des, euta-ces-cat-st)
COGGEANA Input Anagrafica clienti/fornitori (ana-rec) per intestazione e note movimento (fornitore/cliente + fattura)
COGFATTU Input Fatture (aperta in open-files, riferimenti fattura cespite)
flsta / riga Output File di stampa report

Copybook utilizzate

Copybook Descrizione
cogp95.select, cogp95.fd, cogp95.wrk, cogp95-01.scr, cogp95.prc, cogp95.decla Screen Designer
feurtab.fd, cogfiles.cpy Layout FEURTAB
flsta.fd, flsta.cpy File di stampa
k-u10.cpy, utilu10.cpy Costanti + linkage editing importi (COGU10W)
utils52.cpy, utils54.cpy Linkage data (COGS52W) e stampa (COGS54)
utilncnf.cpy Linkage RNEWCONF
utilwordmdl.cpy, utilcogpa3.cpy, utilcogsc1.cpy Linkage stampa Area-Report/Word (WORDMDL, COGPA3, COGSC1)
getdcont.cpy Recupero divisa del conto (get-divisa-conto)
wgrave, wnscr, wopenf, wstato, cogazien Working storage standard + dati azienda
wcont.cpy, wcont1.cpy Linkage standard (stringhe)
stato, stato1, winmsg, grave, opengen, mmmask Copybook di procedura standard
cogcesan.k02, cogcesmo.k02, cogcesmo.k05 Chiavi secondarie cespiti

Logica

Maschera con navigazione a-tm-*: anno (tm-anno), pagina iniziale (tm-pagina), tipo elaborazione (tm-tipo, P=prova / D=definitiva), intestazione azienda (tm-intesta), due righe descrizione libera (per consorzi). Conferma con F3 (a-richiesta-conferma).

  1. Apertura (apri): apre i file, recupera la divisa conto (get-divisa-conto), registra/legge la configurazione area-report-attivo (COGSC1 + RNEWCONF, gruppo stampe, sottochiave = program-id).
  2. Conferma: se area-report-attivo = "S" chiama COGPA3 per il modello Word e l'indice tabella dettaglio TAB-DET, impostando w-eseguo-stampa-wordmdl. Poi seleziona periferica via COGS54.
  3. Date esercizio: legge da COGTABEL (tipo 99) i parametri di inizio esercizio (euta-ces-ini-mm/-gg) e calcola w-data-ini-ese/w-data-fin-ese (esercizio solare o a cavallo, con DTPRG/PRGDT per il giorno precedente).
  4. Categoria di stampa (x-set-categoria-stampa): prima della stampa sostituisce temporaneamente in COGCESAN la categoria del cespite con la categoria di stampa configurata (euta-ces-cat-st), salvando l'originale in csa-cat-originale; ripristinata al termine con x-reset-categoria-stampa.
  5. Elaborazione (elabora): scorre COGCESAN (rdnxt-cogcesan) saltando i cespiti acquisiti dopo fine esercizio, venduti/rottamati negli anni precedenti o in stato sospeso. Alla rottura di categoria stampa i totali categoria (tot-categ). Per ogni cespite:
  6. stampa-riporti: somma i movimenti antecedenti l'esercizio (COGCESMO con csm-data < w-data-ini-ese) nei fondi per tipo, producendo i "Riporti" iniziali (valore storico, fondi, residuo, super ammortamento).
  7. ela-30/ela-40: scorre i movimenti dell'esercizio; l'evaluate csm-fl-1 classifica ogni movimento (A=acquisto, S/N/C/I=ammortamenti, X/Y=super amm., T/B=non ded./non amm., -/Z/D/V=decrementi/dismessi/venduti, P/M=plus/minusvalenza, F=diminuzione fondo) accumulando nei campi tm-* e stampando la riga di dettaglio.
  8. tot-cespite/tot-categ/tot-generale: totali per cespite, categoria e generali (valore, fondo, residuo, super ammortamento e super amm. totale).
  9. Output: write-riga scrive su carta; in modalita' Word i dati passano da tag XML (scrivi-tag) e dalla riga tabella (b5-riga-standard) con colonne configurabili DATA/CAUS/IMPO/VALC/FOND/PERA/FOPR/NOTE/STIL secondo la composizione COGPA3; le rotture cespite aprono/chiudono raggruppamenti ROTTURA-/TAB-DET.
  10. Chiusura (ela-99): se Word chiude il documento XML e chiama WORDMDL "Esegui"; altrimenti COGS54 "after-print".

Nota logica di business (x-set-categoria-stampa): la riscrittura temporanea di csa-cat in anagrafica cespiti e' effetto collaterale rilevante — se la stampa si interrompe prima del reset, la categoria puo' restare quella di stampa fino alla successiva esecuzione.

CALL a sottoprogrammi

Programma Scopo
COGSC1 Registrazione parametro configurazione area-report-attivo
RNEWCONF Lettura configurazione area-report-attivo
COGPA3 Recupero modello e composizione tabelle per stampa Area-Report/Word
WORDMDL Generazione/stampa documento Word/XML
COGS54 Selezione periferica e gestione stampa su carta
COGS52W Editing/validazione anno
COGU10W Editing importi in valuta
DTPRG / PRGDT Conversione data ↔ progressivo giorni (calcolo fine esercizio)
C$JUSTIFY Allineamento a destra colonne numeriche (runtime ACUCOBOL)

Note

  • Personalizzazione consorzi (az-consorzi = "S"): intestazione estesa con dati cliente interno e pagina iniziale obbligatoria.
  • Le date di filtro usano csm-data/csa-data-acq confrontate con l'esercizio calcolato, non piu' il solo anno (modifica storica 160317).
  • Codice legacy con GO TO/PERFORM ... THRU: non modello per nuovi sviluppi.