JAVA: Somma valori tabella IMDB e arrotondamenti
copia linkDescrizione del difetto
In un caso molto specifico la somma di valori contenuti in tabelle IMDB poteva fornire un valore diverso se si utilizzava una query o si effettuava un ciclo FOR-EACH-ROW sui dati per comporre la somma.
Il malfunzionamento si manfiestava solo in tecnologia Java, e solo in questo caso particolare:
- tecnologia Java
- tabella IMDB con dati di tipo FLOAT
- si effettuava la somma tramite query SELECT:
select into variables (found variable) set MySum = sum(Campo) from TabellaIMDB // master table - si effettuava la somma tramite ciclo FOR-EACH-ROW:
MySum = 0 for each row (readonly) { select Campo1NomeOggetto = Campo from TabellaIMDB // master table MySum = MySum + Campo1NomeOggetto }
Effetti del malfunzionamento
- La somma calcolata tramite query SELECT forniva un risultato diverso da quello ottenuto sommando i dati tramite ciclo FOR-EACH-ROW. La differenza era molto piccola ed era dovuta al fatto che si effettuava la somma di valori FLOAT all'interno di variabili DECIMAL.
-
Il malfunzionamento riguardava l'istruzione
select into variables (found variable) set MySum = sum(Campo) from TabellaIMDB // master tablee si manifestava solo se il tipo di dati sommati (FLOAT) non coincideva con il tipo di dato della variabile MySum (DECIMAL) dell'esempio.
Soluzioni
Non sono disponibili workaround per le versioni precedenti.
Funzionalità interessate
Il calcolo di somme tramite query su tabelle IMDB.
Note
- Malfunzionamento relativo alla richiesta di assistenza 001946-2023.
Ultima modifica: 11/06/2025 / Validità: da 24.0.9300