Vai al contenuto

COGC54 - Visualizzazione Dettaglio Cespiti

Intestazione

Campo Valore
Programma COGC54
Titolo Visualizzazione Dettaglio Cespiti
Posizione menu Contabilita' > Cespiti > Visualizzazione Dettaglio Cespiti
Autore originale Stefano Manfredini

Scopo e logica generale

COGC54 e' un programma di sola consultazione per il dettaglio storico di un cespite. Permette la ricerca per numero inventario o per descrizione tramite WIN094, poi mostra i dati sintetici (costo storico, ammortamenti per tipo, residuo, super ammortamenti) e la lista cronologica dei movimenti COGCESMO in una griglia.

Dispone di stampa su file sequenziale (FLSTA) e visualizzazione immagine documento tramite COGU06 (se modulo ottica attivo).

Il programma puo' essere richiamato come sottoprogramma in modalita' selezione (a-modalita = "S").


Flusso principale

  1. Inizializzazione (apri): controllo abilitazione, init programma, caricamento lingua, apertura file, lettura azienda, lettura configurazione RNEWCONF (x99-confi), configurazione tasti funzione, creazione pulsante custom F6 ("Visualizza Immagine")
  2. Ricerca cespite:
  3. a-tm-inv: inserimento numero inventario; F8 → WIN094 (ricerca per codice); se zero va a a-tm-nome
  4. a-tm-nome: ricerca per descrizione; F9 → WIN094 (ricerca avanzata per nome)
  5. Conferma e caricamento (dati-10dati-20): conferma con box, poi scansione COGCESMO per il cespite selezionato (st-cogcesmo-notmin-chia1 + loop rdnxt-cogcesmo)
  6. Popolamento dati sintetici: loop su tutti i movimenti calcola tm-cos-sto, tm-amm-std/ant/acc/rid, tm-no-amm, tm-no-ded, tm-venduto, tm-minus-plus, tm-super-amm, tm-super-amm-nd; poi calcola tm-residuo (annullato se venduto/dismesso), tm-costo-super-amm, tm-residuo-super-amm
  7. Visualizzazione griglia (a-grida-accept-grid): mostra i movimenti paginati; tasti funzione: F6 (immagine documento via COGU06), F9 (stampa via st-stampa), Shift+F4 (GRIDADMN)
  8. Chiusura (fine): cancel COGU06, chiusura file

File e tabelle acceduti

File logico Record Modalita' Uso
COGCESMO csm-rec Input Movimenti cespiti (scansione per codice cespite)
COGCESAN csa-rec Input Anagrafica cespiti (lettura dati testata per cespite selezionato)
COGGEANA ana-rec Input Anagrafica generale (nome fornitore/cliente per ciascun movimento)
COGTABEL euta-rec Input Tabelle di sistema (non usato direttamente per tipo specifico)
FEURTAB feurtab Input Tabella generica Eurosystem
FLSTA (file sequenz.) Output File di stampa

Struttura record COGCESMO (movimenti cespiti)

I campi principali letti durante il loop:

Campo Descrizione
csm-cod Numero inventario cespite (chiave di break)
csm-anno / csm-prog Anno e progressivo movimento
csm-fl-1 Tipo movimento: A=Acquisto, +=Var.Aum., -=Var.Dim., V=Vendita, D=Dismesso, B=Non Ammort., S=Amm.Stand., N=Amm.Antic., C=Amm.Accel., I=Amm.Ridot., T=Non Deduc., P=Plusvalenza, M=Minusvalenza, R=Rivalutaz., F=Dim.Fondo, Z=Vend.Parz., X=Super Ammort., Y=Super Ammort.ND
csm-fl-2 Natura: S=Storico, N=Normale
csm-fl-3 Stato: D=Definitivo, P=Provvisorio
csm-forn Codice fornitore/cliente
csm-fat-tip / csm-fat-ann / csm-fat-num Riferimento fattura
csm-data Data movimento
csm-imp Importo (convertito in divisa conto se necessario)
csm-per Percentuale ammortamento
csm-nfatfo Numero fattura fornitore
csm-contab-anno / csm-contab-docum / csm-contab-pro Riferimento registrazione contabile
csm-currency Divisa del movimento

Struttura record COGCESAN (anagrafica cespite)

Campo Descrizione
csa-forn Fornitore di default (usato per movimenti di tipo A se csm-forn = 0)
csa-fat-tip/ann/num Fattura di default (usata per movimenti A se fattura movimento = 0)
csa-super-amm Percentuale super ammortamento (>100; es. 140 = 40% aggiuntivo)

Copybook inclusi

Screen Designer

Copybook Contenuto
cogc54-01.scr Maschera principale (screen section)
cogc54.select SELECT dei file
cogc54.fd FD dei file
cogc54.wrk Working storage maschera
cogc54.decla Declaratives

Strutture dati

Copybook Contenuto
COGFILES.cpy FD feurtab
flsta.cpy / flsta.fd FD e struttura file di stampa
cogazien.cpy Dati azienda
k-u10.cpy Costanti COGU10
wstato.cpy / wgrave.cpy / wgrid.cpy / wopenf.cpy / wnscr.cpy Working storage comuni
wcont.cpy / wcont1.cpy Linkage section

Utility e interfacce

Copybook Contenuto
utils54.cpy Interfaccia COGS54
utils52.cpy Interfaccia COGS52W (calendario)
utilgdad.cpy Gestione colonne griglia
utilu06.cpy Interfaccia COGU06 (visualizzazione immagine)
utilu10.cpy Utility divisa/formattazione importi
utilncnf.cpy Struttura parametri RNEWCONF

Programmi chiamati (CALL)

Programma Scopo
WIN094 Ricerca cespite per codice o descrizione (sia in ricerca diretta che avanzata)
COGU10W Conversione importo in divisa conto ("Cambio"), formattazione display ("Display"), arrotondamento ("Arrotonda")
COGU06 Visualizzazione immagine documento collegato al movimento (F6; richiede az-arc-ott = "S" e csm-fat-num <> 0)
COGS52W Calendario (date picker)
COGS54 Utility stampa cespiti
GRIDADMN Amministrazione colonne griglia (Shift+F4)
RNEWCONF Lettura configurazione

Logica di business

Calcolo dati sintetici

Durante il loop sui movimenti COGCESMO il programma accumula i totali per tipo:

csm-fl-1 Operazione sul totale
A, + tm-cos-sto += csm-imp
-, Z tm-cos-sto -= csm-imp
S tm-amm-std += csm-imp
F tm-amm-std -= csm-imp
N tm-amm-ant += csm-imp
C tm-amm-acc += csm-imp
I tm-amm-rid += csm-imp
B tm-no-amm += csm-imp
T tm-no-ded += csm-imp
V tm-venduto += csm-imp
P tm-minus-plus += csm-imp
M tm-minus-plus -= csm-imp
X tm-super-amm += csm-imp
Y tm-super-amm-nd += csm-imp

Formula residuo:

tm-residuo = tm-cos-sto - tm-no-amm - tm-amm-std - tm-amm-ant
             - tm-amm-acc - tm-amm-rid - tm-no-ded

Se tm-vend-dism <> spaces (cespite venduto o dismesso): tm-residuo = 0.

Calcolo super ammortamento

Se csa-super-amm > 0:

w-perc-super-amm = csa-super-amm - 100
tm-costo-super-amm = (tm-cos-sto * w-perc-super-amm) / 100   (arrotondato)
tm-residuo-super-amm = tm-costo-super-amm - tm-super-amm - tm-super-amm-nd (arrotondato)

Modalita' chiamato (a-modalita = "S")

Se richiamato come sottoprogramma, vengono attivati i tasti F3-selezione e F3-modifica per restituire il cespite scelto al chiamante.

Limite massimo movimenti

Il programma gestisce al massimo 900 movimenti (k-max-ele-tab). Al raggiungimento del limite mostra un messaggio di avviso e interrompe il caricamento.