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 operatorez-99-init-program: Inizializzazionerd-azi: Lettura dati aziendax99-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 ≠ 0e il conto e' di reddito (pco-reddito = "R"): il saldo viene transitato sul conto apposito (conta1-mastro/conto/scontoda 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 storagecoge79.select: SELECT file aggiuntivicoge79.fd: File description aggiuntivicoge79.prc: Procedure aggiuntive (open-files, read, write, ecc.)coge79-01.scr: Screen definition
Paragrafi principali¶
apri: Inizializzazionea4: Preparazione forma-tm-risp1: Campo conferma backupa-tm-datacor: Campo data limitea-riga-fine: Validazione e doppia confermaa220-a/b: Controllo quadraturaa220: Ciclo contabilizzazionea225: Scrittura archivio contabilizzatoa227: Scrittura giornale bollatoa240: Accumulo totali e display progressionea800: Verifica quadratura finalea855: Aggiornamento data ultima contabilizzazioneaggiornasaldothruex-aggiornasaldo: Aggiornamento saldi sottocontoaggiornacontothruex-aggiornaconto: Aggiornamento saldi contoaggiornamastrthruex-aggiornamastr: Aggiornamento saldi mastrotrasforma-cdcthruex-trasforma-cdc: Riscrittura centri di costoctr-provthruex-ctr-prov: Controllo provvisorix-imposta-conferma: Validazione confermafine/z-chiudi: Chiusura e uscita