Vai al contenuto

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.

  1. Apertura (apri): apre i file di lavoro (lavlav/lavsal); se lavsal non esiste (status 35) segnala "Archivio Inesistente". Registra la configurazione area-report-attivo via COGSC1 e la legge via RNEWCONF (x99-confi, gruppo stampe, sottochiave = program-id).
  2. Conferma (a-riga-fine): se area-report-attivo = "S" e non Excel, chiama COGPA3 per ottenere il modello Word/Area-Report e individua l'indice della tabella dettaglio TAB-DET; imposta w-eseguo-stampa-wordmdl. Altrimenti seleziona periferica via COGS54.
  3. 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.
  4. Scansione voci (a009-a999): start/read next su LAVLAV per modello/quadro. Per ogni voce edita lav-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 gerarchica rdet1 con numerazione romana/araba/alfabetica (tabelle tab-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 da st-des.
  5. Dettaglio conti (a012): se tm-contab = "S", per ogni voce CEE scorre COGPCCEE per i conti associati, legge i saldi da LAVSAL per anno corrente/precedente (filtrando per cee-flform = "C" in base al segno cee-oper), legge descrizione conto da COGPNCON e stampa la riga rdet4.
  6. Intestazione (intesta): recupera cliente interno da COGGEANA; gestisce salto pagina e conteggio righe su s54-stm-lin.
  7. 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/lavsal sono 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.