Vai al contenuto

COGP91 — Stampa Tabelle Ammortamenti (Cespiti)

Sorgente: cbl/cogp91.cbl | Tipo: interattivo a maschera + stampa | Program-ID: cogp91

Menu: Contabilita' > Cespiti > Stampe > Tabelle Ammortamenti


Scopo

Stampa i parametri aziendali dei cespiti e le tabelle delle percentuali d'ammortamento. Produce due sezioni distinte:

  1. Parametri Aziendali — dai record di tabella cespiti con tipo 99 e gruppo/specie a zero (euta-ces-gruppo, euta-ces-specie, descrizione, anni ammortamento anticipato nuovi/usati, riduzione ammortamento primo anno, soglia beni ammortizzati interamente primo anno, tipo di ammortamento).
  2. Percentuali d'Ammortamento — dai record di tipo 99 con progressivo euta-ces-1-prg valorizzato: per ciascun gruppo, secondo il valore del progressivo (1, 2 o 3), stampa data decreto ministeriale, categoria, percentuali standard/anticipato/accelerato/ridotto ed esubero spese, oppure i conti (mastro/conto/sottoconto) collegati con descrizione risolta dal piano dei conti.

File e tabelle principali

File/Tabella Copybook Uso
COGTABEL (in opengen) Tabella cespiti (euta-rec, tipo 99): parametri aziendali e percentuali d'ammortamento; scansione con rottura su tipo/gruppo/specie
COGPNCON (in opengen) Piano dei conti: rd-cogpncon per risolvere la descrizione dei conti collegati (call-descrizione, campi app-mas/app-con/app-sco)
flsta flsta.fd / flsta.cpy File di stampa

Flusso principale

Il programma e' guidato da un gestore di posizionamento p000 pilotato dalla variabile ex-flag, eseguito nel loop perform p000 until (ex-flag = 99):

  1. a000 — apertura file, caricamento lingua/azienda, lettura data di sistema; ex-flag = 1.
  2. p010 (flag 1) — chiamata a COGS54 (call-cogs54) fino a F3/F2/ESC; su ESC o F2 termina (ex-flag = 99).
  3. p030 (flag 3) — messaggio "Attendere... Stampa in Corso", azzeramento contatori; ex-flag = 5.
  4. p050 (flag 5) — transizione a ex-flag = 7.
  5. p070 (flag 7) — ricerca parametri aziendali su COGTABEL (tipo 99, gruppo/specie 0) ed esecuzione stampa-parametri; ex-flag = 9.
  6. p090 (flag 9) — scansione delle percentuali d'ammortamento; per ogni riga valuta euta-ces-1-prg e chiama stampa-ammortamento-01/-02/-03; ex-flag = 11.
  7. p110 (flag 11) — chiusura stampa (s54-after-print, COGS54), rimozione messaggio; ex-flag = 99.
  8. fine / z-chiudi — chiusura COGPNCON e COGTABEL, z-99-exit-program, exit program.

Paragrafi di stampa: stampa-parametri, stampa-ammortamento-01/02/03, call-descrizione (descrizione conto dal piano dei conti), stampa-riga (write con gestione salto pagina) e intesta (intestazione con data, titolo e numero pagina, differenziata per type-stampa 1=parametri / 2=percentuali).

Sottoprogrammi chiamati

Programma Ruolo
COGS54 Selezione periferica di stampa / anteprima (call-cogs54, s54-after-print a fine stampa)

Note

  • E' una subroutine con maschera (usa mmsubw.cpy, non mmmask.cpy): source-computer/object-computer sono pc-sperry.
  • L'intero flusso di stampa e' orchestrato tramite la macchina a stati ex-flag/p000 (EVALUATE con perform p0xx), evitando i PERFORM THRU nei paragrafi di corpo; le scansioni di COGTABEL usano PERFORM UNTIL con rdnxt-cogtabel per posizionarsi sul primo record utile e per iterare.
  • Il salto pagina in stampa-riga e' governato dal confronto ctr-riga > (s54-stm-lin - 12); la prima tabella ammortamento (n-of-ammort = 1) forza il salto pagina saturando ctr-riga per separare i parametri aziendali dalle percentuali.
  • call-descrizione imposta il flag ok/fl-bool in base al ritrovamento del conto sul piano dei conti; le righe conto vengono stampate solo se la descrizione e' trovata.
  • Nessuna configurazione RNEWCONF utilizzata.