COGE34 -- Controllo Contabile per T.O.¶
Sorgente: cbl/coge34.cbl | Program-ID: COGE34 | Tipo: Interattivo (visualizzazione/stampa)
Menu: Contabilita' > Prima Nota > Visualizzazioni > Controllo Contabile per T.O. / Contabilita' > Unione soci/clienti > Attivita' in Zona > Scheda per Causale
Scopo¶
Visualizza e stampa le schede contabili suddivise per Tipo Operazione (T.O.). Per ogni conto contabile selezionato, il programma accumula i totali Dare/Avere per ciascun T.O. e li presenta in una griglia. Supporta la navigazione tra conti (precedente/successivo) e due modalita' di stampa: riepilogativa e di dettaglio.
Utilizza due file di transito indicizzati (COGTRANS e COGTRANS2) creati nella directory temporanea per accumulare i dati estratti dagli archivi di prima nota.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB (COGTABEL) | Indicizzato | Input | Tabella generica (tipo 66: esercizio, tipo 45: conti partite, tipo 65: tipi operazione) |
| COGTRANS | Indicizzato | I-O | File transito per accumulo saldi per T.O. (chiave1: conto+TO, chiave2: TO+conto) |
| COGTRANS2 | Indicizzato | I-O | File transito per dettaglio movimenti (chiave: conto+causale+data+num_doc+protocollo) |
| FLSTA | Sequenziale | Output | File di stampa |
| COGPNCON | Indicizzato | Input | Piano dei conti (via coge34.select) |
| COGGEANA | Indicizzato | Input | Anagrafica generale (via coge34.select) |
Struttura COGTRANS¶
trs-chia1:
trs-conto:
trs-mas pic 9(02) Mastro
trs-con pic 9(02) Conto
trs-sco pic 9(06) Sottoconto
trs-to pic x(03) Tipo operazione
trs-dar pic 9(12)v9(06) Totale dare
trs-ave pic 9(12)v9(06) Totale avere
trs-prov pic x(01) Flag provvisorio
Chiave alternata: trs-chia2 = trs-to, trs-conto
Struttura COGTRANS2¶
trs2-chia1:
trs2-conto:
trs2-mas pic 9(02)
trs2-con pic 9(02)
trs2-sco pic 9(06)
trs2-cau pic x(03) Causale
trs2-data pic 9(08) Data (AAAAMMGG)
trs2-num-doc pic 9(06) Numero documento
trs2-pro pic 9(04) Protocollo
trs2-num-fat pic 9(07) Numero fattura
trs2-data-fat pic 9(08) Data fattura
trs2-num-prt pic 9(05) Numero partita
trs2-des pic x(40) Descrizione
trs2-dar pic 9(12)v9(06) Dare
trs2-ave pic 9(12)v9(06) Avere
trs2-prov pic x(01) Flag provvisorio
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
| feurtab.fd | SELECT della tabella COGTABEL |
| coge34.select | SELECT generati da Screens (COGPNCON, COGGEANA, ecc.) |
| coge34.fd | FD generata da Screens |
| coge34.wrk | Working-storage generata da Screens |
| coge34.decla | Declaratives per gestione errori I/O |
| coge34-01.scr | Screen principale |
| flsta.fd / flsta.cpy | File di stampa |
| cogfiles.cpy | Definizione record COGTABEL (euta-*) |
| k-u10.cpy | Costanti per COGU10W |
| wgrave.cpy | Variabili messaggi gravi |
| wgrid.cpy | Variabili gestione griglia |
| wnscr.cpy | Variabili screen |
| wopenf.cpy | Variabili apertura file |
| wstato.cpy | Variabili di stato |
| k-personal.cpy | Personalizzazioni aziendali |
| cogazien.cpy | Dati azienda corrente |
| cogconta.cpy | Struttura contabilita' (conta-rec) |
| utilgdad.cpy | Utility per GRIDADMN |
| utils52.cpy | Utility gestione date (COGS52W) |
| utils54.cpy | Utility stampa (COGS54) |
| utils67.cpy | Utility selezione conti (COGS67) |
| utils99.cpy | Utility per codici tipi operazione |
| utilu10.cpy | Utility conversione importi (COGU10W) |
| utilu40.cpy | Utility selezione conti multipla (COGU40) |
| utilw52.cpy | Utility lookup tabelle (WIN052) |
| wcont.cpy / wcont1.cpy | Struttura linkage standard |
Struttura del programma¶
Flusso principale¶
-
apri: inizializzazione, apertura file, creazione nomi file transito (nella tmp dir con suffisso operatore), lettura esercizio contabile (euta-tipo 66), apertura archivi contabilizzati (corrente "ATT" e precedente "PRE"), configurazione pulsanti custom (F5=Stampa Riepilogo, F6=Stampa Dettaglio, F7=Conto Prec., F9=Conto Succ.)
-
a4: inizializzazione maschera, precaricamento date (da 01/01 a data odierna), impostazione flag provvisoria
-
Parametri (sequenza di accept):
a-tm-sel-01/02/03: selezione archivi (primo, secondo, terzo)a-tm-prov: flag prima nota provvisoria (visibile se az-ges-ip = "S"); supporta attivazione speciale 8/6/9a-tm-da-data/a-tm-a-data: range date (con COGS52W)a-tm-tipo-sel: tipo selezione (D=Range, S=Selezione multipla con COGU40)a-tm-da-conto/a-tm-a-conto: range conti (con COGS67)a-tm-rag: gruppo/raggruppamento (con WIN052 per aiuto)a-tm-tutti: flag tutti i T.O.-
a-tm-to1...a-tm-to10: fino a 10 T.O. specifici (con COGS99) -
a-inizio-dati: validazione parametri, lancio
carica-datiche popola COGTRANS/COGTRANS2, poi lettura sequenziale per chiave2 (T.O.+conto) -
a-inizio-grid: caricamento griglia con i dati accumulati (
c1-visua), visualizzazione totali per T.O. -
a-grid / a-accept-grid: ciclo griglia con navigazione:
- F5: stampa riepilogo (
s-stampa) - F6: stampa dettaglio (
t-stampa) - F7: conto precedente (
c3-rst-prev,c2-rd-prev) - F9: conto successivo (
c3-rst-next,c2-rd-next) - F8: totali
-
Shift+F4: personalizzazione griglia (GRIDADMN)
-
fine: chiusura file, eliminazione file transito
Logica di accumulo dati (carica-dati)¶
Il paragrafo carica-dati scorre gli archivi selezionati (fino a 3) leggendo i movimenti di prima nota. Per ogni movimento:
- Verifica appartenenza al range date e conti selezionati
- Verifica appartenenza ai T.O. richiesti
- Accumula in COGTRANS i totali dare/avere per conto+T.O.
- Scrive in COGTRANS2 il dettaglio del movimento
Stampe¶
- s-stampa (F5): stampa riepilogativa per T.O. con testate (testa0, testa1, testa2), riga conto (rig-conto) e righe dettaglio per T.O. (rigel). Formato 80 colonne.
- t-stampa (F6): stampa dettaglio con tutti i movimenti, ordinati per T.O. e conto. Testate (b-testa1, b-testa2), riga conto (b-rig-conto) e righe dettaglio (b-rigel) con data, documento, protocollo, n.fattura, data fattura, causale, descrizione, dare, avere. Formato 132 colonne.
Chiamate esterne¶
| Programma | Modalita' | Scopo |
|---|---|---|
| COGS52W | CALL | Gestione date con calendario |
| COGS54 | CALL | Gestione stampa (anteprima/stampante) |
| COGS67 | CALL (via perform z-s67-*) | Selezione conti dal piano dei conti |
| COGS99 | CALL (via perform z-s99-*) | Lookup tipi operazione |
| COGU10W | CALL (via perform z-u10) | Conversione/edita importi e cambio divisa |
| COGU40 | CALL | Selezione conti multipla |
| WIN052 | CALL | Lookup raggruppamenti |
| GRIDADMN | CALL | Gestione avanzata griglia (personalizzazione colonne) |
Variabili principali¶
| Variabile | Tipo | Descrizione |
|---|---|---|
| tab-maschera | 01 | Struttura completa maschera: selezioni archivi, date, conti, T.O. |
| tm-tab | 01 (dentro tab-maschera) | Tabella griglia: fino a 900 righe con TO, descrizione, dare, avere, saldo, segno |
| dep-nom | 01 | Nomi dei 3 archivi di prima nota |
| tab-rag | 01 | Totali dare/avere per raggruppamento |
| grid-record | 01 | Record di interscambio con la griglia |
| k-max-ele-tab | 78 | 900 (righe max griglia) |
| k-max-to | 78 | 10 (max T.O. selezionabili) |
| k-tm-ele-conti | 78 | 50 (max conti selezionabili in modalita' Selezione) |
Note¶
- I file di transito COGTRANS e COGTRANS2 vengono creati nella directory temporanea con nome
#$COGE34.<operatore>e$#COGE34.<operatore>, e vengono eliminati alla chiusura. - Il programma supporta la navigazione tra conti senza ricaricare tutti i dati: i file transito restano aperti e vengono riletti con chiavi diverse.
- La variante per l'Unione Soci ("scheda per causale") utilizza lo stesso programma con un layout leggermente diverso (b-testa2-unione, brg-dati-unione).