Vai al contenuto

COGE25V - Gestione Cambi Valute Estere per Valuta

Sorgente: cbl/coge25v.cbl | Program-ID: COGE25V | Tipo: interattivo a griglia

Menu: Contabilita' > Archivi & Tabelle > Valute Estere > Gestione x Valuta


Scopo

Permette di consultare e aggiornare i tassi di cambio di una singola divisa estera su un orizzonte temporale a scorrimento. A differenza di COGE25D (che mostra tutte le divise per una data), questo programma mostra una finestra di k-max-ele-tab giorni consecutivi per la divisa selezionata, con navigazione pagina precedente/successiva. L'operatore sceglie la divisa e la data di inizio; la griglia mostra giorno per giorno il cambio, con il nome del giorno della settimana.

File e tabelle

File/Tabella Copybook Modalita' Uso
COGTABEL cogtabel.cpy, cogtabel.fd, cogtabel.k01 Input casuale Valida la divisa inserita (tipo 56) e ne legge descrizione e tipo cambio
COGCAMBI cogcambi.cpy, cogcambi.fd, cogcambi.k01 Input/Output (read, write, rewrite, delete) Legge, crea, aggiorna e cancella il cambio per la coppia (data, divisa)
FEURTAB feurtab.fd, cogfiles.cpy Utility runtime File di supporto AcuCOBOL

Programmi chiamati

Programma Scopo
GRIDADMN Gestione griglia: Prepara, Svuota-Tutto, Add-Record, Modify-Record
COGE22 Help di ricerca divise (richiamato con F8 sul campo divisa)
DTPRG Converte data AAAAMMGG in numero progressivo di giorno
PRGDT Converte numero progressivo in data AAAAMMGG
FESTA Determina il giorno della settimana e se e' festivo per una data
COGS52W Controllo grafico per la data

Copybook principali

Screen Designer / griglia: coge25v.select, coge25v.fd, coge25v.wrk, coge25v.prc, coge25v.decla, coge25v-01.scr, wgrid.cpy, utilgdad.cpy, utilgrid.cpy

Gestionale: cogazien.cpy, cogfiles.cpy

Utility: wstato.cpy, wopenf.cpy, wgrave.cpy, wnscr.cpy, utils52.cpy, utilu20.cpy, utile22.cpy, utilgdad.cpy, wcont.cpy, wcont1.cpy, stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, opengen.cpy, mmmask.cpy

Logica di elaborazione

Apertura: inizializzazione standard, apertura file, lettura azienda. Griglia preparata con GRIDADMN "Prepara".

Selezione divisa (a-tm-div): accetta il codice divisa; F8 richiama COGE22 per la ricerca. La validazione (x-controlla-tm-div) legge COGTABEL con euta-tipo = 56 e euta-cod = tm-div per verificare l'esistenza e ricavare la descrizione (euta-ve-des) e il tipo cambio (euta-ve-tip).

Selezione data di inizio (a-tm-data): inserita tramite COGS52W. Al termine, converte la data in numero progressivo con DTPRG e memorizza il progressivo di partenza in w-prg.

Caricamento tabella (a-carica-tabella / x1-load-cam): ciclo di k-max-ele-tab iterazioni (max 10). Per ogni iterazione, converte il progressivo in data con PRGDT, ottiene il giorno della settimana con FESTA, e legge il cambio da COGCAMBI con rd-cogcambi-lk. Se il record non esiste, il cambio rimane zero.

Griglia e navigazione (a-grid): visualizza i giorni nella finestra. I pulsanti Pagina Precedente/Successiva (a-pagina-prec, a-pagina-succ) scalano w-prg di k-max-ele-tab e ricaricano la tabella.

Modifica cambio: INVIO su riga apre il pannello dettaglio. L'aggiornamento su COGCAMBI distingue tre casi: se il cambio e' zero, cancella il record (del-cogcambi); se il record gia' esiste, lo aggiorna (rwr-cogcambi); se non esiste, lo inserisce (wr-cogcambi).

Chiusura: chiude COGCAMBI, cancella i moduli DTPRG, PRGDT, FESTA, chiama z-99-exit-program.

Note

  • Finestra di visualizzazione fissa a 10 giorni (k-max-ele-tab = 10), scorrevole con pagina precedente/successiva.
  • La cancellazione del cambio (valore zero) rimuove fisicamente il record da COGCAMBI, a differenza di COGE25D che lascia il valore zero.
  • La tabella tab-settimana e' definita inline nel sorgente con i nomi dei giorni in italiano.
  • Le funzioni Ctrl-A e Ctrl-E (aggiungi/elimina riga) sono presenti ma disabilitate (codice commentato).

Documentazione tecnica generata -- 2026-07-15