Vai al contenuto

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

  1. 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)
  2. a4: reinizializzazione maschera, caricamento tipo C/F, ricerca parametri partite (cerca-wuta), impostazione visibilita' campi
  3. 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)
  4. a-richiesta-conferma: validazione globale (mastro, conto, codice, date), conferma utente, selezione stampante via COGS54
  5. una-00: avvio elaborazione, inizializzazione totali, chiamata COGS77 per generare il file di partite, apertura COGWPNO
  6. tra-51 -> tra-52: loop di lettura record da COGWPNO, filtro per mastro/conto/date/codice, conversione divisa (COGU10W), accumulo dare/avere per partita
  7. new-par -> new-pab: alla rottura di partita (cambio anno/tipo/numero/scadenza/soggetto), stampa dettaglio e riepilogo "Partita Aperta" o "Partita Chiusa"
  8. tot-cli: alla rottura di soggetto, stampa subtotali dare/avere del soggetto
  9. tot-tot: al termine, stampa totali finali
  10. saltop: salto pagina con ristampa intestazione
  11. fine-sta: chiusura stampa con COGS54, ritorno ai parametri
  12. 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)