Vai al contenuto

COGP92 — Lista Cespiti

Campo Valore
Sorgente cbl/cogp92.cbl
Program-ID COGP92
Tipo Stampa
Posizione menu Contabilita' > Cespiti > Stampe

Scopo

Stampa dell'anagrafica dei cespiti in un intervallo di codici (numero inventario). Per ciascun cespite compreso nell'intervallo produce una scheda dettagliata: dati identificativi (codice, descrizione, categoria di ammortamento, data acquisto), dati di acquisto (fornitore, fattura, ubicazione, leasing, tipo, nuovo/usato), importi (acquisto, variazioni in aumento/diminuzione, vendita) e i progressivi di ammortamento per tipologia (standard, anticipato, accelerato, non ammortizzabile, ridotto), oltre agli ammortamenti persi e al residuo da ammortizzare.

Tutti gli importi di valore vengono espressi nella divisa di conto: gli importi dei movimenti letti dal cespite vengono convertiti tramite COGU10W se la loro divisa (csm-currency) differisce dalla divisa di conto.

Struttura / flusso

  1. aprictr-abil, z-99-init-program, x-carica-lingua, rd-azi, open-files, x99-cfg. Definisce i tasti funzione (F3 conferma, F1 configura), acquisisce la divisa di conto (get-divisa-conto) e prepara la maschera dei parametri (rd-msk-pop, z-costruisci-controlli).
  2. a4 / a-tm-da-cespite / a-tm-a-cespite — Accept dei codici cespite di inizio e fine intervallo. F1 richiama la configurazione (x99-cfg, chiave RNEWCONF gruppo cogp92, chiave data-stampa). Validazione con x-controlla-tm-a-cespite (se "a" = 0 forza 999999; verifica inizio non maggiore di fine).
  3. a-riga-fine — Conferma parametri (x-imposta-conferma), poi apertura del dialogo di stampa COGS54 (scelta stampante/anteprima). Se confermato, avvia la stampa.
  4. Ciclo di stampast-cogcesan-notmin sul codice iniziale, poi rdnxt-cogcesan finche' csa-cod > tm-a-cespite o fine file; per ogni cespite esegue stampa-cespite.
  5. stampa-cespite — Compone e stampa (via stampa-riga) tutte le righe della scheda. Richiama check-presenza-cat (descrizione categoria ammortamento da COGTABEL tipo 99), check-presenza-for (nome fornitore da COGGEANA) e sotto-loop (calcolo importi e residuo). Ogni importo e' editato con COGU10W (z-u10-w-imp).
  6. sotto-loop / check-mov — Scorre i movimenti del cespite su COGCESMO (st-cogcesmo-notmin-chia1, rdnxt-cogcesmo finche' csm-cod = csa-cod); check-mov classifica ogni movimento per csm-fl-1 accumulando gli importi (costo storico, variazioni, ammortamenti per tipo, non ammortizzabile, non deducibile, vendita) previa conversione in divisa di conto. Calcola infine tm-residuo = costo storico − var. diminuzione + var. aumento − ammortamenti (std+ant+acc+rid).
  7. intesta / stampa-riga — Gestione intestazione pagina (titolo "ANAGRAFICA CESPITI", data stampa, numero pagina) e paginazione con salto pagina in base a s54-stm-lin.
  8. fine / z-chiudi — Chiude COGS54 (s54-after-print + cancel), chiude i file (COGGEANA, COGTABEL, COGCESAN, COGCESMO), chiude finestra e programma.

File e tabelle principali

File logico Record/chiave Modo Uso
COGCESAN csa-rec, chiave csa-cod Input Anagrafica cespiti (dato principale iterato)
COGCESMO csm-rec, chiave csm-cod+csm-anno (chiave .k02 csm-cod) Input Movimenti cespite (per calcolo importi e ammortamenti)
FEURTAB (COGTABEL) euta-rec, euta-tipo = 99 (categorie ammortamento) Input Descrizione categoria di ammortamento
COGGEANA ana-rec, ana-tipo="F"+ana-cod Input Nome fornitore del cespite
FLSTA flsta.fd/flsta.cpy (riga) Output File di stampa

Sottoprogrammi chiamati

Programma Contesto Scopo
COGS54 a-riga-fine, fine Dialogo di stampa/anteprima e gestione dimensioni pagina (s54-stm-lin)
COGU10W z-u10-w-imp, z-u10-csm-imp, z-u10-cambio-w-csa-imp, z-u10 Edit e conversione importi in divisa di conto
RNEWCONF x99-cfg Lettura configurazione (data di stampa, gruppo cogp92)

Copybook principali

  • feurtab.fd / cogfiles.cpy / cogp92.select / cogp92.fd — file tabelle generico e file specifico
  • flsta.fd / flsta.cpy — file di stampa
  • cogp92.wrk, cogp92.decla, cogp92.prc — working, declaratives e procedure generate da Screens
  • cogp92-01.scr — maschera parametri (e-tm-da-cespite, e-tm-a-cespite)
  • cogcesmo.k02 — chiave secondaria movimenti cespite (aggiunta manualmente in fondo)
  • utils54.cpy (util-s54), utilu10.cpy (util-u10), k-u10.cpy, utilncnf.cpy (util-ncnf) — aree comunicazione COGS54/COGU10/RNEWCONF
  • getdcont.cpy — recupero divisa di conto (get-divisa-conto)
  • wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy — working standard
  • grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy — fine procedure
  • Linkage: wcont.cpy, wcont1.cpy (stringhe)

Note

  • La conversione in divisa di conto avviene solo sui movimenti letti (check-mov): il blocco di conversione dell'anagrafica cespite (stampa-cespite, marcato 190903*) e' commentato e non attivo.
  • La configurazione data-stampa (RNEWCONF gruppo cogp92) permette di forzare la data riportata in intestazione; il valore speciale 9999999999 fa stampare data vuota.
  • Il filtro per anno (tm-anno) e' presente ma disattivato nel sorgente (righe marcate *ste*/*temp*): la stampa considera tutti i movimenti del cespite senza filtro d'anno.
  • k-chr-stampa = 120: larghezza di stampa in caratteri.
  • Il codice usa GO TO interni e exit paragraph per l'uscita anticipata, coerentemente con lo stile del programma.