COGV02 - Condizioni di Pagamento¶
Sorgente: cbl/cogv02.cbl | Program-ID: COGV02 | Tipo: Programma interattivo (standalone GUI, gestione tabella)
Menu: Contabilita' > Archivi & Tabelle > Tabelle > Parametri Pagamenti > Condizioni di Pagamento
Scopo¶
Gestione dei codici pagamento (condizioni di pagamento) memorizzati nella tabella generica di contabilita' COGTABEL con tipo record 14. Consente inserimento, modifica e cancellazione di una condizione di pagamento identificata da un codice numerico a due cifre. Per ogni codice si definiscono: descrizione, eventuale valuta fissa (fino a tre date GG/MM), periodicita', numero rate (max 36) con giorni valuta, regole di fine mese e "al giorno" per prima rata e rate successive, modalita' IVA, flag rimessa diretta, sconto o ricarico.
Oltre al pagamento "standard" (calcolato in automatico dai parametri) il programma
gestisce la modalita' "personalizzata" (tm-pers = "P"): in questo caso il piano
di ammortamento e' costruito riga per riga in una griglia (scadenza per scadenza,
con giorni, fine mese, percentuale imponibile e percentuale IVA) e memorizzato in
COGTABEL come record di tipo "A2" collegati al codice pagamento. Alla conferma, se
attiva la gestione gruppo aziende, viene richiamata la sincronizzazione verso KPN
(SWN045).
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | Indexed | Input | Tabella nomi file (risoluzione path fisici) |
| COGTABEL | Indexed | I-O | Tabella generica contabilita': record tipo 14 (testata condizione pagamento, euta-pg-*) e record tipo "A2" (righe piano personalizzato, euta-pgm-*) |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
| feurtab.fd | SELECT/FD tabella nomi file |
| cogv02.select | SELECT generato da Screens (include cogtabel.fd) |
| cogfiles.cpy | Record FEURTAB |
| cogv02.fd | FD generato da Screens (include cogtabel.cpy) |
| cogv02.wrk | Working-storage generata da Screens |
| utilncnf.cpy | Area chiamata RNEWCONF (lettura configurazioni) |
| wstato.cpy | Stato I/O |
| wgrave.cpy | Gestione errori gravi |
| wgrid.cpy | Gestione griglia |
| wnscr.cpy | Dati schermo |
| wopenf.cpy | Apertura file |
| cogazien.cpy | Dati azienda (az-prof, az-consorzi, ecc.) |
| utilagprg.cpy | Area chiamata SWN045 (sincronizzazione key) |
| utilgdad.cpy | Area chiamata GRIDADMN (gestione righe griglia) |
| utils52.cpy | Utility date COGS52W |
| utilw02.cpy | Area popup ricerca WIN002 |
| utilu20.cpy | Utility importi/percentuali COGU20W |
| wcont.cpy | Linkage stringhe comuni |
| wcont1.cpy | Linkage area utente 2 |
| cogv02-01.scr | Screen section generata da Screens |
| cogv02.decla | Declaratives generate da Screens |
| grave.cpy | Paragrafi errori gravi |
| mmmask.cpy | Paragrafi init/exit programma |
| opengen.cpy | Paragrafi apertura file e verbi I/O su COGTABEL |
| stato.cpy / stato1.cpy | Controllo stato I/O |
| winmsg.cpy | Messaggi a video |
| utilgrid.cpy | Paragrafi gestione griglia |
| cogv02.prc | Paragrafi generati da Screens (combo/check/date via COGS60W, COGS95, COGS52W) |
Logica di elaborazione¶
- Inizializzazione:
ctr-abil,z-99-init-program, lettura configurazioni (x99-confi), lettura dati azienda (rd-azi), lingua (x-carica-lingua), apertura file (open-files). Vengono abilitati i tasti funzione (F3 conferma, F4 cancella, F8 aiuto, F9 nuovo, Sf4 griglia, invio modifica, Ctrl+A aggiungi, Ctrl+E elimina). La griglia di dettaglio viene preparata (z-prepara-tm-grid,z-costruisci-controlli). - Configurazione:
x99-confilegge da RNEWCONF (pacchetto contabilita') la chiaveABILITA / GRUPPO-AZIENDEintm-cfg-gruppo-aziende, che governa la sincronizzazione verso il gruppo aziende. - Richiesta codice (
a-tm-cod): input del codice pagamento (obbligatorio, diverso da zero). F8 apre la ricerca WIN002; F9 (x-cerca-nuovo-codice) cerca automaticamente il primo codice 1..99 libero. Il codice viene letto su COGTABEL (tipo 14): se presente si entra in modifica (fl-vario = "V",visua), altrimenti in inserimento (fl-vario = "I"). - Richiesta parametri (paragrafi
a-tm-*): descrizione, personalizzazione (S/P), valuta fissa e relative date, periodicita', numero rate, giorni/fine mese/al giorno per prima rata e rate successive, modalita' IVA, rimessa diretta, sconto e ricarico. I paragrafiz-cambia-*gestiscono dinamicamente abilitazione, visibilita' e valori di default dei controlli in funzione delle scelte (es. valuta fissa disabilita periodicita' e rate; n. rate = 0 disabilita i campi di dettaglio; sconto e ricarico sono mutuamente esclusivi). - Controlli (
x-controlla-*): descrizione obbligatoria, GG/MM valuta fissa obbligatori, numero rate 1..36, giorni multipli di 30 se fine mese, "al giorno" <= 31, percentuali <= 100. Per le aziende consorzio (az-consorzi = "S") le rate del piano personalizzato devono avere piu' di 15 giorni (per emissione Ri.Ba.). - Salvataggio pagamento standard: alla conferma (
a-fine-dati) contm-pers = "S"viene scritto (a-90-wr,wr-cogtabel) o riscritto (a-90-rw,rwr-cogtabel) il record COGTABEL tipo 14. Sconto e ricarico sono memorizzati nel medesimo campoeuta-pg-scocon segnoeuta-pg-sco-s("-" sconto, "+" ricarico).euta-pg-manuale = "N". - Piano personalizzato (
tratta-pers): contm-pers = "P"le righe esistenti sono caricate (fill-tab, scan record tipo "A2" del codice) e mostrate in griglia. In griglia (a-grid,a-accept-grid) si aggiungono (Ctrl+A), modificano (Invio) ed eliminano (Ctrl+E) righe; per ogni riga si inserisce numero giorni, fine mese, percentuale imponibile e percentuale IVA (a-tm-ngg,a-tm-fm,a-tm-perc-imp,a-tm-perc-iva). La griglia e' gestita tramite GRIDADMN. - Quadratura piano personalizzato (
ctr-perc-imp): alla conferma le somme delle percentuali imponibile e IVA devono valere entrambe 100; i giorni devono essere in ordine crescente. Se la verifica passa,aggiornacancella e riscrive la testata (coneuta-pg-manuale = "S") e i record "A2" del piano. - Cancellazione (
cancella): rimuove il record tipo 14 e, tramitecanc-a2, tutti i record "A2" collegati al codice. - Sincronizzazione: dopo scrittura/modifica/cancellazione,
x-sincronizza-kpnchiama SWN045 (esporta la chiave verso KPN);a-sincronizza-aziende-gruppoea-cancella-aziende-gruppoeseguonounlock allquando la gestione gruppo aziende e' attiva. - Chiusura (
fine/z-chiudi): close COGTABEL, chiusura finestra,z-99-exit-program, exit program.
Chiamate a sottoprogrammi¶
| Programma | Scopo |
|---|---|
| COGS52W | Input e formattazione date (GG/MM valuta fissa) |
| COGS60W | Gestione combo-box (formato, periodicita', fine mese, modalita' IVA) |
| COGS95 | Gestione check-box (valuta fissa, rimessa diretta, avviso DDT) |
| COGU20W | Gestione e visualizzazione importi/percentuali |
| GRIDADMN | Gestione della griglia del piano personalizzato |
| WIN002 | Popup ricerca codice pagamento |
| SWN045 | Sincronizzazione della chiave verso KPN (esporta-key) |
| RNEWCONF | Lettura configurazione (gruppo aziende) |