COG006 — Visualizzazione schede contabili per centro di costo¶
| Campo | Valore |
|---|---|
| Sorgente | cbl/cog006.cbl |
| Program-ID | cog006 |
| Tipo | Programma interattivo GUI (maschera con griglia paginata) |
| Posizione menu | Contabilita' > Centri di Costo > Vis. Schede |
| Contabilita' > Unione soci/clienti > Attivita' in Zona > Scheda centro di costo |
Scopo¶
Consente la consultazione a video dei movimenti contabili (dare/avere) di uno o piu' centri di costo, filtrati per esercizio, divisa, conto del piano dei conti, periodo, tipi operazione, gruppo, servizio e agenzia. Per ogni centro di costo mostra la scheda dei movimenti in una griglia paginata con i totali di dare, avere e saldo.
E' un programma di sola visualizzazione: non aggiorna gli archivi contabili. Costruisce un file di transito indicizzato temporaneo (cogtrans) con le sole righe che soddisfano i filtri e su di esso presenta la griglia, la navigazione tra centri di costo (F5/F6), il calcolo dei totali per livello (F8) e l'esportazione Excel (Shift-F5).
Dalla griglia e' possibile inoltre:
- richiamare la gestione documento contabile (F3) tramite COGE77W/COGU98;
- visualizzare l'immagine archiviata del documento (F4) quando e' attiva l'archiviazione ottica (
az-arc-ott = "S"); - stampare l'estratto conto per causale (F11, pulsante custom).
Struttura e flusso¶
Il programma segue il pattern GUI standard del gestionale (maschera cog006-01.scr con tab control e griglia paginata gestita da GRIDADMN).
- Inizializzazione (
main/apri): abilitazione (ctr-abil),z-99-init-program, lettura lingua e azienda, apertura file, caricamento bitmap e pulsanti custom (F11 stampa, F4 immagine), definizione tasti funzione disponibili, lettura dell'esercizio contabile da FEURTAB (tipo 66) inconta-rec, preparazione della griglia (z-prepara-tm-grid). - Ritorno maschera parametri (
a4): svuotamento griglia, (ri)creazione del file di transitocogtransinopen outputper verificare che la funzione non sia gia' in uso da un altro operatore, quindi riaperturai-o; impostazione dei valori di default (esercizio, non contabilizzata, origine "T", data registrazione, divisa del conto). - Accept dei parametri (paragrafi
a-tm-...): sequenza di campi con navigazione avanti/indietro (F2), F8 di aiuto/gestione, uscita (Esc →a4) e conferma (F3 →a-inizio-dati). I campi sono: tm-esercizio1/tm-esercizio2— esercizio contabile (precedente o attuale);tm-non-cont— includere anche i documenti non contabilizzati;tm-divisa— divisa di edit (aiuto COGE22);tm-data-da/tm-data-a— periodo (calendario COGS52W);tm-data-reg/tm-data-econ— filtro per data di registrazione oppure per data di competenza contabile (mutuamente esclusivi);tm-ccco— centro di costo a 3 livelli (aiuto/ricerca COGS92W);tm-origine— origine dei movimenti (Tutti / Effettivi / Solo Cassa e Analitica);tm-movimento— conto del piano dei conti mastro/conto/sottoconto (aiuto COGS67W);tm-merci-zero— solo movimenti con merci a zero;tm-rag— gruppo/raggruppamento di tipi operazione (aiuto WIN052);tm-to1…tm-to10— fino a 10 tipi operazione (aiuto COGS99W);tm-ser— codice servizio (aiuto COGF11);tm-age— agenzia (aiuto WCA005).- Conferma ed elaborazione (
a-inizio-dati): validazione complessiva (x-imposta-conferma), apertura della prima nota contabilizzata/non contabilizzata dell'esercizio scelto (open-pn-contabilizzata), quindi costruzione del transito. - Costruzione del transito (
a410→cr-00-loop→a419): scansione di COGMOVCC (movimenti di centro di costo) e, per ogni riga superata dai filtri, lettura della prima nota corrispondente (COGCOATT contabilizzata o COGPNONC non contabilizzata) e scrittura incogtrans, con contestuale aggiornamento del record di totale (agg-totali). - Visualizzazione (
vis-tabella→vis-tabella-ini→vis-tabella-disp): calcolo totali del centro di costo, spaginamento del transito, riempimento della griglia (z-costruisci-grid/x-riempi-grid-record) e loop di accept paginato con gestione dei tasti funzione. - Chiusura (
fine/z-chiudi): chiusura di tutti i file (inclusi transito e cogcoatt), chiusura window ez-99-exit-program.
Selezione della chiave di scansione COGMOVCC (a410)¶
- servizio valorizzato (
tm-ser) → start su chiave 5 (cdc-rep,st-cogmovcc-notmin-chia5); - centro di costo non indicato → start su chiave 2 (
st-cogmovcc-notmin-chia2); - centro di costo indicato → chiave 2 posizionata su
cdc-liv1/2/3.
Principali filtri applicati in cr-00-loop / a419¶
Rottura/salto riga su: agenzia (cdc-mag), centro di costo (cdc-liv1/2/3), conto (cdc-mastro/conto/sconto), periodo (per data movimento cdc-datamov se tm-data-reg = "S", altrimenti per data competenza cdc-data-comp), merci a zero (con verifica su cco-merce in COGCCOPR), origine vs flag cdc-fl-solo-ca ("A" = solo cassa/analitica), e tipi operazione (pno-to confrontato con l'elenco tm-to).
Totali¶
calcola-totali— totali dare/avere/saldo del centro di costo corrente, mostrati nella maschera principale (e-tm-tot-*).calc-totali(F8,s-mm-2) — sotto-finestra con i totali aggregati per livello 1 e livello 2 del centro di costo.
Gli importi sono convertiti/formattati tramite COGU10W (cambio divisa ed edit).
File e tabelle principali¶
| File logico | Record / chiave | Uso |
|---|---|---|
| COGMOVCC | cdc-rec (chiavi 2/4/5) |
Movimenti di centro di costo — sorgente della scansione |
| COGCOATT | att-rec / att-chia |
Prima nota contabilizzata (per legare il movimento alla registrazione) |
| COGPNONC | pno-rec / pno-chia |
Prima nota non contabilizzata (se tm-non-cont = "S") |
| COGPNCON | pco-rec (mastro/conto/sconto) |
Piano dei conti — descrizioni e tipo anagrafica (pco-tipoanagr) |
| COGCCOPR | cco-rec (cco-liv1/2/3) |
Anagrafica centri di costo — descrizioni e flag cco-merce |
| COGGEANA | ana-rec (ana-tipo, ana-cod) |
Anagrafica generale — ragione sociale cliente/fornitore |
| FEURTAB | euta-rec (tipo/cod) |
Tabelle: esercizio (66), divisa (56), gruppi t.o. (58), servizi/reparti (85), zone/postazioni Unione (06/AH) |
| CAPMAGAZ | magc-rec (magc-cod) |
Agenzie/magazzini (descrizione agenzia, versione consorzi) |
| COGFATTU | fat-rec (chiave 3) |
Testata fattura — presenza immagine ottica (F4) |
| COGTABEL | — | Alias di lettura FEURTAB usato nella catena di COPY |
| PRNTOPER | ptop-rec (ptop-cod) |
Profilo operatore — flag amministratore (ptop-fl-amm) per ambiente consorzi |
| COGTRANS | trs-rec / trs-chia1 |
File di transito indicizzato temporaneo con le righe da visualizzare (vedi sotto) |
| EXP-GRID | line sequential | File di appoggio per l'esportazione della griglia in Excel |
File di transito cogtrans¶
Dichiarato manualmente nel sorgente (SELECT/FD/COPY del record trs-rec), non e' gestito da Screen Designer. Il nome fisico e' univoco per operatore:
string ext-tmp-dir ext-os-slash "#$" k-program-id wo-oper
into w-trs-name
La chiave trs-chia1 e' composta da centro di costo (trs-liv1/2/3), conto (trs-mastro1/conto1/sconto1) e chiave del movimento (trs-anno, trs-docum, trs-pro, trs-pro-pro). I record di totale sono scritti con trs-anno = 99999999 in coda a ciascuna sezione (usato per non sommarli in calcola-totali/calc-totali). Il transito viene ricreato (open output con controllo lock, poi open i-o) ad ogni ritorno alla maschera parametri.
Copybook principali¶
Screen Designer (cbl/screens/)¶
| Copybook | Contenuto |
|---|---|
cog006-01.scr |
Maschera principale con tab control e griglia |
cog006.select |
SELECT dei file (CAPMAGAZ, COGTABEL, COGGEANA, COGPNCON, COGFATTU, COGPNONC, COGCCOPR, COGMOVCC, COGMERA2, COGBPCC, PRNTOPER, EXP-GRID) |
cog006.fd |
FD dei file |
cog006.wrk |
Working storage della maschera |
cog006.prc |
Routine di servizio (verbi di I/O rd-/st-/rdnxt-/wr-/rwr-, gestione status bar, tasti funzione, apertura file) |
cog006.decla |
Declaratives |
Strutture dati¶
| Copybook | Contenuto |
|---|---|
cogfiles.cpy |
FD feurtab |
cogcoatt.fd / cogcoatt.cpy |
FD e record COGCOATT |
cogconta.cpy |
Record COGCONTA (conta-rec): esercizi conta-cones1/2, conta-cones9, conta-conepre9 |
cogazien.cpy |
Dati azienda (az-personal, az-consorzi, az-arc-ott, az-main-mag) |
wgrid.cpy |
Struttura griglia paginata |
k-u10.cpy |
Costanti operazioni COGU10 |
k-personal.cpy |
Costanti di personalizzazione (k-personal-unione-ag-bo) |
wgrave.cpy / wnscr.cpy / wopenf.cpy / wstato.cpy |
Working storage comuni |
Utility (interfacce di CALL)¶
| Copybook | Interfaccia |
|---|---|
utilgdad.cpy |
GRIDADMN (gestione griglia) |
utile22.cpy |
COGE22 (aiuto divise) |
utils52.cpy |
COGS52W (calendario) |
utils67.cpy |
COGS67W (piano dei conti) |
utils92.cpy |
COGS92W (centri di costo) |
utils99.cpy |
COGS99W (tipi operazione) |
utilu10.cpy |
COGU10W (edit/cambio importi) |
utilw52.cpy |
WIN052 (gruppi) |
utilf11.cpy |
COGF11 (servizi) |
utilu06.cpy |
COGU06 (archiviazione ottica) |
utilcoge77.cpy (linkage) |
COGE77W (gestione documento) |
utilu98.cpy (linkage) |
COGU98 (gestione registrazione cassa/analitica) |
wcont.cpy / wcont1.cpy (linkage) |
Aree contabili standard |
Le chiavi secondarie non generate da Screens sono incluse manualmente a fine procedure division: cogmovcc.k02, cogmovcc.k04, cogmovcc.k05, cogbpcc.k02, cogfattu.k03, cogcoatt.k01, cogtrans.k01.
Sottoprogrammi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| COGS92W | Ricerca/aiuto centro di costo (3 livelli) |
| COGS67W | Ricerca/aiuto conto del piano dei conti |
| COGS99W | Ricerca/aiuto e validazione tipi operazione |
| COGS52W | Gestione/edit date (calendario) |
| COGE22 | Aiuto selezione divisa |
| WIN052 | Aiuto selezione gruppo/raggruppamento |
| COGF11 | Aiuto selezione servizio |
WCA005 (WCA005.COB) |
Ricerca agenzie |
| COGU10W | Edit e conversione (cambio) degli importi |
| GRIDADMN | Gestione della griglia paginata (prepara, add-record, svuota, personalizzazioni, export) |
COGE77W (COGE77W.COB) |
Gestione documento contabile (F3) |
COGU98 (cogu98) |
Gestione registrazione di cassa/analitica (cdc-fl-solo-ca = "A") |
| COGU06 | Archiviazione ottica: verifica esistenza e visualizzazione immagine documento (F4) |
Note¶
- Personalizzazioni consorzi (
az-consorzi = "S"): la griglia mostra colonne aggiuntive (reparto/servizio, magazzino/agenzia, merce, commessa/sottocommessa, riferimento movimento di magazzino, cliente/fornitore con descrizione — vedix-riempi-grid-recordecerca-cli-for). La gestione documento (F3) e' consentita solo agli operatori amministratori (ptop-fl-amm = "S", letto da PRNTOPER). - Unione Agricoltori Bologna (
az-personal = k-personal-unione-ag-bo): il controllo del centro di costo (x-controlla-tm-ccco) verifica, tramite postazione (FEURTAB tipo AH) e zona (FEURTAB tipo 06), che una zona di livello periferia possa consultare solo i centri di costo della propria zona. - La ricerca cliente/fornitore per riga (
cerca-cli-for) e' tentata in ordine su COGPNONC (non contabilizzato), COGCOATT (contabilizzato) e infine su COGMOVCC (cdc-ana-tipo/cdc-ana-cod). - Il flag
tm-data-reg/tm-data-econseleziona il criterio di filtro periodo: data di registrazione (cdc-datamov) oppure data di competenza contabile (cdc-data-comp); i due flag sono mantenuti mutuamente esclusivi negli accept. - Il codice usa ancora
PERFORM ... THRUeGO TOdiffusi (programma legacy convertito a Windows nel 2004): rispettarli in eventuali interventi e attenersi comunque alle convenzioni del progetto per il codice nuovo.