COGC14 — Stampa Bilancio Aziendale Contrapposto¶
Sorgente: cbl/cogc14.cbl | Tipo: stampa/report batch (con maschera di selezione) | Program-ID: cogc14
Menu: Contabilita' > Prima Nota > Stampe > Bilancio Aziendale Contrapposto
Scopo¶
Stampa il bilancio di verifica in forma contrapposta: espone in due colonne affiancate la Situazione Patrimoniale (Attivita' | Passivita') e il Conto Economico (Componenti passivi | Componenti attivi di reddito). Per ogni conto calcola il saldo (dare - avere) sommando i saldi progressivi contabilizzati (COGSLPCO) e la prima nota non contabilizzata (COGPNONC), classificandolo come patrimoniale o di reddito in base al flag pco-reddito del piano dei conti (COGPNCON), e come attivo/passivo in base al segno del saldo.
L'operatore sceglie il periodo (tm-datasi-da/tm-datasi-a), l'esercizio (corrente o precedente tm-esprec), il livello di dettaglio (mastro/conto/sottoconto tm-tipobil), l'inclusione di provvisori (tm-prov), la stampa con anagrafica, i saldi a zero, un singolo mastro, la divisa, l'esclusione di documenti specifici e il bilancio per data competenza/registrazione. L'output puo' essere cartaceo, Excel/CSV (fileasc) o modello Word/area report (WORDMDL risolto via COGPA3). Quando la data fino a cui si stampa e' inferiore alla data di contabilizzazione, il programma legge solo l'archivio contabilizzato (read-cont su COGCOATT), escludendo saldi e non contabilizzato.
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
COGTABEL (feurtab) |
cogfiles.cpy |
Tabella esercizio (euta-tipo 66 → conta-rec) ed esercizi precedenti (euta-tipo "AF") |
COGSLPCO |
cogcont1.cpy (con-rec) |
Saldi progressivi per conto (con-prodare/con-proavere, con-anno, con-currency) |
COGPNONC |
cogpnonc.cpy |
Prima nota non contabilizzata (movimenti da sommare ai saldi) |
COGPNCON |
cogcont1.cpy (pco-rec) |
Piano dei conti: descrizione, pco-reddito (R = conto di reddito) |
COGCOATT |
cogcoatt.cpy |
Archivio prima nota contabilizzata (percorso "solo contabilizzato" via read-cont) |
COGGEANA |
(feurtab / cogfiles) | Anagrafica: nome intestatario se conto anagrafico (search-anag) |
cogtrans |
inline (trs-rec) |
File di transito indicizzato: saldi accumulati per conto (chiave red/mastro/conto/sottoconto) |
cogtrans2 |
inline (trs2-rec) |
Transito lato Attivita'/Attivo di reddito (saldi positivi) |
cogtrans3 |
inline (trs3-rec) |
Transito lato Passivita'/Passivo di reddito (saldi negativi) |
fileasc |
inline (asc-rec) |
File CSV di export Excel (titolo, attivo/passivo, mastro/conto/sottoconto, descrizione, saldo) |
Copybook di working/servizio: cogazien.cpy, cogconta.cpy, utils52.cpy (date COGS52W), utils54.cpy (stampante COGS54), utilu10.cpy/k-u10.cpy (conversione importi in divisa via z-u10), utilncnf.cpy (config RNEWCONF), utilwordmdl.cpy/utilcogpa3.cpy (WORDMDL/COGPA3), utilcogsc1.cpy (COGSC1), wopenf.cpy. Selezione esercizio via WIN157; export griglia via GRIDTOXS.
Flusso principale¶
apri—rd-azi,open-files, lettura configurazione (x99-confi: area report attiva).a4...a-tm-prov— maschera di selezione: date da/a, esercizio precedente, bilancio parziale, tipo (mastro/conto/sottoconto), stampa mastri, saldi a zero, anagrafica, mastro singolo, divisa, provvisori/869, esclusione documenti (tm-escl-ndoc*), data registrazione/competenza. Validazione viax-controlla-*.a-riga-fine— conferma: se area report attiva risolve il modello Word (COGPA3tipCOGC14, tabelleTAB-DET/TAB-DE2); apre la periferica (COGS54) o conferma export Excel. Imposta l'esercizio (corrente o precedente) e il flag provvisori (fl-pno-pro).- Percorso solo contabilizzato — se
tm-datasi-a < dachiuro bilancio parziale:read-contleggeCOGCOATT, applica esclusioni documento e conversione divisa, aggiorna il transito (upd-transito), poi salta aelabora01. leggi01— scansione saldiCOGSLPCO: filtra per esercizio, livello di dettaglio, mastro singolo; verifica il conto sul piano conti (ctr-pno); converte gli importi nella divisa richiesta (z-u10); calcola il saldo dare-avere e aggiorna il transito (upd-transito).leggi50/leggi60/leggi70— scansione prima nota non contabilizzataCOGPNONC: applica filtri provvisori/mastro/data (con gestione data effettiva per conti di reddito e competenza esercizio precedente), legge il piano conti per il flag reddito, calcola il contributo al saldo e aggiorna il transito.elabora01/rld-transito— riclassifica i saldi accumulati:upd-tra-a/upd-tra-pdistribuiscono i conti nei transiticogtrans2(attivo) ecogtrans3(passivo) secondo il segno;tratta-patrimoniale-a/petratta-reddito-a/pinterroganoCOGPNCON(pco-reddito) e instradano ogni conto nella sezione corretta (scrivi-patrimoniale-*/scrivi-reddito-*).stadet/b5-riga-standard/b5-riga2-standard— stampa contrapposta con intestazione (rig0...rig2-4), dettaglio conti a sinistra e destra, totali di sezione e differenza; oppure scrittura sufileasc(Excel) o generazione XML per WORDMDL (scrivi-tag, tagTIPO-MOD, righe con stile font).fine/z-chiudi— chiusura stampante/file, cancellazione transiti, uscita.
Sottoprogrammi chiamati¶
| Programma | Ruolo |
|---|---|
COGS54 |
Apertura/gestione periferica di stampa e parametri di pagina |
COGS52W |
Editing/validazione date |
COGU10W |
Editing/conversione importi in divisa (via z-u10) |
WIN157 |
Selezione esercizio contabile precedente (F8) |
COGPA3 |
Risoluzione modello Word/area report e tabelle di dettaglio (TAB-DET/TAB-DE2) |
WORDMDL |
Generazione stampa su modello Word/XML |
COGSC1 |
Servizio contabile/sconti |
GRIDTOXS |
Export griglia verso foglio elettronico |
RNEWCONF |
Lettura configurazione |
C$JUSTIFY |
Allineamento stringhe (routine ACUCOBOL) |
Note¶
- La classificazione patrimoniale vs reddito dipende esclusivamente dal flag
pco-redditodel mastro sul piano dei conti (COGPNCON):"R"→ conto economico, diverso da"R"→ stato patrimoniale. L'assegnazione attivo/passivo dipende dal segno del saldo accumulato nei due transiticogtrans2/cogtrans3. - Per i conti di reddito la logica di competenza (
tm-esprec,pno-dataeff) esclude/include i movimenti dell'anno precedente in base alla data effettiva; per i conti patrimoniali sono considerati anche i movimenti dell'esercizio precedente. - Quando la data finale e' anteriore alla data di contabilizzazione (
dachiur) o si richiede il bilancio parziale, viene letto solo l'archivio contabilizzato (COGCOATT), non i saldi progressivi ne' la p.nota non contabilizzata. - Se un conto movimentato manca sul piano dei conti (
ctr-pno→errore-pno) viene segnalato con messaggio ma l'elaborazione prosegue. - Sorgente in stile legacy: uso estensivo di
GO TO(leggi01/leggi60/leggi70,read-cont*) ePERFORM ... THRU(es.rld-transito thru ex-rld-transito,tratta-patrimoniale-a thru ex-...). Da non replicare nel nuovo codice. source-computer/object-computersonoacu-cobol: programma di vecchia conversione Windows (2004).