Vai al contenuto

COG002 -- Causali P.Nota

Sorgente: cbl/cog002.cbl | Tipo: Programma di stampa | Program-ID: COG002

Menu: Contabilita' > Archivi & Tabelle > Tabelle > Stampe


Scopo

Stampa dell'elenco delle causali contabili (tipi operazioni contabili). Il programma carica le causali da COGTABEL (tipo 65) in un file di transito temporaneo, quindi le stampa ordinate per codice o per descrizione a scelta dell'utente.

File e tabelle

File/Tabella Tipo Descrizione
COGTABEL (FEURTAB) Indexed, I-O Tabella generale: causali contabili (tipo 65)
COGTRANS Indexed, I-O File di transito temporaneo (chiave primaria = codice, chiave alternata = descrizione)
FLSTA Sequential, Output File di stampa

Copybook principali

  • cog002.wrk / cog002.select / cog002.fd / cog002.prc / cog002.decla - Screen designer
  • cogfiles.cpy - Definizione file tabella generale
  • cogazien.cpy - Dati azienda (ragione sociale per intestazione)
  • utils54.cpy - Gestione output stampa (COGS54)
  • cogtrans.k01 / cogtrans.k02 - Routine I/O file transito (chiave primaria e secondaria)
  • wstato.cpy / wgrave.cpy / wopenf.cpy / wnscr.cpy - Working storage standard

Struttura del programma

Record file transito (COGTRANS)

trs-rec:
  trs-chia1:
    trs-codr     PIC X(03)    -- codice causale
  trs-chia2:
    trs-descr    PIC X(35)    -- descrizione causale

Chiave primaria: trs-chia1 (codice). Chiave alternata con duplicati: trs-chia2 (descrizione).

Paragrafi principali

Paragrafo Funzione
apri Inizializzazione, apertura file, creazione file transito in directory temporanea
a4 Inizializzazione maschera, default ordinamento "C" (per codice)
a-tm-tipo-stp Accept tipo ordinamento (C=codice, D=descrizione)
a-riga-fine Validazione, chiamata COGS54 per selezione destinazione stampa
carica-transito Lettura causali da COGTABEL tipo 65, scrittura in file transito
stampa-dati Posizionamento su file transito (chiave 1 o 2 in base all'ordinamento), loop di stampa
stampa-testa Intestazione pagina: azienda, data, titolo, numero pagina
stampa-riga Stampa singola riga: codice + descrizione

Flusso di elaborazione

  1. Il programma crea un file di transito temporaneo nella directory temp con nome #$COG002.<operatore>.
  2. Legge tutte le causali da COGTABEL tipo 65 (loop carica-transito) e le scrive nel file transito. I codici alfanumerici mantengono gli zeri iniziali, quelli numerici li rimuovono.
  3. In base al tipo ordinamento scelto:
  4. "C" (codice): posizionamento su chiave primaria (st-cogtrans-notmin)
  5. "D" (descrizione): posizionamento su chiave alternata (st-cogtrans-notmin-chia2)
  6. Legge sequenzialmente il file transito e stampa ciascun record.
  7. A fine stampa, chiama COGS54 con s54-after-print = "S" per finalizzare.

Logica di elaborazione

Formato stampa

  • Larghezza: 78 caratteri (k-chr-stampa)
  • Intestazione: ragione sociale azienda, titolo "TIPI OPERAZIONI CONTABILI", data, numero pagina
  • Dettaglio: codice (3 car.) + descrizione (40 car.) indentati

Gestione file transito

Il file transito e' creato nella directory temporanea con nome univoco per operatore, cosi' piu' operatori possono usare la funzione contemporaneamente. Viene cancellato (DELETE) alla chiusura.

CALL esterne

Programma Scopo
COGS54 Gestione output stampa (selezione stampante, anteprima, file)