Vai al contenuto

COGC52 - Inserimento iniziale cespiti

Panoramica

Programma interattivo per l'inserimento, la modifica, la visualizzazione e la cancellazione di cespiti nel modulo Cespiti dell'ERP. Gestisce l'anagrafica completa del cespite: dati identificativi, importi (acquisto, variazioni, ammortamenti), percentuali di ammortamento, collegamento a piano dei conti, centri di costo, leasing, ripartizione contabilita' analitica e super-ammortamento. Programma molto esteso (4831 righe), strutturato con un flusso di accept sequenziale su numerosi campi.

Puo' essere richiamato in modalita' "called" dal programma WIN094 con la possibilita' di nascondere gli importi (w-dc-no-importi).

Posizioni nel menu

Menu Percorso
Contabilita' Cespiti > Inserimento Cespiti
Contabilita' Cespiti > Vis. Cespiti x Anno /contab.ammort. > Inserimento Cespiti

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
COGTABEL (feurtab) Input Tabella generica (per lookup vari)
COGCESAN I-O Anagrafica cespiti (record principale)
COGCESMO I-O Movimenti storici cespiti
COGPNCON Input Piano dei conti
COGCCOPR Input Centri di costo
COGANAPP Input Dati complementari anagrafiche
COGGEANA Input Anagrafica fornitori
RNEWCONF Input Configurazione sistema

Copybook principali

Copybook Descrizione
feurtab.fd SELECT tabella COGTABEL
cogc52.select SELECT generati da Screens (include COGCESAN, COGCESMO, COGPNCON, ecc.)
cogc52.fd FD generate da Screens
cogc52.wrk Working-storage generata da Screens (include k-program-id, strutture screen)
COGFILES.CPY Record COGTABEL
wstato.cpy Variabili di stato
wgrave.cpy Gestione errori gravi
wopenf.cpy Apertura file
wnscr.cpy Variabili screen
cogazien.cpy Dati azienda corrente
utilr38.cpy Utility COGR38 (gestione riferimenti cespiti)
utils25.cpy Utility COGS25 (numeratori automatici)
utils52.cpy Utility COGS52W (calendario/date)
utils65.cpy Utility COGS65W (lookup tabelle)
utils67.cpy Utility
utils92.cpy Utility COGS92
utilu06.cpy Utility COGU06 (visualizzazione immagini/documenti)
utilu10.cpy Utility COGU10W (conversione divise/importi)
utilu20.cpy Utility COGU20W (lookup anagrafiche)
k-u10.cpy Costanti per U10
utilcogc58.cpy Utility COGC58 (ripartizione contabilita' analitica)
utilcogc66.cpy Utility COGC66 (gestione consegna/riconsegna cespite)
utilcogc68.cpy Utility COGC68 (dati aggiuntivi sicurezza/conformita' cespite)
utilf11.cpy Utility COGF11 (lookup fatture)
utilw36.cpy Utility invio notifiche W36
utilncnf.cpy Utility configurazione RNEWCONF
utilcogc52.cpy Parametri di linkage per chiamata esterna
GetDCont.cpy Recupero divisa di conto
cogcesmo.k02 Chiave secondaria movimenti cespiti
sendw36.cpy Paragrafo invio notifica W36
cogc52-01.scr Screen principale
cogc52.prc Paragrafi standard I/O

Chiamate a sottoprogrammi (CALL)

Programma Scopo
COGS65W Lookup su tabelle generiche (categorie cespiti, ecc.)
COGF11 Lookup fatture fornitore
COGU20W Lookup anagrafiche (fornitori, centri costo, piano conti - fino a 8 conti)
COGU10W Conversione importi tra divise e arrotondamenti (14 chiamate diverse)
COGR38 Gestione riferimenti cespiti (inserimento/cancellazione)
COGS25 Gestione numeratori automatici (numeratore cespiti = 32, movimenti = 33)
COGS52W Validazione e formattazione date
COGC58 Ripartizione contabilita' analitica (fino a 10 elementi magazzino/servizio/percentuale)
COGU06 Visualizzazione immagini/documenti archiviati (fatture fornitori)
COGC66 Gestione dati consegna/riconsegna cespite-asset (da S-F7)
COGC68 Dati aggiuntivi sicurezza/conformita' cespite-asset (da S-F6)
RNEWCONF Lettura configurazione sistema

Logica di elaborazione

Inizializzazione (apri)

  1. Inizializza programma, verifica abilitazioni, apre file, legge azienda.
  2. Se richiamato da WIN094 (cogc52-called = "COGC52" e cogc52-caller = "WIN094"), imposta modalita' called e flag w-dc-no-importi.
  3. Recupera la divisa di conto corrente (get-divisa-conto).
  4. Legge la configurazione tramite RNEWCONF (x99-src-cfg): collega cespiti a COGE, tipo numerazione ("C" per categoria), flag CA rep agenti.
  5. Crea pulsanti custom: F5 per ripartizione contabilita' analitica, F6 per visualizza immagine, S-F7 per consegna/riconsegna cespite, S-F6 per dati aggiuntivi sicurezza/conformita'.

Input dati (a4 / a-tm-*)

Sequenza di accept su tutti i campi del cespite:

  1. a-tm-cod: Numero inventario. F9 per nuovo numero automatico (da numeratore 32). Se tipo numerazione = "C", il numero e' progressivo per categoria.
  2. b50: Cerca il cespite esistente. Se trovato, carica i dati (visualizza) e passa in modalita' variazione. Se non trovato, resta in inserimento.
  3. a-tm-nome: Descrizione cespite
  4. a-tm-data-acq: Data acquisto (con calendario F8)
  5. a-tm-cat: Categoria (lookup tramite COGS65W su COGTABEL)
  6. a-tm-ana: Fornitore (lookup COGU20W)
  7. a-tm-fat-tip/ann/num: Riferimento fattura (lookup COGF11)
  8. a-tm-qta: Quantita'
  9. a-tm-ubi: Ubicazione
  10. a-tm-leasing: Flag leasing e date leasing
  11. a-tm-tipo: Tipo cespite (M=Materiale, I=Immateriale, L=Mat. < Milione, P=Promiscuo)
  12. a-tm-n-u: Nuovo/Usato
  13. a-tm-stato: Stato (N=Attivo, M=Ammortizzato, D=Dismesso, S=Sospeso, V=Venduto)
  14. a-tm-data-ini-amm: Data inizio ammortamento
  15. a-tm-cod-padre: Cespite padre (per raggruppamento)
  16. a-tm-old-cod: Vecchio codice
  17. a-tm-liv1/2/3: Centro di costo (lookup COGU20W su COGCCOPR)
  18. a-tm-mag-ubi / a-tm-ser-ubi: Magazzino e servizio di ubicazione
  19. a-tm-imp-acq...a-tm-ammortamento: Importi (acquisto, variazioni, ammortamenti, con conversione divisa tramite COGU10W)
  20. a-tm-per-std...a-tm-per-rid: Percentuali ammortamento
  21. a-tm-super-amm-v / a-tm-super-amm: Super-ammortamento (valore e percentuale)
  22. a-tm-credito-imposta: Credito d'imposta

Scrittura cespite

  • Inserimento (a-90-wr): verifica abilitazione, controlla numerazione per categoria se configurata. Scrive il record su COGCESAN (wr-cogcesan). Se il WRITE fallisce (codice duplicato), cerca un nuovo numero tramite COGS25 e riprova. Registra il riferimento tramite COGR38 e scrive i movimenti storici iniziali (agg-mov). Aggiorna il numeratore se necessario.

  • Modifica (a-90-rw): legge il record con lock (rd-cogcesan-lk), aggiorna tutti i campi, riscrive (rwr-cogcesan), aggiorna riferimento COGR38, cancella vecchi movimenti storici (del-store) e riscrive quelli nuovi (agg-mov).

Cancellazione (cancella)

Legge con lock, cancella il record (del-cogcesan), cancella il riferimento COGR38, cancella tutti i movimenti storici associati (del-store).

Movimenti storici (agg-mov / wri-mov)

Per ogni importo significativo del cespite, scrive un record in COGCESMO con causale appropriata: - 'A' = Acquisto, '+' = Variazione aumento, '-' = Variazione diminuzione - 'V' = Vendita, 'S' = Ammortamento standard, 'N' = Ammortamento anticipato - 'C' = Ammortamento accelerato, 'I' = Ammortamento ridotto, 'T' = Non ammortizzabile - 'X' = Super-ammortamento deducibile, 'Y' = Super-ammortamento non deducibile

Il progressivo movimento e' gestito dal numeratore 33 (COGS25).

Consegna/Riconsegna cespite (S-F7)

In modalita' variazione (record gia' esistente), il pulsante S-F7 richiama il programma COGC66 per gestire i dati di consegna e riconsegna del cespite. Passa al sottoprogramma il codice cespite, la descrizione, la categoria e la descrizione categoria tramite la struttura util-cogc66.

Dati aggiuntivi sicurezza/conformita' (S-F6)

In modalita' variazione, il pulsante S-F6 richiama il programma COGC68 per gestire i dati aggiuntivi di sicurezza/conformita' del cespite (flag su controllo accesso, cifratura, antivirus, backup, log manomissione, impianto di condizionamento, videosorveglianza, antincendio, sanitizzazione, con campo note libero). Passa al sottoprogramma il codice cespite, la descrizione, la categoria, la descrizione categoria e il fornitore tramite la struttura util-cogc68.

Visualizzazione immagine (a1-vis-ott)

Tramite COGU06, cerca e visualizza l'immagine della fattura fornitore associata al cespite (tipo documento "FF").

Conversione divisa (visualizza)

Se il cespite e' in divisa diversa da quella di conto, tutti gli importi vengono convertiti tramite COGU10W prima della visualizzazione.

Note tecniche

  • Il programma usa 8 conti del piano dei conti (tm-pc-1 a tm-pc-8) con relative lookup via COGU20W, per collegare il cespite ai conti patrimoniali.
  • La ripartizione contabilita' analitica (w-csa-ele, fino a 10 elementi) e' gestita dal sottoprogramma COGC58 (F5). Ogni elemento ha magazzino, servizio e percentuale.
  • Il super-ammortamento gestisce lo split tra quota deducibile (X) e non deducibile (Y) in base alla percentuale di indeducibilita' (tm-per-na).
  • La numerazione per categoria (tm-cfg-tipo-numerazione = "C") compone il codice cespite come: 2 cifre categoria + 4 cifre progressivo.
  • Il programma e' uno dei piu' grandi del sistema (4831 righe) per la numerosita' dei campi gestiti e dei relativi controlli/lookup.

Storico Modifiche

Build Descrizione
2026/0426 Aggiunti pulsanti S-F7 (Consegna-Riconsegna, chiama COGC66) e S-F6 (Dati Aggiuntivi, chiama COGC68). Nuove copybook utilcogc66.cpy e utilcogc68.cpy. I pulsanti sono attivi solo in modalita' variazione (fl-vario = "V"). Aggiunte costanti k-sf7-consegna (value 3) e k-sf6-dati-agg (value 4) per gli indici dei pulsanti custom. Bitmap "magazzino" caricata come terza icona custom.