COGE67 - Aliquote IVA¶
Sorgente: cbl/coge67.cbl | Program-ID: COGE67 | Tipo: Programma interattivo GUI (gestione tabella a griglia)
Menu: Contabilita' > Archivi & Tabelle > Tabelle > Parametri Iva > Aliquote IVA
Scopo¶
Manutenzione della tabella delle aliquote IVA, memorizzate nella tabella generica di contabilita' (COGTABEL) con tipo record 67. Il programma presenta una griglia editabile in cui ogni riga rappresenta un'aliquota (codice, valore percentuale, sigla di esenzione, validita' e note descrittive) e consente inserimento, modifica e cancellazione dei record. Per ogni voce, o si indica l'aliquota numerica oppure la sigla di esenzione, mai entrambe. Il programma opera in due modalita': "Aggiornamento" (A), per la manutenzione completa, e "Selezione" (S), attiva quando e' richiamato da un altro programma tramite l'area util-e67 per restituire al chiamante il codice, l'aliquota e la sigla scelti.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | Indexed | Input | Tabella nomi file (risoluzione percorsi fisici) |
| COGTABEL | Indexed | I-O | Tabella generica contabilita'; tipo 67 = aliquote IVA (record euta-rec) |
| COGDESCR | Indexed | I-O | Descrizioni/note associate alle voci di tabella (record cde-rec, tipo "67") |
| LODTMDES | Indexed | I-O | File temporaneo di lavoro per le descrizioni note (nome a runtime: ext-tmp-dir/#$coge67.{wo-oper}) |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
| feurtab.fd | SELECT tabella nomi file |
| coge67.select | SELECT dei file gestiti (generato da Screens) |
| lodtmdes.fd | SELECT file temporaneo descrizioni |
| cogfiles.cpy | Record FEURTAB |
| coge67.fd | FD/record COGTABEL e COGDESCR (generato da Screens) |
| lodtmdes.cpy | Record LODTMDES |
| coge67.wrk | Working-storage generata da Screens |
| utilu20.cpy | Area utility COGU20 (gestione importo/aliquota) |
| wstato.cpy | Stato I/O |
| wgrave.cpy | Gestione errori gravi |
| wgrid.cpy | Gestione griglia |
| wopenf.cpy | Apertura file |
| wnscr.cpy | Dati schermo |
| cogazien.cpy | Dati azienda |
| utilgdad.cpy | Area utility GRIDADMN (amministrazione griglia) |
| utilzde.cpy | Area utility COGZDEW (editor note descrittive) |
| utilagprg.cpy | Area utility SWN044 (sincronizzazione KPN) |
| wcont.cpy | Linkage stringhe comuni |
| wcont1.cpy | Linkage area utente 2 |
| utile67.cpy | Linkage util-e67 (interfaccia con il chiamante) |
| coge67-01.scr | Screen section (form dettaglio + griglia) |
| coge67.decla | Declaratives generate da Screens |
| stato.cpy / stato1.cpy | Controllo stato I/O |
| winmsg.cpy | Messaggi a video |
| grave.cpy | Paragrafi errori gravi |
| opengen.cpy | Apertura file generica |
| mmmask.cpy | Paragrafi init/exit programma (z-99-init-program/z-99-exit-program) |
| utilgrid.cpy | Paragrafi gestione griglia |
| coge67.prc | Procedure generate da Screens (verbi I/O, controlli, ecc.) |
| lodtmdes.k01 | Accesso LODTMDES per chiave primaria |
Logica di elaborazione¶
- Inizializzazione: impostazione
prog-err/nome help, controllo abilitazioni (ctr-abil),z-99-init-program, caricamento lingua, apertura file e lettura dati azienda (rd-azi). - Rilevamento chiamata: se
e67-called = "COGE67"ee67-callervalorizzato, il programma entra in modalita' "Selezione" (w-dc-called = "S"), abilitando i tasti F3 di selezione/modifica. - File temporaneo LODTMDES: viene creato in
ext-tmp-dircon nome comprensivo diwo-oper; se gia' esistente/in uso, segnala "Funzione gia' in uso dall'operatore" e termina. - Impostazione tasti funzione: invio, invio-modifica, F8 aiuto, Shift+F4 griglia, Ctrl+A aggiungi, Ctrl+E elimina; F3 selezione/modifica solo in modalita' richiamata.
- Caricamento tabella (a10): scansione di COGTABEL per tipo 67 (
st-cogtabel-notmin+rdnxt-cogtabel); i record con codice a spazi vengono cancellati (del-cogtabel). Ogni record valido riempie una riga della tabella internatm-tab(tm-cod,tm-ali,tm-ese,tm-validita), fino a un massimo di 900 elementi (k-max-ele-tab). Le note vengono caricate da COGDESCR nel file temporaneo (carica-des) e convertite in testo tramite COGZDEW ("Da-file-a-zde-note"). - Costruzione griglia (a30):
z-costruisci-gridpopola la griglia GUI (GRIDADMN "Svuota-Tutto" + "Add-Record") a partire datm-tab, formattando la validita' come SI/NO (x-riempi-grid-record). - Ciclo griglia (a-grid / a-accept-grid): gestione eventi mouse/tastiera. In modalita' "Selezione", l'invio restituisce al chiamante
e67-out-cod/e67-out-ali/e67-out-esee termina; in modalita' "Aggiornamento", l'invio apre la riga in modifica. F3 commuta tra le modalita'; Ctrl+A avvia l'inserimento di una nuova riga; Ctrl+E elimina la riga corrente previa conferma. Shift+F4 apre l'amministrazione griglia (GRIDADMN). - Riga di dettaglio (a-riga-dettaglio ... a-tm-note): accept in cascata dei campi codice, aliquota (via COGU20W), sigla esenzione, validita' (campo S95) e note. In modifica il record COGTABEL viene lockato (
rd-cogtabel-lk). ESC annulla ripristinandotm-ele-sav. - Controlli (x-imposta-conferma, x-controlla-*): codice obbligatorio e non riservato (
*R), codice non gia' esistente in inserimento; obbligo di indicare aliquota oppure sigla esenzione (mai entrambe, mai nessuna); i campi in errore sono evidenziati con colore. - Salvataggio riga (a-riga-dettaglio-fine): aggiornamento della griglia (GRIDADMN "Add-Record"/"Modify-Record") e scrittura su COGTABEL (
wr-cogtabelin inserimento,rwr-cogtabelin modifica). Sincronizzazione KPN (x-sincronizza-kpn, SWN044) e riallineamento note su COGDESCR (canc-des+ins-des, quest'ultima via COGZDEW "Da-zde-note-A-file"). - Cancellazione (c-cancella): lock e
del-cogtabeldel record, sincronizzazione KPN, cancellazione delle note su COGDESCR (canc-des). - Chiusura (fine / z-chiudi): chiusura file, chiusura e cancellazione del file temporaneo LODTMDES,
cancel "COGZDEW", chiusura finestra,z-99-exit-programedexit program.
Chiamate a sottoprogrammi¶
| Programma | Scopo |
|---|---|
| GRIDADMN | Amministrazione della griglia GUI (Prepara, Svuota-Tutto, Add-Record, Modify-Record) |
| COGU20W | Gestione/edit dell'aliquota IVA numerica |
| COGZDEW | Editor delle note descrittive (conversione file<->testo note) |
| SWN044 | Sincronizzazione della chiave con KPN ("ESPORTA-KEY") |
Storico modifiche¶
Il sorgente non contiene marcatori *>DOC:. Sono presenti riferimenti storici a interventi datati (030321) relativi all'introduzione della sincronizzazione KPN (x-sincronizza-kpn, chiamata SWN044) nei paragrafi di salvataggio e cancellazione riga.