COGE48 -- Partitario
Sorgente: cbl/coge48.cbl | Program-ID: COGE48 | Tipo: Interattivo GUI (stampa)
Menu: Contabilita' > Clienti a Part.Aperte > Stampe > Partitario / Contabilita' > Fornit. a Part.Aperte > Stampe > Partitario
Scopo
Programma per la stampa del partitario clienti o fornitori. Raccoglie i movimenti delle partite aperte tramite COGS77, li legge dal file transito COGWPNO e produce un report stampato con dettaglio per soggetto e partita, indicazione dello stato aperta/chiusa, saldo residuo per partita, subtotali per soggetto e totali finali.
Il parametro wo-parametro discrimina: "C" = clienti, "F" = fornitori.
File e tabelle
| File/Tabella |
Tipo |
Modalita' |
Descrizione |
| COGPARTI |
par-rec |
I-O |
Partitario clienti/fornitori |
| COGWPNO |
wpn-rec |
I-O |
Working prima nota (transito da COGS77) |
| COGPNCON |
pco-rec |
Input |
Piano dei conti |
| COGTABEL |
euta-rec |
Input |
Tabelle di sistema (tipo 66: esercizio, tipo 65: tipo operazione) |
| COGGEANA |
ana-rec |
Input |
Anagrafica generale |
| FLSTA |
- |
Output |
File stampa |
| FEURTAB |
- |
Input |
Tabella generica Eurosystem |
Copybook utilizzate
Screen Designer
| Copybook |
Descrizione |
coge48-01.scr |
Maschera principale (screen section) |
coge48.select |
SELECT dei file |
coge48.fd |
FD dei file |
coge48.wrk |
Working storage maschera |
coge48.decla |
Declaratives |
Strutture dati
| Copybook |
Descrizione |
cogfiles.cpy |
FD feurtab |
cogwpno.cpy |
Working prima nota |
cogazien.cpy |
Dati azienda |
cogconta.cpy |
Struttura conti |
cogpnonc.cpy |
Prima nota non contabilizzata |
flsta.cpy |
File stampa |
k-u10.cpy |
Costanti COGU10 |
wgrave.cpy / wnscr.cpy / wopenf.cpy / wstato.cpy |
Working storage comuni |
Utility e interfacce
| Copybook |
Descrizione |
utils52.cpy |
Interfaccia COGS52 (calendario) |
utils54.cpy |
Interfaccia COGS54 (stampa) |
utils65.cpy |
Interfaccia COGS65 (ricerca anagrafica) |
utils77.cpy |
Interfaccia COGS77 (ricerca partite) |
utilu10.cpy |
Utility divisa/formattazione |
Linkage
| Copybook |
Descrizione |
wcont.cpy |
Struttura stringhe |
wcont1.cpy |
Struttura stringhe estesa |
Struttura del programma
Flusso principale
apri: inizializzazione, apertura file, lettura azienda, configurazione tasti funzione (F8 aiuto, F3 conferma, F8 calendario, F9 ricerca avanzata), lettura esercizio contabile (COGTABEL tipo 66), lettura divisa conto (get-divisa-conto), display maschera, caricamento lingua (x-carica-lingua)
a4: reinizializzazione maschera, caricamento tipo C/F, ricerca parametri partite (cerca-wuta), impostazione visibilita' campi
- Accept parametri:
a-tm-mastro -> a-tm-conto -> a-tm-cod (codice soggetto) -> a-tm-partite (A/C/tutte) -> a-tm-prov (P.Nota provvisoria) -> a-tm-data-da -> a-tm-data-a -> a-tm-st-pag (salto pagina)
a-richiesta-conferma: validazione globale (mastro, conto, codice, date), conferma utente, selezione stampante via COGS54
una-00: avvio elaborazione, inizializzazione totali, chiamata COGS77 per generare il file di partite, apertura COGWPNO
tra-51 -> tra-52: loop di lettura record da COGWPNO, filtro per mastro/conto/date/codice, conversione divisa (COGU10W), accumulo dare/avere per partita
new-par -> new-pab: alla rottura di partita (cambio anno/tipo/numero/scadenza/soggetto), stampa dettaglio e riepilogo "Partita Aperta" o "Partita Chiusa"
tot-cli: alla rottura di soggetto, stampa subtotali dare/avere del soggetto
tot-tot: al termine, stampa totali finali
saltop: salto pagina con ristampa intestazione
fine-sta: chiusura stampa con COGS54, ritorno ai parametri
fine: chiusura file, exit
Logica di rottura chiave
Il ciclo tra-51 -> tra-52 rileva rotture su 5 livelli:
- Cambio soggetto (mem-cli <> pno-paclie) -> tot-cli + new-par
- Cambio anno partita (mem-anno <> pno-panno) -> new-par
- Cambio tipo partita (mem-patipo <> pno-patipo) -> new-par
- Cambio numero partita (mem-panpart <> pno-panpart) -> new-par
- Cambio scadenza (mem-sca <> pno-paprogsca) -> new-par
Righe di stampa
| Riga |
Contenuto |
st1 |
Intestazione pagina (azienda, tipo, periodo, pagina) |
st2 |
Intestazione colonne (Cliente, Partita, Data, Valuta, Docum, TO, Operazione, Dare, Avere) |
st2-s |
Linea separatrice |
d1 |
Dettaglio movimento (cliente, partita, data, valuta, documento, tipo op., descrizione, dare, avere) |
d2 |
Riepilogo partita ("Partita Aperta"/"Partita Chiusa" con saldo) |
Chiamate esterne
| Programma |
Modalita' |
Scopo |
| COGS77 |
CALL |
Ricerca partite aperte, genera file COGWPNO |
| COGS54 |
CALL |
Gestione stampa (selezione stampante, formato) |
| COGS52W |
CALL |
Calendario (date picker) |
| COGS65W |
CALL |
Ricerca anagrafica clienti/fornitori |
| COGU10W |
CALL |
Formattazione importi, conversione divise |
Variabili di stato principali
| Variabile |
Descrizione |
dep-tipo |
Tipo soggetto: "C" = clienti, "F" = fornitori |
tm-mastro / tm-conto |
Codici piano dei conti |
tm-cod |
Codice soggetto (0 = tutti) |
tm-partite |
Tipo partite: "A" aperte, "C" chiuse, altro = tutte |
tm-data-da / tm-data-a |
Range date |
tm-prov / tm-869 |
Flag inclusione P.Nota provvisoria e sequenza 8-6-9 |
tm-st-pag |
Flag salto pagina per soggetto: "S"/"N" |
saldodare / saldoavere |
Accumulatori dare/avere per partita |
cli-dare / cli-avere |
Accumulatori dare/avere per soggetto |
tot-dare / tot-avere |
Accumulatori dare/avere totali |
mem-cli / mem-anno / mem-patipo / mem-panpart / mem-sca |
Campi memorizzati per rilevare rotture chiave |
fl-pno-pro |
Flag P.Nota provvisoria: "P" provvisoria, "O" operativa |
k-chr-stampa |
Larghezza stampa: 136 colonne |
Note
- Programma di media complessita' (1.730 righe)
- Utilizza un buffer di righe (
ele-riga, 99 righe x 120 caratteri) per accumulare le righe di dettaglio prima della stampa di riepilogo partita
- La stampa supporta la gestione partite aperte/chiuse con filtraggio selettivo
- NOTA: il codice contiene un blocco di aggiornamento
par-fl-chiu per l'anno 2022 nel paragrafo apri -- si tratta di una correzione dati storica (forza lo stato "A" sulle partite di tipo "C" anno 2022 precedentemente chiuse)