COGC04 — Gestione articolo di chiusura Conto Economico¶
Intestazione¶
| Campo | Valore |
|---|---|
| Sorgente | cbl/cogc04.cbl |
| Program-ID | COGC04 |
| Titolo | Visualizzazione/rettifica articoli di chiusura |
| Tipo | Programma interattivo con maschera e griglia (GUI AcuCOBOL) |
| Posizione menu | Contabilita' > Bilancio > Chiusura/Riapertura Esercizio > Gestione Art.Chiusura C/Econ. |
Scopo e logica generale¶
COGC04 permette di visualizzare e rettificare l'articolo contabile di chiusura del Conto Economico (e, in modalita' parametrica, gli articoli di chiusura/apertura patrimoniale). L'articolo e' un documento di prima nota non contabile (COGPNONC) composto da piu' righe DARE/AVERE; il programma consente di modificare le date e la testata del documento e di inserire, modificare o cancellare le singole righe di dettaglio, imponendo la quadratura DARE = AVERE prima di poter aggiornare.
L'elaborazione avviene su un file di transito indicizzato temporaneo COGTRANS (record trs-rec, layout gemello di pno-rec): all'ingresso le righe del documento vengono copiate da COGPNONC in COGTRANS, tutte le modifiche interattive lavorano sul transito, e solo alla conferma finale i dati vengono ricostruiti su COGPNONC (cancellazione e reinserimento completo del documento).
Modalita' di funzionamento¶
Il comportamento e' pilotato dal parametro wo-parametro (in stringhe, copybook wcont.cpy):
wo-parametrovalorizzato (chiamata da programma esterno): tratta gli articoli di chiusura (tm-ttt = "C", file<esercizio>CHIUS.ARC) o apertura (tm-ttt = "A", file<esercizio>APERT.ARC); il file di transito e' costruito inext-tmp-dircon nome#$75.<oper>. Titolo maschera: "Rettifica articolo di chiusura/apertura".wo-parametroa spazi (avvio standalone da menu): tratta l'articolo di Conto Economico (file<esercizio>ECONO.ARC); il transito e' costruito inext-arc-dircon nome#$75<oper>.PNO. Titolo maschera: "Rettifica articolo di chiusura".
Il file COGPNONC fisico da editare (nf-name-14) e' composto dinamicamente in base alla modalita' e all'esercizio contabile letto dalla tabella generica contabile.
Struttura e flusso¶
Il programma e' organizzato a paragrafi di accept collegati da go to (schema tipico delle maschere Screen Designer, con navigazione avanti/indietro tramite F2 e uscita anticipata via F3).
apri:z-99-init-program, controllo abilitazioni (ctr-abil), composizione nome file di transito COGTRANS,rd-azi,open-files. Impostazione dei tasti funzione (F3 conferma/aggiorna, F4 cancella, F8 aiuto/calendario, Maiusc+F4 griglia, Maiusc+F5 esporta Excel, Invio modifica, Ctrl+A aggiungi, Ctrl+E elimina). Lettura della tabella generica contabile COGCONTA (euta-tipo = 66, tramite COGTABEL) inconta-rec, che fornisce le date limite di esercizio (conta-conchiupre9,conta-conchiuatt9,conta-dachiur).a4: reset maschera e griglia, apertura inoutputpoii-odi COGTRANS (con controllo "Funzione gia' in uso per l'operatore" se il file di transito e' bloccato), attivazione conferma.a-tm-ttt: (solo modalita' parametrica) scelta tipo articolo Chiusura/Apertura.- Testata documento:
a-tm-datart(data registrazione),a-tm-dataef(data effettiva),a-tm-data-competenza(data competenza economica). Le date sono validate contro l'esercizio (x-controlla-tm-datartverifica che la data sia nell'intervalloconta-conchiupre9..conta-conchiuatt9;x-controlla-tm-dataefcontrolla la coerenza con la chiusura precedente e la data minima movimenti). a03/carica-trs: individuazione del documento su COGPNONC, caricamento delle righe nel transito COGTRANS con calcolo dei totali DARE (tm-totd) e AVERE (tm-tota); allineamento delle date del documento sulle righe se modificate.a-grid: gestione della griglia paginata (z-99-accept-paged-grid, con paginazione PgUp/PgDn su COGTRANS) e degli eventi utente:- Invio / doppio click: modifica riga (
a-operazione = "M"). - Ctrl+A: inserimento nuova riga (
a-operazione = "I"). - Ctrl+E: cancellazione riga (con conferma,
c-cancella). - Maiusc+F4: personalizzazione colonne griglia (GRIDADMN).
- Maiusc+F5: esportazione Excel (
z-esporta-paged-grid). - F3: aggiornamento definitivo dell'articolo (
aggiorna). - F4: cancellazione dell'intero documento (
cancella). a-riga-dettaglioe paragrafia-tm-r-*: acquisizione dei campi della riga (conto contabile mastro/conto/sottoconto, segno DARE/AVERE, tipo operazione, data valuta, sigla e importo divisa, importo, descrizione, numero fattura, data fattura, numero IVA). In modifica il record COGTRANS viene locckato (rd-cogtrans-lk).a-fine-dettaglio: controlli finali di riga (x-controlla-dettaglio), eventuale aggiornamento dei centri di costo tramite COGS85 (per i conti a reddito), scrittura/riscrittura su COGTRANS (wr-cogtrans/rwr-cogtrans), aggiornamento dei totali e della griglia (GRIDADMN "Add-Record"/"Modify-Record").aggiorna: verifica quadratura (tm-tota = tm-totd) e abilitazione, poicancella-dati(cancella il documento su COGPNONC e i riferimenti centri di costo via COGS85 "DEL-ALL-CC") einserisci-dati(rilegge il transito COGTRANS e riscrive le righe su COGPNONC rinumerando la progressivapno-pro, riportando date registrazione/effettiva/competenza e aggiornando i centri di costo via COGS85 "WRI-UPD-P").cancella: cancellazione dell'intero documento su COGPNONC (con doppia conferma).fine/z-chiudi: chiusura file,delete file cogtrans(il transito e' temporaneo e viene distrutto all'uscita), chiusura finestra,z-99-exit-program,goback.
File e tabelle principali¶
| File logico | Record | Chiave | Modalita' | Uso |
|---|---|---|---|---|
| COGPNONC | pno-rec |
pno-chia (pno-anno + pno-docum + pno-pro) |
I-O | Prima nota non contabile: il documento (articolo di chiusura/apertura/economico) da editare |
| COGTRANS | trs-rec |
trs-chia1 (trs-anno + trs-docum + trs-pro) |
I-O | File indicizzato temporaneo di transito, layout gemello di pno-rec; dichiarato manualmente nel sorgente (SELECT/FD inline) |
| COGPNCON | pco-rec |
pco-chia (mastro/conto/sottoconto) |
Input | Piano dei conti: validazione conto e recupero descrizione, flag pco-reddito, pco-tipoanagr |
| COGGEANA | ana-rec |
ana-chia (ana-tipo + ana-cod) |
Input | Anagrafiche generiche: descrizione del sottoconto quando il conto e' anagrafico (pco-tipoanagr) |
| COGTABEL | euta-rec |
euta-key (euta-tipo + euta-cod/codr) |
Input | Tabelle generiche: tipo 66 = dati generici contabilita' (conta-rec), tipo 65 = tipi operazione (descrizione in euta-descr1) |
| FEURTAB | (cogfiles) | — | Input | Tabella file Eurosystem |
La testata del documento (tab-maschera -> tm-dati) contiene esercizio, date registrazione/effettiva/competenza, divisa, totali tm-totd/tm-tota e la tabella righe tm-righe (occurs k-max-ele-tab = 900). Ogni riga (tm-ele) replica i campi di pno-rec/trs-rec piu' i campi appoggio descrizione conto (tm-r-con-des), reddito (tm-r-con-reddito) e tipo anagrafica (tm-r-con-tipoanagr).
Copybook principali¶
Screen Designer (cbl/screens/)¶
| Copybook | Contenuto |
|---|---|
cogc04-01.scr |
Maschera principale (screen section) |
cogc04.select |
SELECT dei file gestiti da Screens |
cogc04.fd |
FD dei file gestiti da Screens |
cogc04.wrk |
Working storage della maschera |
cogc04.prc |
Procedure division della maschera (routine z-s52-*, z-s60-*, z-s67-*, z-u10-*, x-controlla-*, gestione griglia) |
cogc04.decla |
Declaratives |
Strutture dati¶
| Copybook | Contenuto |
|---|---|
cogfiles.cpy |
FD feurtab |
cogpnonc.cpy |
Record prima nota non contabile (pno-rec) |
cogpncon.cpy |
Record piano dei conti (pco-rec) |
coggeana.cpy |
Record anagrafiche generiche (ana-rec) |
cogtabel.cpy |
Record tabelle generiche (euta-rec) |
cogconta.cpy |
Tabella dati generici contabili (conta-rec): date esercizio, chiusura precedente/attuale, data minima movimenti |
cogtrans.k01 |
Routine di I/O del file di transito COGTRANS (rd-, rdnxt-, wr-, rwr-, del-, st-*) |
cogazien.cpy |
Dati azienda (az-ccopr = gestione centri di costo) |
wgrid.cpy |
Working storage griglia |
wgrave.cpy / wnscr.cpy / wopenf.cpy / wstato.cpy |
Working storage comuni (errori gravi, screen, apertura, stato file) |
Utility e interfacce¶
| Copybook | Contenuto |
|---|---|
utilgdad.cpy |
Interfaccia GRIDADMN (util-gdad) per gestione griglia |
utile65.cpy |
Interfaccia COGE65 (util-e65) ricerca tipo operazione |
utils52.cpy |
Interfaccia COGS52 (util-s52) gestione/validazione date e calendario |
utils67.cpy |
Interfaccia COGS67 (util-s67) gestione conto contabile |
utils85.cpy |
Interfaccia COGS85 (util-s85) gestione centri di costo |
utilu10.cpy |
Interfaccia COGU10W (util-u10) editazione/arrotondamento importi |
dtab.cpy / fscrol2.cpy / utilpggr.cpy |
Utility tabelle, scroll e griglia paginata |
Procedure incluse (fine procedure division)¶
grave.cpy, mmmask.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, poi cogc04.prc, dtab.cpy, fscrol2.cpy, utilpggr.cpy e infine cogtrans.k01.
Linkage section¶
| Copybook | Contenuto |
|---|---|
wcont.cpy |
Struttura stringhe (contesto chiamante: wo-oper, wo-parametro) |
wcont1.cpy |
Struttura contesto aggiuntivo |
Sottoprogrammi chiamati (CALL)¶
| Programma | Interfaccia | Scopo |
|---|---|---|
| GRIDADMN | util-gdad |
Gestione della griglia paginata (Prepara, Svuota, Add-Record, Modify-Record) e personalizzazione colonne (Maiusc+F4) |
| COGE65 | util-e65 |
Ricerca/aiuto del codice tipo operazione (F8 sul campo Tipo operazione); il codice scelto e' riportato in tm-r-to. Cancellato dopo l'uso (cancel "COGE65") |
| COGS85 | util-s85 |
Gestione dei centri di costo collegati alle righe a reddito (az-ccopr = "S" e conto con pco-reddito = "R"): operazioni DISP-UPD-P, SERC-UPD-P, WRI-UPD-P, DEL-ALL-CC |
Le funzioni di validazione date (COGS52), conto (COGS67), segno (COGS60) e importi (COGU10W) sono invocate indirettamente tramite le routine generate nei copybook cogc04.prc / utils*.cpy (perform z-s52-*, z-s67-*, z-s60-*, z-u10-*).
Note¶
- Il file di transito COGTRANS e' temporaneo: viene aperto in
outputper verificarne il non-uso concorrente, poi ini-o, e infine cancellato (delete file) all'uscita del programma. Non e' un archivio persistente e non e' gestito da Screen Designer: SELECT e FD sono dichiarati manualmente nel sorgente, con layout identico apno-rec. - L'aggiornamento e' consentito solo se l'articolo quadra (
tm-tota = tm-totd): in caso contrario viene mostrato "Articolo non quadrato, impossibile registrare". - La conferma finale ricostruisce integralmente il documento su COGPNONC (cancellazione totale + reinserimento con rinumerazione della progressiva
pno-pro), quindi al termine viene ricordato all'operatore di "Rettificare eventuali movim. IVA". - La gestione dei centri di costo e' condizionata dal flag azienda
az-ccopr: se attivo, per i conti a reddito i riferimenti centri di costo sono mantenuti allineati tramite COGS85. - Le abilitazioni operative (
w-abi-ins,w-abi-agg,w-abi-del) sono impostate dactr-abile controllate su ogni operazione di inserimento/modifica/cancellazione. - La data di competenza economica del documento (
tm-data-competenza->pno-data-econ), obbligatoria, e' gestita dalla revisione del 06/09 (marcatore060919nel sorgente) sia in caricamento sia in scrittura delle righe.