COGH06 -- Riclassificazione da Saldi¶
Sorgente: cbl/cogh06.cbl | Tipo: Programma interattivo + elaborazione batch | Program-ID: COGH06
Menu: Contabilita' > Bilancio > Riclass. IV Direttiva C.E.E. > Riclassificazione Da Saldi
Scopo¶
Produce i dati di riclassificazione bilancio IV Direttiva CEE partendo dai saldi contabili. Scansiona COGSLPCO (saldi per conto), integra la partita nota non contabilizzata (COGPNONC) e opzionalmente l'esercizio precedente (COGCOPRE/COGCOATT), quindi popola file di lavoro temporanei (lavsal, lavric, lavlav) usati dalla successiva stampa. Puo' essere chiamato anche da altri programmi (interfaccia utilcogh06.cpy).
File e Tabelle¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| COGTABEL | feurtab.fd, cogfiles.cpy | Tabella generica (tipo 66: esercizio, tipo AF: anni precedenti) |
| COGPCCEE | cogh06.select, cogh06.fd | Schema di riclassificazione CEE |
| COGSLPCO | cogh06.select | Saldi per conto -- input principale |
| COGPNONC | cogh06.select | Partita nota non contabilizzata |
| COGPNCON | cogh06.select | Piano dei conti (aggancio conti a voci CEE) |
| COGCOPRE | cogcopre.fd, cogcopre.cpy | Contabilizzata esercizio precedente (raffronto) |
| COGCOATT | cogcoatt.fd, cogcoatt.cpy | Contabilizzata esercizio attuale |
| lavsal | (definito localmente) | File lavoro saldi per conto con importi convertiti in divisa |
| lavric | (definito localmente) | File lavoro riclassificazione con dare/avere/saldo per voce CEE |
| lavlav | (definito localmente) | File lavoro elaborazione con descrizioni |
| filseq | (definito localmente) | File sequenziale di log errori (conti non collegati) |
I file temporanei vengono creati nella directory ext-tmp-dir con nomi fissi:
- #$sald.arc (lavsal)
- #$ricl.arc (lavric)
- #$oper.arc (lavlav)
- #$ceesco_err_<operatore>.txt (filseq -- log errori)
Interfaccia utente¶
Maschera (tab-maschera)¶
| Campo | Tipo | Descrizione |
|---|---|---|
tm-modello |
9(03) | Codice modello di riclassificazione |
tm-desc1 |
x(40) | Descrizione modello |
tm-quadro |
9(02) | Codice quadro (0 = tutti) |
tm-desc2 |
x(26) | Descrizione quadro |
tm-data |
9(08) | Data situazione contabile (AAAAMMGG) |
tm-raffr |
x(01) | Raffronto anno precedente (S/N) |
tm-provvisoria |
x(01) | Include partita nota provvisoria (S/N) |
tm-divisa |
x(02) | Divisa di riferimento per conversione importi |
tm-divisa-des |
x(25) | Descrizione divisa |
tm-r-anno-prec |
x(01) | Flag raffronto (copia di tm-raffr per uso interno) |
tm-a-data |
9(08) | Data alternativa per raffronto precedente |
tm-esercizio-prec |
x(20) | Descrizione esercizio precedente (aggiunta 171022) |
tm-escl-ndoc1..4 |
9(06) x4 | Numeri documenti di chiusura da escludere (letti da COGTABEL tipo "AF") |
Struttura del programma¶
Flusso principale¶
- Inizializzazione (
apri): apertura file temporanei (output -> i-o), lettura COGTABEL tipo 66 per esercizio corrente, apertura file P.N. contabilizzata tramiteopen-pn-contabilizzata, configurazione tasti (F3, F8-calendario, F8-aiuto) - Modalita' chiamata esterna: se
cogh06-called = k-program-id, carica parametri dautilcogh06e salta aa032-a(bypass input manuale) - Input parametri:
a-tm-modello,a-tm-quadro,a-tm-data,a-tm-raffr,a-tm-provvisoria,a-tm-divisa - Conferma (
a-riga-fine): validazione globale, conferma utente, avvio elaborazione - Fase 1 -- Saldi esercizio corrente (
a017-a019): scan COGSLPCO peranno = anno-attuale, conversione importi tramite COGU10W, scrittura su lavsal - Fase 2 -- Partita nota non contabilizzata (
a020-a024): scan COGPNONC, filtro supno-fl-proetm-provvisoria, conversione importi, aggiornamento saldi (agg-saldo/agg-conto) - Fase 3 -- P.N. contabilizzata anno precedente (
a026-a031, solo setm-raffr = "S"): scan COGCOPRE con esclusione documenti di chiusura (letti da COGTABEL tipo "AF"), scan COGCOATT - Fase 4 -- Riclassificazione (
a032in poi): abbina saldi ai conti CEE, popola lavric e lavlav - Chiusura (
fine): chiusura file, stampa report errori
Conversione importi (COGU10W)¶
Per ogni saldo/movimento, se la divisa del conto (con-currency, pno-currency, pre-currency) differisce dalla divisa richiesta (tm-divisa), viene chiamato COGU10W con operazione k-u10-cambio per convertire l'importo.
Esclusione documenti di chiusura¶
Quando tm-raffr = "S" e si scansiona COGCOPRE per l'anno precedente, il programma legge da COGTABEL tipo "AF" (con codice = anno precedente) i numeri di documento da escludere:
- euta-doc-reddito -> tm-escl-ndoc1
- euta-doc-patrimoniale -> tm-escl-ndoc2
- euta-doc-reddito2 -> tm-escl-ndoc1-2 (aggiunto 210115)
- euta-doc-patrimoniale2 -> tm-escl-ndoc2-2 (aggiunto 210115)
- euta-doc-patrimoniale3 -> tm-escl-ndoc2-3 (aggiunto 010621)
- euta-doc-utile-perdita -> tm-escl-ndoc4 (aggiunto 130520)
Interfaccia di chiamata esterna (utilcogh06.cpy)¶
| Campo | Descrizione |
|---|---|
cogh06-called |
k-program-id per attivare modalita' chiamata |
cogh06-modello |
Modello da usare |
cogh06-quadro |
Quadro da usare |
cogh06-nome-file-saldi |
Path file lavoro saldi (sovrascrive nf-lavsal) |
cogh06-raffr |
Flag raffronto anno precedente |
cogh06-da-data |
Data inizio periodo di raffronto (aggiunto 250526 per TASK-5149). Se valorizzata, in calc-anno-prec viene usata al posto del 01/01 dell'anno precedente; in calc-pnota-provv rimpiazza la data 01/01. Se a zero il comportamento e' invariato. |
cogh06-a-data |
Data alternativa (estremo superiore del periodo) |
cogh06-anno |
Anno elaborazione |
cogh06-pnota-prov |
Flag include provvisoria (aggiunto 111224) |
Verifica P.N. non contabilizzata quadrata¶
Dopo aver elaborato COGPNONC, il programma verifica totdare = totavere. Se non coincidono, visualizza un avviso (non blocca l'elaborazione).
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| COGU10W | Conversione importi tra divise (k-u10-cambio) |
| COGE22 | Selezione divisa (F8 sul campo divisa) |
| COGS52W | Calendario (F8 sui campi data) |
Copybook utilizzate¶
| Copybook | Contenuto |
|---|---|
cogh06.select |
SELECT dei file principali |
cogh06.fd |
FD dei file |
cogh06.wrk |
Working storage maschera |
cogh06.decla |
Declaratives |
cogh06-01.scr |
Maschera principale |
cogfiles.cpy |
Record FD feurtab |
cogcopre.cpy, cogcopre.fd |
Struttura P.N. contabilizzata precedente |
cogcoatt.cpy, cogcoatt.fd |
Struttura P.N. contabilizzata attuale |
k-u10.cpy |
Costanti COGU10W |
cogazien.cpy |
Dati azienda |
cogconta.cpy |
Struttura conti |
utile22.cpy |
Interfaccia COGE22 (divisa) |
utils52.cpy |
Interfaccia COGS52W (calendario) |
utilu10.cpy |
Interfaccia COGU10W |
utilopenfile.cpy |
Apertura file P.N. contabilizzata |
wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy |
Working storage comuni |
wcont.cpy, utilcogh06.cpy, wcont1.cpy |
Linkage section |
Note tecniche¶
- I file temporanei lavsal, lavric, lavlav vengono ricreati a ogni elaborazione (open output + close + open i-o).
- Il file di log errori
filseq(sequenziale binario) contiene i conti presenti nei saldi ma non agganciati allo schema CEE. - Le righe con prefisso
210115,130520,010621,171022,111224identificano modifiche storiche per gestire casi particolari nell'esclusione documenti di chiusura. - L'area
save-cogh06-area(x(500)) viene usata per preservare il contenuto diutil-cogh06durante la modalita' chiamata esterna. - Il programma usa COGCOPRE (esercizio precedente) e COGCOATT (esercizio attuale) per il raffronto; entrambi vengono aperti in input.
- TASK-5149 (250526): aggiunto parametro
cogh06-da-dataper consentire un raffronto su intervallo personalizzato. Quando il programma e' chiamato dal Bilancio (COG008) con bilancio parziale (tm-bil-parz = "S"), COG008 passa la "Da Data" del periodo. Incalc-anno-precil valore viene assegnato aw-raffr-dae poi viene decrementato di un anno (w-raffr-da-aa - 1) per ottenere il raffronto sull'anno precedente sulla stessa data; incalc-pnota-provvviene usato direttamente come estremo inferiore. Se a zero, mantiene il comportamento storico (01/01 dell'anno precedente). Il nuovo redefinesw-raffr-da-r(suddiviso in aa/mm/gg) permette la manipolazione del solo anno.
Documentazione tecnica -- 2026-04-26 (aggiornato 2026-05-26 per TASK-5149)