Vai al contenuto

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

  1. 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).
  2. Configurazione: x99-confi legge da RNEWCONF (pacchetto contabilita') la chiave ABILITA / GRUPPO-AZIENDE in tm-cfg-gruppo-aziende, che governa la sincronizzazione verso il gruppo aziende.
  3. 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").
  4. 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 paragrafi z-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).
  5. 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.).
  6. Salvataggio pagamento standard: alla conferma (a-fine-dati) con tm-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 campo euta-pg-sco con segno euta-pg-sco-s ("-" sconto, "+" ricarico). euta-pg-manuale = "N".
  7. Piano personalizzato (tratta-pers): con tm-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.
  8. 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, aggiorna cancella e riscrive la testata (con euta-pg-manuale = "S") e i record "A2" del piano.
  9. Cancellazione (cancella): rimuove il record tipo 14 e, tramite canc-a2, tutti i record "A2" collegati al codice.
  10. Sincronizzazione: dopo scrittura/modifica/cancellazione, x-sincronizza-kpn chiama SWN045 (esporta la chiave verso KPN); a-sincronizza-aziende-gruppo e a-cancella-aziende-gruppo eseguono unlock all quando la gestione gruppo aziende e' attiva.
  11. 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)