Vai al contenuto

COGH04 -- Prospetto C.E.E.

Sorgente: cbl/cogh04.cbl | Tipo: Programma di stampa | Program-ID: COGH04

Menu: Contabilita' > Bilancio > Riclass. IV Direttiva C.E.E. > Prospetto C.E.E.


Scopo

Stampa il prospetto di bilancio riclassificato secondo la IV Direttiva C.E.E. Scorre la tabella di riclassificazione (COGPCCEE) e produce un report con la struttura gerarchica prevista dalla normativa, opzionalmente includendo il dettaglio dei conti del piano dei conti collegati.


File e Tabelle

File/Tabella Copybook Uso
COGTABEL feurtab.fd, cogfiles.cpy Tabella generica contabilita'
COGPCCEE (da cogh04.select) Riclassificazione C.E.E. -- tabella principale, scansione sequenziale
COGPNCON (da cogh04.select) Piano dei conti -- lettura descrizione conti collegati

Interfaccia utente

Maschera (tab-maschera)

Campo Tipo Descrizione
tm-modello 9(03) Codice modello (0 = tutti)
tm-desc1 x(40) Descrizione modello
tm-quadro 9(02) Codice quadro (0 = tutti)
tm-desc2 x(26) Descrizione quadro
tm-stpco x(01) Stampa conti collegati (S/N)

Struttura del programma

Flusso principale

  1. Inizializzazione (apri): apre file, imposta parametri
  2. Input parametri (a-tm-modello, a-tm-quadro, a-tm-stpco): modello, quadro, flag stampa conti
  3. Validazione (a-riga-fine): verifica modello e quadro, chiama COGS54 per selezione stampante
  4. Elaborazione (a009 - a011): posizionamento su COGPCCEE, scansione e stampa
  5. Chiusura (a999): fine stampa

Posizionamento iniziale (a009)

  • Se tm-modello = 0: posiziona su low-value (tutti i modelli)
  • Se tm-quadro = 0: posiziona su modello con quadro e livelli a zero
  • Altrimenti: posiziona su modello + quadro specifico

Scansione e stampa (a011)

Scorre COGPCCEE sequenzialmente. Per ogni record:

  1. Verifica rottura modello e quadro
  2. Gestisce il cambio quadro (s-quadro not = cee-quadro): stampa intestazione quadro tramite intesta
  3. Stampa la voce in base al livello gerarchico presente nel record

Gerarchia dei livelli

Il record COGPCCEE contiene i seguenti livelli gerarchici, verificati in ordine di priorita':

Campo Livello Formato stampa
cee-letmi2 Lettera minuscola 2 rd1min2 (numero) + descrizione
cee-letmi1 Lettera minuscola 1 rd1min1 (lettera da elemin) + descrizione
cee-numar2 Numero arabo 2 rd1ara2 (numero) + descrizione
cee-numar1 Numero arabo 1 rd1ara1 (numero) + descrizione
cee-numro Numero romano rd1rom (da elerom) + descrizione
cee-letma Lettera maiuscola rd1mai (da elemai) + descrizione
cee-quadro Quadro ri2tip + descrizione (rint2)
cee-prdes Descrizione/Formula parentesi + descrizione + importo (st-des)
cee-mastro Conto collegato stampa conti piano dei conti (st-pco)

Tabelle di conversione

Il programma utilizza tabelle interne per la conversione dei codici numerici in formato visualizzato:

  • tab-maiusc / elemai: 21 lettere maiuscole italiane (A-Z senza J,K,W,X,Y)
  • tab-romani / elerom: numeri romani da I a XXI
  • tab-minusc / elemin: 21 lettere minuscole italiane

Tipo voce (cee-flform)

Valore Significato Stampa
S Formula "Formula" -- nessun segno (D-A/A-D)
C Controllo saldo "Controllo saldo"
N No Formula "No Forumla" (sic, typo nel sorgente)
P Valore da prelevare "Valore da prelevare"

Segno operazione (cee-oper)

  • D: Dare meno Avere -- stampa "(D-A)"
  • Altro: Avere meno Dare -- stampa "(A-D)"

Stampa conti collegati (st-pco)

Quando tm-stpco = "S" e il record ha cee-mastro > 0:

  1. Legge il conto dal piano dei conti (COGPNCON) con cee-mastro/cee-conto/cee-sconto
  2. Stampa mastro/conto/sottoconto con descrizione e segno operazione

Stampa formule/descrizioni (st-des)

Quando cee-prdes > 0:

  • Se cee-flform = "S": stampa solo la descrizione (senza parentesi)
  • Altrimenti: stampa la descrizione con l'importo formattato (cee-impo) tra parentesi

Righe di stampa

Record Uso
rint1 Intestazione: modello, titolo, data, pagina
rint2 Intestazione quadro
rdet1 Dettaglio voce: lettera/numero + descrizione + segno + tipo + progressivo
rdet2 Dettaglio conto piano dei conti
rdet3 Descrizione/formula con importo

Progressivo (w-rd1prog)

Contatore progressivo incrementato per ogni voce stampata (campo rd1prog nella riga di dettaglio). Reset a zero all'inizio dell'elaborazione.


Chiamate esterne

Programma Scopo
COGS54 Gestione selezione stampante e stampa
COGU10W Formattazione importi (per formule con importo)

Copybook utilizzate

  • cogh04.select, cogh04.fd, cogh04.wrk, cogh04.prc, cogh04.decla, cogh04-01.scr -- Definizioni generate da Screens
  • cogfiles.cpy -- Record tabella generica
  • flsta.fd, flsta.cpy -- File di stampa
  • utils54.cpy -- Interfaccia COGS54
  • utilu10.cpy, k-u10.cpy -- Interfaccia COGU10W
  • cogazien.cpy -- Dati azienda
  • wstato.cpy, wopenf.cpy, wgrave.cpy, wnscr.cpy -- Copybook standard

Note tecniche

  • Il sorgente contiene un typo nella stringa "No Forumla" (dovrebbe essere "No Formula") ripetuto in piu' punti.
  • La gestione delle pagine prevede un massimo di 54 righe per pagina (ctr-rig > 54), dopo le quali viene stampata una nuova intestazione.
  • Sono presenti righe commentate con prefisso temp*** relative alla gestione della rottura per modello, attualmente disabilitata: la rottura avviene solo per quadro.
  • Le righe con prefisso 010816 sono state aggiunte il 16/08/2010 per il campo progressivo w-rd1prog/rd1prog.
  • Il programma chiude con exit program (non goback), coerente con lo stile dei programmi standalone.

Documentazione tecnica -- 2026-04-16