Vai al contenuto

COGE49 -- Situazione a Saldo

Sorgente: cbl/coge49.cbl | Program-ID: COGE49 | Tipo: Interattivo GUI (stampa)

Menu: Contabilita' > Clienti a Part.Aperte > Stampe > Situazione a Saldo / Contabilita' > Fornit. a Part.Aperte > Stampe > Situazione a Saldo


Scopo

Programma per la stampa della situazione a saldo di clienti o fornitori. Raccoglie i movimenti delle partite aperte tramite COGS77, li legge dal file transito COGWPNO e produce un report sintetico con una riga per soggetto che riporta saldo precedente, dare, avere e saldo risultante. Include totali finali.

Il parametro wo-parametro discrimina: "C" = clienti, "F" = fornitori.


File e tabelle

File/Tabella Tipo Modalita' Descrizione
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)
COGGEANA ana-rec Input Anagrafica generale
FLSTA - Output File stampa
FEURTAB - Input Tabella generica Eurosystem

Copybook utilizzate

Screen Designer

Copybook Descrizione
coge49-01.scr Maschera principale (screen section)
coge49.select SELECT dei file
coge49.fd FD dei file
coge49.wrk Working storage maschera
coge49.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, display maschera
  2. a4: reinizializzazione maschera, caricamento tipo C/F e label soggetto (partenza/arrivo), ricerca parametri partite (cerca-wuta), impostazione visibilita' campi provvisori
  3. Accept parametri: a-tm-mastro -> a-tm-conto -> a-tm-prov (P.Nota provvisoria) -> a-tm-cli-cod-da (soggetto partenza) -> a-tm-cli-cod-a (soggetto arrivo) -> a-tm-data-da -> a-tm-data-a
  4. a-richiesta-conferma: validazione globale, conferma utente, selezione stampante via COGS54, inizializzazione totalizzatori
  5. Elaborazione: chiamata COGS77 per generare file COGWPNO con flag s77-fl-storia = "S" e s77-storiche = "S" per includere partite storiche, apertura COGWPNO
  6. tra-51: loop di lettura record da COGWPNO:
  7. Filtro per mastro/conto e range soggetti (tm-cli-cod-da -> tm-cli-cod-a)
  8. Calcolo saldo precedente: se data movimento < tm-data-da, accumula importo in saldo-prec (segno D positivo, segno A negativo)
  9. Se data nell'intervallo: accumula in saldodare / saldoavere
  10. Conversione divisa tramite COGU10W se necessario
  11. tot-cli: alla rottura di soggetto (mem-cli <> pno-paclie):
  12. Salta soggetti con tutto a zero
  13. Legge ragione sociale da COGGEANA
  14. Calcola saldo risultante: saldo-prec + saldodare - saldoavere
  15. Determina segno: "D" se positivo, "A" se negativo
  16. Stampa riga con: codice, descrizione, saldo precedente, dare, avere, saldo, segno
  17. Accumula in totali globali (cli-dare, cli-avere, tot-prec)
  18. tot-fin: al termine della scansione, stampa riga totali finali con somma di saldo precedente, dare, avere e saldo complessivo
  19. saltop: salto pagina con ristampa intestazione (azienda, tipo, periodo, pagina)
  20. fine-sta: chiusura stampa con COGS54, ritorno ai parametri
  21. fine: chiusura file, exit

Righe di stampa

Riga Contenuto
st1 Intestazione pagina (azienda, tipo C/F, periodo, pagina)
st2 Intestazione colonne (Codice, Ragione Sociale, Saldo precedente, Dare, Avere, Saldo, D/A)
st2-s Linea separatrice (108 underscore)
d1 Dettaglio soggetto: codice (z5), ragione sociale (x35), saldo prec (x14), dare (x14), avere (x14), saldo (x14), segno (x1)

Chiamate esterne

Programma Modalita' Scopo
COGS77 CALL Ricerca partite aperte con storico, 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-cli-cod-da / tm-cli-cod-a Range codici soggetto (0/99999 = tutti)
tm-data-da / tm-data-a Range date
tm-prov / tm-869 Flag inclusione P.Nota provvisoria e sequenza 8-6-9
saldo-prec Saldo precedente (signed) per soggetto corrente
saldodare / saldoavere Accumulatori dare/avere per soggetto corrente nel periodo
cli-dare / cli-avere Accumulatori totali dare/avere
tot-prec Accumulatore totale saldo precedente
w-totale Saldo finale calcolato (signed)
mem-cli Codice soggetto memorizzato per rottura chiave
fl-pno-pro Flag P.Nota provvisoria: "P" provvisoria, "O" operativa
fl-vis-provv Flag visibilita' campo provvisoria: "S" non visibile
k-chr-stampa Larghezza stampa: 132 colonne

Note

  • Programma relativamente semplice (1.364 righe), focalizzato sulla generazione di un report sintetico
  • A differenza di COGE48 (partitario), non mostra il dettaglio dei movimenti ma solo il saldo complessivo per soggetto
  • La richiesta delle partite a COGS77 include il flag s77-fl-storia = "S" e s77-storiche = "S" per garantire il calcolo corretto del saldo precedente sommando anche i movimenti storici antecedenti alla data inizio
  • Il campo tm-prov non e' visibile se az-ges-ip non e' "S" (gestione inter-provvisoria non attiva)