Vai al contenuto

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 66conta-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

  1. aprird-azi, open-files, lettura configurazione (x99-confi: area report attiva).
  2. 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 via x-controlla-*.
  3. a-riga-fine — conferma: se area report attiva risolve il modello Word (COGPA3 tip COGC14, tabelle TAB-DET/TAB-DE2); apre la periferica (COGS54) o conferma export Excel. Imposta l'esercizio (corrente o precedente) e il flag provvisori (fl-pno-pro).
  4. Percorso solo contabilizzato — se tm-datasi-a < dachiur o bilancio parziale: read-cont legge COGCOATT, applica esclusioni documento e conversione divisa, aggiorna il transito (upd-transito), poi salta a elabora01.
  5. leggi01 — scansione saldi COGSLPCO: 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).
  6. leggi50 / leggi60 / leggi70 — scansione prima nota non contabilizzata COGPNONC: 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.
  7. elabora01 / rld-transito — riclassifica i saldi accumulati: upd-tra-a/upd-tra-p distribuiscono i conti nei transiti cogtrans2 (attivo) e cogtrans3 (passivo) secondo il segno; tratta-patrimoniale-a/p e tratta-reddito-a/p interrogano COGPNCON (pco-reddito) e instradano ogni conto nella sezione corretta (scrivi-patrimoniale-* / scrivi-reddito-*).
  8. 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 su fileasc (Excel) o generazione XML per WORDMDL (scrivi-tag, tag TIPO-MOD, righe con stile font).
  9. 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-reddito del 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 transiti cogtrans2/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-pnoerrore-pno) viene segnalato con messaggio ma l'elaborazione prosegue.
  • Sorgente in stile legacy: uso estensivo di GO TO (leggi01/leggi60/leggi70, read-cont*) e PERFORM ... THRU (es. rld-transito thru ex-rld-transito, tratta-patrimoniale-a thru ex-...). Da non replicare nel nuovo codice.
  • source-computer/object-computer sono acu-cobol: programma di vecchia conversione Windows (2004).