Vai al contenuto

COGP52 -- Raggruppamenti T.O.

Sorgente: cbl/cogp52.cbl | Program-ID: COGP52 | Menu: Contabilita' > Archivi & Tabelle > Tabelle > Stampe > Raggruppamenti T.O.

Descrizione

Stampa la tabella dei raggruppamenti T.O. (totalizzatori/tipi operazione) contabili. I dati sono letti dalla tabella generale COGTABEL (feurtab), tipo 58, la cui chiave (euta-cod) e' composta da un codice raggruppamento (7 caratteri) piu' un numero T.O. (3 caratteri). L'utente puo' stampare l'intera tabella oppure limitarla a un singolo raggruppamento inserito nella maschera (con aiuto F8 tramite WIN052). La stampa e' raggruppata per codice raggruppamento, con una riga di testata "Raggruppamento :" a ogni rottura.

File e tabelle

File/Tabella Accesso Descrizione
FEURTAB (COGTABEL) Indexed, input Tabella generale: raggruppamenti T.O. (tipo 58)
FLSTA Output stampa File di stampa (riga da 132 caratteri, k-chr-stampa)

Sottoprogrammi chiamati

Programma Scopo
COGS54 Gestione output stampa (selezione stampante/anteprima/file), chiusura con s54-after-print = "S"
WIN052 Aiuto F8 sul campo raggruppamento: restituisce in w52-out il codice selezionato
COGS99W Subroutine di edit/descrizione del codice T.O. (via z-s99-tm-cod), usata in cerca-des per ricavare descrizione ed edit del numero T.O.

Logica di elaborazione

  • apri: inizializzazione maschera, apertura file, lettura azienda; abilita F8 (aiuto) e F3 (conferma); carica la maschera popup (rd-msk-pop).
  • a-tm-rag: accept del campo raggruppamento (e-tm-rag). F8 richiama WIN052; il valore inserito e' validato da x-controlla-tm-rag (verifica che esista almeno un record tipo 58 con quel raggruppamento). Campo vuoto = stampa completa.
  • a-riga-fine: conferma parametri (x-imposta-conferma) e chiamata a COGS54 per la destinazione di stampa; poi esegue stampa-dati.
  • stampa-dati / stampa-dati-loop: si posiziona su COGTABEL con euta-tipo = 58 ed euta-cod = tm-rag (st-cogtabel-notmin) e scorre in avanti (rdnxt-cogtabel). Il ciclo termina a fine file, al cambio di euta-tipo, oppure quando il raggruppamento (w-cod-rag, primi 7 caratteri della chiave) non corrisponde piu' al filtro richiesto.
  • alla rottura di raggruppamento (w-cod-rag not = dep-cod-rag) stampa una riga vuota e la testata "Raggruppamento : ";
  • per ogni riga chiama cerca-des per ottenere descrizione ed edit del numero T.O. e stampa il dettaglio (r-det: numero T.O. + descrizione).
  • cerca-des: salva la chiave corrente, invoca COGS99W (z-s99-tm-cod) con il numero T.O. (w-cod-num) per ottenere codice editato (rd-cod) e descrizione (rd-descr); se non trovato stampa asterischi; poi ripristina il posizionamento su COGTABEL per proseguire lo scorrimento.
  • stampa-testa / stp-riga: intestazione (ragione sociale, titolo "Stampa tabella raggruppamenti per T.O.", data, numero pagina) e conteggio righe/gestione salto pagina (max-righe = s54-stm-lin - 10).
  • stampa-dati-fine: finalizzazione stampa via COGS54.

Note

  • E' un programma di stampa di tabella con un unico filtro opzionale (codice raggruppamento) e raggruppamento fisso per raggruppamento T.O.
  • Copybook file/screen: cogp52.select, cogp52.fd, cogp52.wrk, cogp52.decla, cogp52.prc, cogp52-01.scr; struttura tabella generale in cogfiles.cpy, stampa in flsta.fd/flsta.cpy.
  • Copybook di utilita': utils54.cpy (COGS54), utilw52.cpy (WIN052), utils99.cpy (COGS99W).
  • La chiave della tabella e' scomposta localmente in w-cod (w-cod-rag 7 car. + w-cod-num 3 car.).