COGH08 - Riclassificazione bilancio IV Direttiva C.E.E.¶
Sorgente: cbl/cogh08.cbl | Program-ID: COGH08 | Tipo: Stampa/report contabile (maschera parametri + stampa)
Menu: Contabilita' > Bilancio > Riclass. IV Direttiva C.E.E. > Stampe > Riclassificazione
Scopo¶
Stampa il bilancio di verifica riclassificato secondo lo schema della IV Direttiva C.E.E. Legge le voci del modello di riclassificazione (file di lavoro lavlav) con i saldi calcolati per esercizio corrente e precedente, produce la stampa gerarchica (quadro, lettera maiuscola, numero romano, numeri arabi, lettere minuscole) con importi, differenza e percentuale; opzionalmente stampa il dettaglio dei conti contabili sottostanti e/o esporta in Excel.
Puo' essere avviato dal menu oppure richiamato da COGH06 (cogh06-called = "COGH06", linkage utilcogh06.cpy): in tal caso i parametri (modello, opzioni, esercizio, file saldi) arrivano dal chiamante e la maschera non viene mostrata; al termine effettua un controllo di quadratura attivo/passivo ed economico.
File e tabelle¶
| File/Tabella | Modalita' | Descrizione / campi chiave usati |
|---|---|---|
| FEURTAB | Input | Parametri azienda (cogfiles.cpy, dati cogazien.cpy) |
| LAVLAV | Input | File di lavoro voci riclassificate (lav-rec, chiave lav-chia: lav-modello, lav-quadro, lav-letma, lav-numro, lav-numar1/2, lav-letmi1/2, lav-prdes). Saldi lav-saldo/lav-saldo-1, descrizione, flag formula lav-flform. Nome file da #$oper.arc in ext-tmp-dir |
| LAVSAL | Input | File di lavoro saldi contabili per conto (lsa-rec, chiave lsa-chia: mastro/conto/sottoconto/anno). lsa-prodare/lsa-proavere. Nome file da #$SALD.arc (o da cogh06-nome-file-saldi) |
| COGPCCEE | Input | Piano conti riclassificato CEE (cee-rec, chiave cee-chia): associa le voci CEE ai conti contabili (cee-mastro/cee-conto/cee-sconto), segno operazione cee-oper, flag controllo saldo cee-flform |
| COGPNCON | Input | Piano dei conti contabile (pco-rec) per descrizione conto (rd-cogpncon) |
| COGGEANA | Input | Anagrafica per intestazione (cliente interno az-cli-int) |
| FILEASC2 | Output | File ASCII line-sequential per export Excel (as2-rec, separatore tab o ;), aperto solo se tm-excel = "S" |
| flsta / riga | Output | File di stampa report |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
cogh08.select, cogh08.fd, cogh08.wrk, cogh08-01.scr, cogh08.prc, cogh08.decla |
Screen Designer |
feurtab.fd, cogfiles.cpy |
Layout FEURTAB |
flsta.fd, flsta.cpy |
File di stampa |
k-u10.cpy, utilu10.cpy |
Costanti + linkage editing importi (COGU10W) |
utils54.cpy |
Linkage stampa (COGS54) |
utilncnf.cpy |
Linkage RNEWCONF |
utilwordmdl.cpy, utilcogpa3.cpy, utilcogsc1.cpy |
Linkage stampa Area-Report / Word (WORDMDL, COGPA3, COGSC1) |
utilcogh06.cpy |
Linkage chiamata da COGH06 (cogh06-*) in linkage section |
wgrave, wnscr, wopenf, wstato, cogazien |
Working storage standard + dati azienda |
wcont.cpy, wcont1.cpy |
Linkage standard (stringhe) |
stato, stato1, winmsg, grave, opengen, mmmask, printer |
Copybook di procedura standard |
Logica¶
Maschera con navigazione a-tm-*: codice modello, codice quadro, stampa conti a zero (tm-stpco), stampa conti contabili (tm-contab), flag Excel (tm-excel). I controlli x-controlla-tm-* validano modello/quadro leggendo COGPCCEE.
- Apertura (
apri): apre i file di lavoro (lavlav/lavsal); selavsalnon esiste (status 35) segnala "Archivio Inesistente". Registra la configurazionearea-report-attivovia COGSC1 e la legge via RNEWCONF (x99-confi, gruppostampe, sottochiave = program-id). - Conferma (
a-riga-fine): searea-report-attivo = "S"e non Excel, chiama COGPA3 per ottenere il modello Word/Area-Report e individua l'indice della tabella dettaglioTAB-DET; impostaw-eseguo-stampa-wordmdl. Altrimenti seleziona periferica via COGS54. - Apertura output: se stampa Word, apre il documento XML via WORDMDL ("Apri-XML") e scrive i tag di intestazione (ragione sociale, P.IVA, indirizzo, esercizio, modello,
TIPO-MOD = 1) e apre la tabella dettaglio. - Scansione voci (
a009-a999):start/read nextsu LAVLAV per modello/quadro. Per ogni voce editalav-saldo/lav-saldo-1(COGU10W), calcola differenza (wsaldo-2) e percentuale (wsaldo-3). In base al livello valorizzato (letma / numro / numar / letmi / letmi2 / prdes) formatta la riga gerarchicardet1con numerazione romana/araba/alfabetica (tabelletab-maiusc/tab-romani/tab-minusc); intercetta i saldi di quadro (attivo=1/1, passivo=1/2, utile=1/3/5) per la quadratura. Le righe formula/descrizione passano dast-des. - Dettaglio conti (
a012): setm-contab = "S", per ogni voce CEE scorre COGPCCEE per i conti associati, legge i saldi da LAVSAL per anno corrente/precedente (filtrando percee-flform = "C"in base al segnocee-oper), legge descrizione conto da COGPNCON e stampa la rigardet4. - Intestazione (
intesta): recupera cliente interno da COGGEANA; gestisce salto pagina e conteggio righe sus54-stm-lin. - Chiusura (
a999/fine): se stampa Word chiude la tabella e il documento XML, poi chiama WORDMDL "Esegui" per generare/stampare; se Excel apre il file risultante via GRIDTOXS; altrimenti COGS54 "after-print". In modalita' COGH06 verifica la quadratura attivo=passivo e utile=cogh06-saldo, segnalando eventuali scostamenti.
Export Area-Report/Word (b5-riga-standard): emette la riga della tabella TAB-DET colonna per colonna in base alla composizione configurata in COGPA3 (w-cogpa3-te-info), con codici colonna CONT/DESC/ESCO/ESPR/DIFF/PERC/STIL/VT. Le colonne numeriche sono allineate a destra via C$JUSTIFY. Il campo STIL codifica lo stile riga (0 dettaglio CEE, 1 dettaglio conti, 2 totale, 3 intestazione/chiusura, 5 riga vuota).
CALL a sottoprogrammi¶
| Programma | Scopo |
|---|---|
| COGSC1 | Registrazione parametro configurazione area-report-attivo |
| RNEWCONF | Lettura configurazione area-report-attivo (gruppo stampe) |
| COGPA3 | Recupero modello e composizione tabelle per stampa Area-Report/Word |
| WORDMDL | Generazione/stampa documento Word/XML (Apri/Aggiungi/Chiudi/Esegui-XML) |
| COGS54 | Selezione periferica e gestione stampa su carta |
| COGU10W | Editing importi in valuta |
| GRIDTOXS | Apertura file ASCII esportato in Excel |
| C$JUSTIFY | Allineamento a destra delle colonne numeriche (runtime ACUCOBOL) |
Note¶
- Tre canali di output mutuamente esclusivi: stampa su carta (COGS54), stampa Word/Area-Report (WORDMDL, se
area-report-attivo = "S"), export Excel (tm-excel = "S"→ FILEASC2 + GRIDTOXS). - I file
lavlav/lavsalsono file temporanei di lavoro prodotti a monte (es. da COGH06/COG008); COGH08 li legge sola-lettura. - Percentuale non calcolabile (saldo precedente = 0) marcata "N.C." nella colonna.
- Codice legacy con
GO TO/PERFORM ... THRU: non modello per nuovi sviluppi.