Vai al contenuto

Contabilizzazione Prima Nota (COGE79)

Identificazione

  • Programma: COGE79
  • Autore: Andrea Parmeggiani - Eurosystem (conv. Win: Gianluca 20/09/2004)
  • Area: Contabilita' / Prima Nota
  • Descrizione: Contabilizza la prima nota e prepara il file per la stampa del giornale bollato
  • Righe: 1.928
  • Menu: Contabilita' > Prima Nota > Contabilizzazione

Funzionalita' principale

COGE79 e' un processo batch che trasferisce i movimenti dalla prima nota non contabilizzata (COGPNONC) agli archivi contabilizzati (COGCOATT per l'anno corrente, COGCOPRE per l'anno precedente), aggiornando i saldi a tre livelli (sottoconto, conto, mastro) e producendo il file per il giornale bollato.

Due modalita'

Modalita' Parametro Effetto
Standard (nessuno) Contabilizza tutti i movimenti fino alla data indicata
Solo data effettiva wo-parametro = "P" Contabilizza solo i movimenti con data effettiva dell'esercizio precedente

La variante "P" e' usata dalla voce menu "Contabilita' > Bilancio > Chiusura/Riapertura > Contab. Art. Utile/Perdita Eser." per contabilizzare solo le scritture dell'esercizio precedente (tramite COGC79).

Flusso operativo

1. Inizializzazione (apri)

  • Lettura parametro modalita' ("P" = solo data effettiva)
  • ctr-abil: Verifica permessi operatore
  • z-99-init-program: Inizializzazione
  • rd-azi: Lettura dati azienda
  • x99-confi: Lettura configurazione (controllo-pno-prov-ante-contabilizzo)
  • Creazione nomi file temporanei:
  • GIORNA#$.ARC → giornale bollato (FEURLAV)
  • unipno.arc → personalizzazione Unione Agricoltori (FUNIPNO)
  • unislpco.arc → saldi personalizzazione (FUNISAL)
  • apri-cont: Apertura archivi contabilizzati (anno attuale ATT + anno precedente PRE)

2. Interfaccia utente (a4)

Form semplice con 2 campi:

  • tm-risp1: Conferma salvataggio archivi (S/N) — l'operatore deve confermare di aver fatto il backup
  • tm-datacor: Data fino alla quale contabilizzare — validata contro l'esercizio contabile

3. Controllo preliminare provvisori (ctr-prov)

Se la gestione provvisori e' attiva (az-ges-ip = "S" e tm-cfg-cnt-pno-pro <> "N"):

  • Scorre tutti i movimenti non contabilizzati
  • Segnala movimenti provvisori (pno-fl-pro = "P" o "O") con numero documento
  • Segnala conti con mastro/conto/sottoconto = 0
  • L'operatore puo' annotare i riferimenti e decidere se procedere

4. Controllo quadratura (a220-a / a220-b)

Obbligatorio prima della contabilizzazione:

  • Scorre COGPNONC dalla chiave minima fino alla data limite
  • Somma tutti i Dare e tutti gli Avere
  • Esclude movimenti provvisori (fl-pro = "P" o "O")
  • In modalita' "P": esclude movimenti senza data effettiva o con data effettiva > chiusura esercizio precedente
  • Se Dare = Avere: quadratura corretta, procede
  • Se Dare ≠ Avere: avvisa, l'operatore puo' forzare (F3) o annullare

5. Contabilizzazione (a220 — ciclo principale)

Per ogni movimento in COGPNONC (fino alla data limite):

5.1 Aggiornamento saldi a 3 livelli (COGSLPCO)

Ogni movimento aggiorna i saldi su tre record distinti:

Livello Paragrafo Chiave COGSLPCO
Sottoconto aggiornasaldo mastro + conto + sottoconto + anno
Conto aggiornaconto mastro + conto + 0 + anno
Mastro aggiornamastr mastro + 0 + 0 + anno

Per ciascun livello: 1. Legge il record saldi (rd-cogslpco) 2. Se la divisa del movimento ≠ divisa del conto → conversione cambio via z-u10 (COGU10W) 3. Aggiunge l'importo a con-prodare o con-proavere 4. Aggiorna il saldo mensile: con-saldo(mese) ← +dare / -avere 5. Riscrive (rwr-cogslpco) 6. Se il record non esiste → lo crea (wr-cogslpco) con saldi inizializzati a zero

Gestione data effettiva (movimenti di competenza esercizio precedente):

  • Se pno-effa ≠ 0 e il conto e' di reddito (pco-reddito = "R"): il saldo viene transitato sul conto apposito (conta1-mastro/conto/sconto da tabella 66, record 1)
  • Il movimento viene anche scritto nell'archivio dell'anno precedente con l'anno corretto

5.2 Scrittura archivio contabilizzato (a225)

  • Copia il record in COGCOATT (archivio anno corrente)
  • Se pno-effa ≠ 0: copia anche in COGCOPRE (archivio anno precedente) con anno dell'esercizio precedente

5.3 Trasformazione centri di costo (trasforma-cdc)

Se il movimento ha data effettiva: riscrive i movimenti dei centri di costo (COGMOVCC) con la data corretta.

5.4 Scrittura giornale bollato (a227)

  • Scrive il record su FEURLAV (file sequenziale) per la successiva stampa del giornale bollato

5.5 Cancellazione da non contabilizzato (a220 fine)

  • del-cogpnonc: Cancella il record da COGPNONC

5.6 Display progressione

  • Ogni 333 movimenti aggiorna il display con numero documento e dare/avere correnti

6. Verifica finale (a800)

  • Verifica quadratura finale (totale dare = totale avere)
  • Se non quadra: "Chiusura non quadrata, ripristinare archivi"
  • Se quadra: "Elaborazione Corretta, Verificata Quadratura"

7. Aggiornamento data ultima contabilizzazione (a855)

  • Solo in modalita' standard (non "P")
  • Legge tabella 66 (esercizio contabile)
  • Se la data di contabilizzazione > data ultima chiusura → aggiorna conta-dachiur
  • Riscrive il record tabella 66

File principali

File Prefisso Operazioni Descrizione
COGPNONC pno- Read/Delete Prima nota non contabilizzata (sorgente)
COGCOATT att- Write Archivio contabilizzato anno corrente (destinazione)
COGCOPRE pre- Write Archivio contabilizzato anno precedente
COGSLPCO con- Read/Write/Rewrite Saldi piano dei conti (3 livelli)
COGPNCON pco- Read Piano dei conti (per flag reddito)
COGTABEL euta- Read/Rewrite Tabelle sistema (tipo 66 = esercizio contabile)
COGMOVCC cdc- Read/Delete/Write Movimenti centri di costo
FEURLAV lav- Write (seq) File giornale bollato (output per stampa)
FEURTAB eur- Read Tabella cambi valute
FUNIPNO uni- Write Parcheggio Unione Agricoltori (personalizzazione)
FUNISAL un1- Write Saldi Unione Agricoltori (personalizzazione)

Catena di chiamata

Programma Righe Chiamate Funzione
COGS52W 837 3 Formattazione date (edita)
COGU10W 1.193 1 Conversione cambio divise
RNEWCONF 620 1 Lettura configurazione

Catena molto corta: COGE79 e' un programma prevalentemente autonomo, fa quasi tutto internamente.

Configurazioni richieste

RNEWCONF

Gruppo Chiave Effetto
CONTABIL controllo-pno-prov-ante-contabilizzo Se ≠ "N": controlla provvisori prima di contabilizzare

Tabella 66 (esercizio contabile)

  • Record 0: Esercizio corrente (date chiusura, data ultima contabilizzazione)
  • Record 1: Esercizio precedente (conto transito reddito: conta1-mastro/conto/sconto)

Diagramma di flusso

COGE79
  │
  ├── Conferma backup (tm-risp1 = "S")
  │
  ├── Data limite (tm-datacor)
  │
  ├── Controllo provvisori (se configurato)
  │    └── Segnala doc. provvisori / conti a zero
  │
  ├── Controllo quadratura
  │    ├── Dare = Avere → OK
  │    └── Dare ≠ Avere → Avviso (F3 per forzare)
  │
  ├── CICLO per ogni movimento COGPNONC ──────────┐
  │    │                                           │
  │    ├── aggiornasaldo (sottoconto) ──► COGSLPCO │
  │    ├── aggiornaconto (conto)      ──► COGSLPCO │
  │    ├── aggiornamastr (mastro)     ──► COGSLPCO │
  │    ├── write ──► COGCOATT (anno corrente)      │
  │    ├── write ──► COGCOPRE (se data effettiva)  │
  │    ├── trasforma-cdc ──► COGMOVCC              │
  │    ├── write ──► FEURLAV (giornale bollato)    │
  │    └── delete ──► COGPNONC                     │
  │                                                │
  │    └───────────────────────────────────────────┘
  │
  ├── Verifica quadratura finale
  │
  └── Aggiorna data ultima contabilizzazione (tab. 66)

Note tecniche

Transazione critica

La contabilizzazione e' un'operazione non reversibile (senza utility di ripristino). Per questo:

  • Richiede doppia conferma (F3 × 2)
  • Richiede conferma preventiva del backup
  • Verifica quadratura prima e dopo
  • Mostra messaggi di errore grave con istruzione "ripristinare gli archivi"

Personalizzazione Unione Agricoltori

Se az-personal = "UN": movimenti con mastro 28/conto 01 vengono scritti anche su file separati (FUNIPNO, FUNISAL) per elaborazioni specifiche del consorzio agricolo.

Copybook principali

  • coge79.wrk: Working storage
  • coge79.select: SELECT file aggiuntivi
  • coge79.fd: File description aggiuntivi
  • coge79.prc: Procedure aggiuntive (open-files, read, write, ecc.)
  • coge79-01.scr: Screen definition

Paragrafi principali

  • apri: Inizializzazione
  • a4: Preparazione form
  • a-tm-risp1: Campo conferma backup
  • a-tm-datacor: Campo data limite
  • a-riga-fine: Validazione e doppia conferma
  • a220-a/b: Controllo quadratura
  • a220: Ciclo contabilizzazione
  • a225: Scrittura archivio contabilizzato
  • a227: Scrittura giornale bollato
  • a240: Accumulo totali e display progressione
  • a800: Verifica quadratura finale
  • a855: Aggiornamento data ultima contabilizzazione
  • aggiornasaldo thru ex-aggiornasaldo: Aggiornamento saldi sottoconto
  • aggiornaconto thru ex-aggiornaconto: Aggiornamento saldi conto
  • aggiornamastr thru ex-aggiornamastr: Aggiornamento saldi mastro
  • trasforma-cdc thru ex-trasforma-cdc: Riscrittura centri di costo
  • ctr-prov thru ex-ctr-prov: Controllo provvisori
  • x-imposta-conferma: Validazione conferma
  • fine / z-chiudi: Chiusura e uscita

Posizioni chiave