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
apri — ctr-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).
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).
a-riga-fine — Conferma parametri (x-imposta-conferma), poi apertura del dialogo di stampa COGS54 (scelta stampante/anteprima). Se confermato, avvia la stampa.
- Ciclo di stampa —
st-cogcesan-notmin sul codice iniziale, poi rdnxt-cogcesan finche' csa-cod > tm-a-cespite o fine file; per ogni cespite esegue stampa-cespite.
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).
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).
intesta / stampa-riga — Gestione intestazione pagina (titolo "ANAGRAFICA CESPITI", data stampa, numero pagina) e paginazione con salto pagina in base a s54-stm-lin.
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.