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 dax-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 eseguestampa-dati.stampa-dati/stampa-dati-loop: si posiziona su COGTABEL coneuta-tipo = 58edeuta-cod = tm-rag(st-cogtabel-notmin) e scorre in avanti (rdnxt-cogtabel). Il ciclo termina a fine file, al cambio dieuta-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-desper 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 incogfiles.cpy, stampa inflsta.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-rag7 car. +w-cod-num3 car.).