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¶
- Inizializzazione (
apri): impostazioneprog-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). - Reset e impostazione chiave (
a4): svuotamento griglia e strutturatab-maschera, abilitazione dei campi Anno (tm-anno1/tm-anno2) e flag conti anagrafici (tm-ana); proposta anno di default viax2-src-anno(COGTABEL tipo 66). - 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). - Caricamento griglia (
x-spaginamento-starte routine di spaginazione): posizionamento e lettura sequenziale del file selezionato in base atm-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-segnoA/D) e importo (tm-impo, edit valuta via COGU10W inz-u10). - 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 verificaw-abi-agg). - 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 datm-ele-sav. Alla conferma, aggiornamento del record di griglia tramite GRIDADMN ("Modify-Record"/"Add-Record"). - Aggiornamento saldi (
agg-saldo->agg-conto->agg-mastro): scrittura/riscrittura di COGSLPCO a tre livelli. Inagg-saldoviene impostatocon-prevsul sottoconto (negativo se segno "A"); inagg-contoeagg-mastrola differenza (wcon-prevprecedente) viene propagata ai totali di conto e mastro. Ogni operazione e' presidiata da controllo stato (cstato) con retry in caso di stato '99' (lock). - 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 epco-tipoanagr; riposizionamento della finestra di spaginazione sulla nuova chiave. - Stampa di controllo (
st-stampae routine collegate): conferma tramite COGS54, poi scansione di COGGEANA (conti anagrafici) o COGPNCON (piano dei conti) leggendocon-prevda COGSLPCO; produzione di righe (rig5), totali per tipo anagrafico (tot-tipo), intestazioni (intesta) e controllo salto pagina (ctr-pag). Emissione su FLSTA. - 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) |