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¶
- 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") - Ricerca cespite:
a-tm-inv: inserimento numero inventario; F8 → WIN094 (ricerca per codice); se zero va aa-tm-nomea-tm-nome: ricerca per descrizione; F9 → WIN094 (ricerca avanzata per nome)- Conferma e caricamento (
dati-10→dati-20): conferma con box, poi scansione COGCESMO per il cespite selezionato (st-cogcesmo-notmin-chia1+ looprdnxt-cogcesmo) - 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 calcolatm-residuo(annullato se venduto/dismesso),tm-costo-super-amm,tm-residuo-super-amm - Visualizzazione griglia (
a-grid→a-accept-grid): mostra i movimenti paginati; tasti funzione: F6 (immagine documento via COGU06), F9 (stampa viast-stampa), Shift+F4 (GRIDADMN) - 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.