COGE83 -- Stampa Schede Contabili (con creazione saldi)¶
Sorgente: cbl/coge83.cbl | Tipo: Programma interattivo a maschera con stampa | Program-ID: COGE83
Menu: Contabilita' > Prima Nota > Stampe > Schede Contabili
Scopo¶
Stampa le schede contabili (mastrini) dei conti del piano dei conti in un intervallo di date, calcolando contestualmente i saldi. Presenta una maschera di richiesta parametri (esercizio, intervallo conti, intervallo date, opzioni di stampa) e produce:
- una stampa formattata (via
COGS54, spool/stampante), oppure - una stampa su modello Word/Area Report (
WORDMDL) quando la configurazionearea-report-attivoe' abilitata, oppure - il solo calcolo dei saldi (opzione "solo calcolo") senza stampa.
Durante l'elaborazione riversa i movimenti selezionati in un file di transito
(COGTRANS), da cui rilegge in ordine di conto per stampare le righe di
dettaglio e i saldi (di periodo, progressivo, iniziale).
Il programma e' anche riutilizzato come motore di stampa da COGE87: quando
il campo di linkage e83-progr = "COGE87" la maschera viene bypassata e i
parametri arrivano gia' valorizzati dal chiamante (paragrafo apri -> salto a
a-riga-stp).
File e tabelle¶
| Tabella | Ruolo / campi principali |
|---|---|
| FEURTAB / COGTABEL | Tabelle generiche azienda: tipo 66 (parametri contabilita', conta-rec: esercizi conta-cones9/conta-conepre9, conta-cone1/conta-cone2), tipo 56 (divise, euta-ve-des) |
| COGCOATT | Movimenti contabili attuali/contabilizzati (record att-*: att-con, att-datamov, att-docum, att-importo, att-divimpo, att-data-econ, att-rif-giornale). Scansione per chiave 2 (st-cogcoatt-notmin-chia2) |
| COGPNONC | Prima nota non contabilizzata (record pno-*: pno-con, pno-datamov, pno-fl-pro provvisorio, pno-data-econ). Scansione per chiave 2 (st-cogpnonc-notmin-chia2) |
| COGPNCON | Piano dei conti (pco-*: pco-tipoanagr tipo anagrafica C/F/S) |
| COGGEANA | Anagrafiche generiche (ana-tipo, ana-cod, ana-nome) per decodifica intestazione conto anagrafico |
| COGSALCO | Saldi conti: file di appoggio creato in $TMP/COGSALCO.ARC, riscritto con i saldi calcolati (sa-rec, sa-importo, sa-progr) |
| COGTRANS | File di transito temporaneo ($TMP/#$COGE83.<oper>) dei movimenti selezionati; record trs-rec (chiave trs-chia1 per conto/data/docum, chiave alternata trs-chia2 per nome). Riletto in a029/a030 per la stampa |
STA (sta) |
File sequenziale di stampa $TMP/coge83st.<oper> (righe riga-s) |
STAMPALF (stampalf) |
File indicizzato $TMP/#$ALF83.<oper> per la stampa in ordine alfabetico (alf-rec, chiave alf-chia = nome+conto+progr) |
I movimenti e i saldi sono acceduti tramite i gestori tabella standard
(rd-, st-...-notmin, rdnxt-, wr-cogtrans).
Copybook principali¶
| Copybook | Descrizione |
|---|---|
coge83.select, coge83.fd, coge83.wrk, coge83-01.scr, coge83.prc, coge83.decla |
Screen Designer (maschera, FD, working, procedure) |
feurtab.fd, cogfiles.cpy |
FEURTAB / layout tabelle generiche |
cogsalco.fd/.cpy, cogcoatt.fd/.cpy, flsta.fd/.cpy |
File saldi, movimenti, stampa |
cogconta.cpy |
Layout conta-rec parametri contabilita' |
cogazien.cpy |
Dati azienda (az-personal, az-ges-ip, az-int) |
wgrave, wnscr, wopenf, wstato |
Working storage standard |
k-personal.cpy |
Costanti personalizzazioni (k-personal-unione-ag-bo) |
k-u10.cpy, utilu10.cpy |
Edit importi (COGU10W) |
utilncnf.cpy |
Linkage RNEWCONF |
utilgesstr.cpy |
Linkage GESSTR (giustificazione/formattazione stringhe) |
utilwordmdl.cpy, utilcogpa3.cpy, utilcogsc1.cpy |
Stampa su modello Word / Area Report |
utile22.cpy, utils52.cpy, utils54.cpy, utils67.cpy, utils99.cpy, utilu40.cpy |
Linkage sottoprogrammi divisa/data/spool/conto/help/selezione conti |
wcont.cpy, wcont1.cpy, utile83.cpy |
Linkage in ingresso (stringhe, util-e83) |
getdcont.cpy |
Utility contabili |
cogcoatt.k02, cogpnonc.k02, cogtrans.k01 |
Chiavi secondarie/primarie aggiunte manualmente |
Chiamate ad altri programmi¶
| Modulo | Scopo |
|---|---|
| RNEWCONF | Lettura configurazioni RNEWCONF (chiavi STAMPA-RIGA-AGGIUNTIVA, area-report-attivo) |
| COGSC1 | Lettura configurazione pacchetto (personalizzazione area-report-attivo per programma) |
| COGS52W | Gestione/validazione campi data con calendario F8 (tm-data-da, tm-data-a) |
| COGS54 | Selezione emulazione/dispositivo di stampa; ritorna righe per pagina (max-rig) |
| COGS67W | Aiuto/selezione conto del piano dei conti (via z-s67-...) |
| COGS99W | Help maschera |
| COGS95 / COGS60W | Toggle SI/NO e opzioni a scelta (chiamate incapsulate in z-s95-.../z-s60-...) |
| COGE22 | Aiuto/gestione divise (F8 su campo divisa) |
| COGU40 | Selezione multipla conti (modalita' "tipo selezione = S") |
| COGU10W | Edit/formattazione importi con divisa |
| COGPA3 | Reperimento modello Word/Area Report e composizione tabelle (cogpa3-modello, cogpa3-tabelle) |
| WORDMDL | Motore di stampa su modello Word/XML (apertura XML, scrittura tag, chiusura) |
| WIN157 | Selezione esercizio contabile (anno1/anno2) |
| GESSTR | Elaborazione stringhe (giustificazione testo di stampa) |
| C$JUSTIFY | Routine ACUCOBOL di allineamento campi |
| DTPRG / PRGDT | Conversione data <-> numero progressivo giorni (calcolo data inizio esercizio) |
Flusso / Paragrafi principali¶
main/apri: init programma, lettura azienda (rd-azi), apertura file; lettura configurazioni RNEWCONF; apertura del transitoCOGTRANSin output (con guardia "Funzione gia' in uso dall'operatore!!" sestato <> "00"), poi in I-O; aperturaSTAMPALFeCOGSALCOdi appoggio. See83-progr = "COGE87"salta la maschera e va aa-riga-stp.a4: inizializza la maschera con i valori di default e carica i controlli.- Paragrafi
a-tm-...: catena di accept dei campi di maschera (esercizio, esclusione documenti chiusura, movimenti non contabilizzati, elimina schede senza movimenti, solo calcolo, saldi anagrafici, tipo selezione, intervallo contitm-pc-da/tm-pc-a, ordinamento, date, data registrazione/competenza, date valuta, elimina schede a zero, saldi progressivi, prima nota provvisoria, divisa). Navigazione con F2 (indietro), ESC (annulla), F8 (aiuto/calendario), gestione eventi mouse (x-test-mouse). a-riga-stp: decide se stampare su Area Report/Word (searea-report-attivo = "S",tm-solo-calc = "N"e ordinamento/opzioni compatibili) oppure su spool classico; apre il file di stampasta; apre la prima nota contabilizzata (open-pn-contabilizzata) sull'esercizio corretto.cr-00/cr-30: scansione di COGCOATT (movimenti) e COGPNONC (prima nota non contabilizzata), applicazione dei filtri (intervallo conti, date, esclusione documenti di chiusura, provvisori, personalizzazioni aziendali) e scrittura dei record selezionati nel transitoCOGTRANS(wr-cogtrans).a029/a030: rilettura sequenziale del transito per conto; ad ogni rottura conto stampa dettaglio e richiamactr-saldo/rotcontoper i saldi di periodo/progressivo/iniziale; scrive susta/stampalfo emette i tagWORDMDL.wr-saldo/scrivi-s-periodo: scrittura saldi inCOGSALCOe riga "SALDO DEL PERIODO".fine: chiusura file e uscita.
La gestione errori usa box-msg/vbx-msg/vbx-msg-error per i messaggi a
video e perform grave per gli errori gravi di I/O (con file-err,
tipo-err, chia-err).
Configurazioni¶
Il programma legge due chiavi RNEWCONF (pacchetto "C"):
| Gruppo | Chiave | Effetto |
|---|---|---|
COGE83 |
STAMPA-RIGA-AGGIUNTIVA |
Valorizza tm-cfg-valu (default per l'opzione "date valuta" della maschera). Letta in x99-confi |
stampe |
area-report-attivo (sub COGE83) |
Abilita la stampa su modello Word/Area Report. Letta via COGSC1 + RNEWCONF; forzata a "N" per la personalizzazione k-personal-unione-ag-bo e per stampa alfabetica o eliminazione schede a saldo zero |
Note¶
- Personalizzazioni aziendali:
az-personal = "EF"(Eurofrutta) esclude i movimenti condataeff = 19990531;az-personal = k-personal-unione-ag-bo(Unione Agricoltori BO) usa layout di stampa dedicati (rig4-uni,rig3a-uni,rig5-uni) ed esclude i movimenti di apertura esercizio (mastro 28, conto 1, T.O. "081"). - Prima nota provvisoria: gestita solo con
az-ges-ip = "S"; i flagfl-pno-pro("P"/"O") pilotano l'inclusione dei provvisori in base atm-prov/tm-869(opzioni F8/F6/F9 sul campo provvisoria). - Data competenza: con
tm-data-econ = "S"i movimenti sono analizzati per data di competenza economica (att-data-econ/pno-data-econ) anziche' per data registrazione; le righe interessate sono marcate contrs-data-comp = "C". - La stampa su Area Report/Word e' inibita per l'ordinamento alfabetico e per l'opzione "elimina schede a saldo zero" (richiedono rilettura sequenziale finale non compatibile con la generazione tag a modello).