Vai al contenuto

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).

  1. 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) in conta-rec, preparazione della griglia (z-prepara-tm-grid).
  2. Ritorno maschera parametri (a4): svuotamento griglia, (ri)creazione del file di transito cogtrans in open output per verificare che la funzione non sia gia' in uso da un altro operatore, quindi riapertura i-o; impostazione dei valori di default (esercizio, non contabilizzata, origine "T", data registrazione, divisa del conto).
  3. 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:
  4. tm-esercizio1 / tm-esercizio2 — esercizio contabile (precedente o attuale);
  5. tm-non-cont — includere anche i documenti non contabilizzati;
  6. tm-divisa — divisa di edit (aiuto COGE22);
  7. tm-data-da / tm-data-a — periodo (calendario COGS52W);
  8. tm-data-reg / tm-data-econ — filtro per data di registrazione oppure per data di competenza contabile (mutuamente esclusivi);
  9. tm-ccco — centro di costo a 3 livelli (aiuto/ricerca COGS92W);
  10. tm-origine — origine dei movimenti (Tutti / Effettivi / Solo Cassa e Analitica);
  11. tm-movimento — conto del piano dei conti mastro/conto/sottoconto (aiuto COGS67W);
  12. tm-merci-zero — solo movimenti con merci a zero;
  13. tm-rag — gruppo/raggruppamento di tipi operazione (aiuto WIN052);
  14. tm-to1tm-to10 — fino a 10 tipi operazione (aiuto COGS99W);
  15. tm-ser — codice servizio (aiuto COGF11);
  16. tm-age — agenzia (aiuto WCA005).
  17. 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.
  18. Costruzione del transito (a410cr-00-loopa419): 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 in cogtrans, con contestuale aggiornamento del record di totale (agg-totali).
  19. Visualizzazione (vis-tabellavis-tabella-inivis-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.
  20. Chiusura (fine / z-chiudi): chiusura di tutti i file (inclusi transito e cogcoatt), chiusura window e z-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 — vedi x-riempi-grid-record e cerca-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-econ seleziona 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 ... THRU e GO TO diffusi (programma legacy convertito a Windows nel 2004): rispettarli in eventuali interventi e attenersi comunque alle convenzioni del progetto per il codice nuovo.