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)¶
- Inizializza programma, verifica abilitazioni, apre file, legge azienda.
- Se richiamato da WIN094 (
cogc52-called = "COGC52"ecogc52-caller = "WIN094"), imposta modalita' called e flagw-dc-no-importi. - Recupera la divisa di conto corrente (
get-divisa-conto). - Legge la configurazione tramite RNEWCONF (
x99-src-cfg): collega cespiti a COGE, tipo numerazione ("C" per categoria), flag CA rep agenti. - 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:
- a-tm-cod: Numero inventario. F9 per nuovo numero automatico (da numeratore 32). Se tipo numerazione = "C", il numero e' progressivo per categoria.
- b50: Cerca il cespite esistente. Se trovato, carica i dati (
visualizza) e passa in modalita' variazione. Se non trovato, resta in inserimento. - a-tm-nome: Descrizione cespite
- a-tm-data-acq: Data acquisto (con calendario F8)
- a-tm-cat: Categoria (lookup tramite COGS65W su COGTABEL)
- a-tm-ana: Fornitore (lookup COGU20W)
- a-tm-fat-tip/ann/num: Riferimento fattura (lookup COGF11)
- a-tm-qta: Quantita'
- a-tm-ubi: Ubicazione
- a-tm-leasing: Flag leasing e date leasing
- a-tm-tipo: Tipo cespite (M=Materiale, I=Immateriale, L=Mat. < Milione, P=Promiscuo)
- a-tm-n-u: Nuovo/Usato
- a-tm-stato: Stato (N=Attivo, M=Ammortizzato, D=Dismesso, S=Sospeso, V=Venduto)
- a-tm-data-ini-amm: Data inizio ammortamento
- a-tm-cod-padre: Cespite padre (per raggruppamento)
- a-tm-old-cod: Vecchio codice
- a-tm-liv1/2/3: Centro di costo (lookup COGU20W su COGCCOPR)
- a-tm-mag-ubi / a-tm-ser-ubi: Magazzino e servizio di ubicazione
- a-tm-imp-acq...a-tm-ammortamento: Importi (acquisto, variazioni, ammortamenti, con conversione divisa tramite COGU10W)
- a-tm-per-std...a-tm-per-rid: Percentuali ammortamento
- a-tm-super-amm-v / a-tm-super-amm: Super-ammortamento (valore e percentuale)
- 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-1atm-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. |