Vai al contenuto

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 da coge25d.wrk.
  • COGCAMBI ha chiave secondaria .k02 (non inclusa automaticamente da Screens): la join usa rd-cogcambi-lk sulla chiave primaria.

Documentazione tecnica generata -- 2026-07-15