Vai al contenuto

COG003 - Inserimento Conti Preventivi

Sorgente: cbl/cog003.cbl | Program-ID: cog003 | Tipo: Programma interattivo (standalone)

Menu: Contabilita' > Prima Nota > Inserimento Conti Preventivi


Scopo

Gestione del bilancio preventivo: consente di visualizzare in griglia i conti (anagrafici o di piano dei conti) di un esercizio contabile e di modificarne l'importo preventivo con relativo segno Dare/Avere. Per ogni conto selezionato, il programma aggiorna il saldo preventivo (con-prev) su COGSLPCO, propagando l'importo anche ai livelli di riepilogo conto e mastro. Include una stampa di controllo dei conti preventivi (tasto F9) e il salto ad un punto specifico del piano dei conti (tasto F5).


File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB Indexed (chiave fil-chia1) Input Tabella generica Eurosystem
COGSLPCO Indexed (chiave con-chia: mastro/conto/sconto/anno) I-O Saldi preventivo conti; contiene l'importo preventivo con-prev per conto ed esercizio. Letto/scritto/riscritto in agg-saldo, agg-conto, agg-mastro e in lettura via rd-cogslpco
COGGEANA Indexed (chiave ana-chia) Input Conti anagrafici (clienti/fornitori/sottoconti); scansionato quando tm-ana = "S" per riempire griglia e stampa
COGPNCON Indexed (chiave pco-chia) Input Piano dei conti (prima nota); scansionato quando tm-ana = "N" e usato per determinare il tipo anagrafico (pco-tipoanagr) nel salto
COGTABEL Indexed (chiave euta-key) Input Tabella generica; letta con tipo 66 in x2-src-anno per proporre l'anno esercizio di default
exp-grid Line sequential (assign w-nome-exp-grid) - File di appoggio esportazione griglia, dichiarato nel .select generato da Screens
FLSTA External (record riga) Output File di stampa della stampa di controllo conti preventivi

Copybook utilizzate

Copybook Descrizione
feurtab.fd SELECT di FEURTAB
cog003.select SELECT dei file gestiti da Screens (include cogtabel.fd, coggeana.fd, cogpncon.fd, cogslpco.fd e definisce exp-grid)
flsta.fd SELECT del file di stampa FLSTA
cogfiles.cpy FD di FEURTAB
cog003.fd FD dei file gestiti da Screens
flsta.cpy FD di FLSTA (record riga)
cog003.wrk Working storage della maschera (Screens)
wstato.cpy Working storage stato file
wgrave.cpy Working storage errori gravi
wgrid.cpy Working storage gestione griglia
wopenf.cpy Working storage apertura file
wnscr.cpy Working storage screen
cogazien.cpy Dati azienda
cogconta.cpy Record conta-rec dati contabili generici (usato per estrarre anno esercizio conta-cones1/conta-cones2)
utilw14.cpy Interfaccia WIN014 (ricerca piano dei conti)
utilw59.cpy Interfaccia WIN059 (ricerca conto per descrizione)
utils52.cpy Interfaccia COGS52 (gestione campo numerico anno)
utils54.cpy Interfaccia COGS54 (gestione stampa)
utilgdad.cpy Interfaccia GRIDADMN (amministrazione griglia)
utilu10.cpy Interfaccia COGU10W (edit/gestione importi valuta)
k-u10.cpy Costanti per COGU10 (es. k-u10-edita)
wcont.cpy Linkage: struttura stringhe (contesto chiamante)
wcont1.cpy Linkage: contesto aggiuntivo
cog003-01.scr Screen section della maschera
cog003.decla Declaratives
getdcont.cpy Recupero divisa conto (get-divisa-conto)
stato.cpy Gestione stato
stato1.cpy Gestione stato file (cstato)
winmsg.cpy Gestione messaggi/box
grave.cpy Gestione errori gravi
opengen.cpy Apertura file generica
mmmask.cpy Gestione maschere (z-99-init-program, z-99-exit-program)
dtab.cpy Utility tabelle
fscrol2.cpy Gestione scroll/spaginazione griglia
utilpggr.cpy Utility griglia paginata
sendw14.cpy Chiamata WIN014 (ricerca piano dei conti)
cog003.prc Procedure division della maschera (Screens)

Logica di elaborazione

  1. Inizializzazione (apri): impostazione prog-err/w-nome-hlp, controllo abilitazione (ctr-abil), z-99-init-program, caricamento lingua, apertura file (open-files), lettura dati azienda (rd-azi). Vengono attivati i tasti funzione previsti (invio, F3 selezione/modifica, F5 salta, F8 aiuto/calendario, F9 stampa, Shift-F4 griglia). Lettura data di sistema, recupero divisa conto (get-divisa-conto), preparazione maschera pop-up e griglia (z-prepara-tm-grid, z-costruisci-controlli).
  2. Reset e impostazione chiave (a4): svuotamento griglia e struttura tab-maschera, abilitazione dei campi Anno (tm-anno1/tm-anno2) e flag conti anagrafici (tm-ana); proposta anno di default via x2-src-anno (COGTABEL tipo 66).
  3. Accept chiave (a-tm-anno1 -> a-tm-anno2 -> a-tm-ana): acquisizione dei due segmenti anno esercizio e del flag "Conti Anagrafici ?" (S/N), con validazione (x-controlla-tm-anno, x-controlla-tm-ana).
  4. Caricamento griglia (x-spaginamento-start e routine di spaginazione): posizionamento e lettura sequenziale del file selezionato in base a tm-ana (COGGEANA se "S", COGPNCON se "N"), riempimento degli elementi di tabella (rd1-fill-tab) leggendo il saldo preventivo da COGSLPCO e determinando segno (tm-segno A/D) e importo (tm-impo, edit valuta via COGU10W in z-u10).
  5. Interazione griglia (a-grid / a-accept-grid): accept della griglia paginata (z-99-accept-paged-grid). Gestione eventi: Shift-F4 apre l'amministrazione colonne (GRIDADMN "Prepara"/config), F3 commuta tra modalita' Selezione/Aggiornamento (a-modalita), F5 avvia il salto (a1-salta), F9 avvia la stampa (st-stampa), Invio in modalita' "A" apre la riga di dettaglio per modifica importo (previa verifica w-abi-agg).
  6. Riga di dettaglio (a-riga-dettaglio -> a-tm-impo -> a-tm-segno -> a-riga-dettaglio-fine): acquisizione importo (COGU10W) e segno Dare/Avere; su ESC ripristino della riga da tm-ele-sav. Alla conferma, aggiornamento del record di griglia tramite GRIDADMN ("Modify-Record"/"Add-Record").
  7. Aggiornamento saldi (agg-saldo -> agg-conto -> agg-mastro): scrittura/riscrittura di COGSLPCO a tre livelli. In agg-saldo viene impostato con-prev sul sottoconto (negativo se segno "A"); in agg-conto e agg-mastro la differenza (wcon-prev precedente) viene propagata ai totali di conto e mastro. Ogni operazione e' presidiata da controllo stato (cstato) con retry in caso di stato '99' (lock).
  8. Salto (a1-salta -> a-tm-mas-r/a-tm-con-r/a-tm-sot-r/a-tm-des-r -> a1-inizio-dati): richiesta di mastro/conto/sottoconto (con aiuto F8 via WIN014) o ricerca per descrizione (WIN059); verifica di coerenza tra flag anagrafico richiesto e pco-tipoanagr; riposizionamento della finestra di spaginazione sulla nuova chiave.
  9. Stampa di controllo (st-stampa e routine collegate): conferma tramite COGS54, poi scansione di COGGEANA (conti anagrafici) o COGPNCON (piano dei conti) leggendo con-prev da COGSLPCO; produzione di righe (rig5), totali per tipo anagrafico (tot-tipo), intestazioni (intesta) e controllo salto pagina (ctr-pag). Emissione su FLSTA.
  10. Chiusura (fine / z-chiudi): chiusura di COGTABEL, COGGEANA, COGPNCON, COGSLPCO, chiusura finestra, z-99-exit-program, exit program.

Chiamate a sottoprogrammi

Programma Scopo
GRIDADMN Amministrazione griglia paginata: preparazione, svuotamento, aggiunta/modifica record, configurazione colonne (Shift-F4)
COGU10W Edit e gestione degli importi in valuta (routine z-u10)
COGS54 Gestione della stampa (conferma stampa e finalizzazione report)
WIN014 Ricerca piano dei conti (aiuto F8 nel salto, via sendw14.cpy)
WIN059.COB Ricerca conto per descrizione (campo tm-des-r nel salto)