COGE25D - Gestione Cambi Valute Estere per Data¶
Sorgente: cbl/coge25d.cbl | Program-ID: COGE25D | Tipo: interattivo a griglia
Menu: Contabilita' > Archivi & Tabelle > Valute Estere > Gestione x Data
Scopo¶
Permette di visualizzare e aggiornare i tassi di cambio di tutte le divise estere configurate per una data specifica. La schermata presenta una griglia con una riga per ogni divisa (massimo 50), con il relativo cambio; l'operatore seleziona la data e, in modalita' di aggiornamento, modifica il valore del cambio su ciascuna riga. La navigazione al giorno precedente o successivo avviene tramite appositi pulsanti, che recalcolano la data usando le subroutine DTPRG e PRGDT.
File e tabelle¶
| File/Tabella | Copybook | Modalita' | Uso |
|---|---|---|---|
| COGTABEL | cogtabel.cpy, cogtabel.fd, cogtabel.k01 |
Input sequenziale | Legge tutte le divise di tipo 56 (euta-tipo = 56) per costruire la lista delle valute |
| COGCAMBI | cogcambi.cpy, cogcambi.fd, cogcambi.k01 |
Input/Output (read, write, rewrite) | Legge e aggiorna 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: operazioni Prepara, Svuota-Tutto, Add-Record, Modify-Record |
| DTPRG | Converte una data AAAAMMGG in numero progressivo di giorno |
| PRGDT | Converte un numero progressivo di giorno in data AAAAMMGG |
| COGS52W | Controllo grafico per l'inserimento e la visualizzazione della data |
Copybook principali¶
Screen Designer / griglia: coge25d.select, coge25d.fd, coge25d.wrk, coge25d.prc, coge25d.decla, coge25d-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, utilgdad.cpy, wcont.cpy, wcont1.cpy, stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, opengen.cpy, mmmask.cpy
Logica di elaborazione¶
Apertura: inizializzazione standard (z-99-init-program), apertura file, lettura azienda, caricamento lingua. La griglia viene preparata con z-prepara-tm-grid (call a GRIDADMN "Prepara").
Selezione data (paragrafo a-tm-data): l'operatore inserisce la data tramite il controllo COGS52W. Dopo la validazione (x-controlla-tm-data), il flusso va a a-carica-cambio.
Caricamento cambi (a-carica-cambio): scansione sequenziale di COGTABEL a partire dalla chiave euta-tipo = 56 con st-cogtabel-notmin + loop rdnxt-cogtabel. Per ogni divisa trovata, popola tm-righe(i) con codice, descrizione e tipo. Poi x1-load-cam legge il cambio corrispondente da COGCAMBI tramite rd-cogcambi-lk e lo pone in tm-cam(i).
Griglia (a-grid / a-accept-grid): presenta la lista divise con i relativi cambi. In modalita' Aggiornamento ("A"), INVIO su una riga apre il pannello dettaglio (a-riga-dettaglio). F3 commuta tra modalita' Selezione ("S") e Aggiornamento ("A").
Modifica cambio (a-tm-cam): accetta il nuovo valore tramite utilu20.cpy. Al termine (a-riga-dettaglio-fine), se il record esiste in COGCAMBI lo aggiorna con rwr-cogcambi, altrimenti lo inserisce con wr-cogcambi. La griglia viene aggiornata tramite GRIDADMN "Modify-Record".
Navigazione giorni: i pulsanti Giorno Precedente/Successivo (a-giorno-prec, a-giorno-succ) calcolano la nuova data con la coppia DTPRG/PRGDT e rilanciano a-carica-cambio.
Chiusura: chiude COGCAMBI, cancella il modulo e chiama z-99-exit-program.
Note¶
- Massimo 50 divise visualizzabili in griglia (costante
k-max-ele-tab = 50). - Le funzioni Ctrl-A (aggiungi riga) e Ctrl-E (elimina riga) sono presenti nel sorgente ma disabilitate (codice commentato).
- Il campo
tm-vc(valuta conto) viene passato come chiave a COGCAMBI; e' valorizzato dacoge25d.wrk. - COGCAMBI ha chiave secondaria
.k02(non inclusa automaticamente da Screens): la join usard-cogcambi-lksulla chiave primaria.
Documentazione tecnica generata -- 2026-07-15