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-settimanae' 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