Thanks Birgitta!... that was it! Silly of me trusting the parsers so much ; )
Marco: those are latitude/longitude data for italian zip/cap/municipalities, such precision 7 is to preserve the one in the json itself.
thanks all
On Tuesday, March 31, 2026 at 04:19:18 PM GMT+2, Birgitta Hauser <hauser@xxxxxxxxxxxxxxx> wrote:
Could it be ... you are working in an environment where you use the decimal
comma and not the decimal point.
Just try to change DECIMAL(13,7) into DECIMAL(13, 7) (with a blank between
13 and 7!
When using the decimal comma 13,7 is interpreted as a single number and not
as 2 independent numbers.
When adding a blank after the comma, 13, 7 is interpreted as 2 independent
numbers.
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
Modernization – Education – Consulting on IBM i
Database and Software Architect
IBM Champion since 2020
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
Brown)
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
"Train people well enough so they can leave, treat them well enough so they
don't want to. " (Richard Branson)
"Learning is experience … everything else is only information!" (Albert
Einstein)
-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of cesco via
RPG400-L
Sent: Tuesday, 31 March 2026 13:21
To: rpg400-l@xxxxxxxxxxxxxxxxxx
Cc: cesco <emaxt6@xxxxxxxxx>
Subject: decimal not compiling works in interactive sql in json
hi guys,
it is just my compiler (v7r5) that chokes with DECIMAL(x,y) but compile with
DECIMAL(x) while all working in interactive????
some precompile magic to set?
I have a super simple routine below (parse a json from ifs to db2 table for
staging).
works with decimal(13) not decimal(13,7)!!! any clue?
BEGSR refreshStaging;
EXEC SQL DELETE FROM CAP;
EXEC SQL INSERT INTO CAP
SELECT jt.*
FROM TABLE(IFS_READ_UTF8(
PATH_NAME => :gi_comuni_cap,
END_OF_LINE => 'NONE')) src,
JSON_TABLE(src.LINE, '$[*]' COLUMNS(
LATITUDINE DECIMAL(13,7) PATH '$.lat',
LONGITUDINE DECIMAL(13,7) PATH '$.lon'
)) AS jt
WHERE jt.COD_ISTAT <> '';
ENDSR;
--
This is the RPG programming on IBM i (RPG400-L) mailing list To post a
message email: RPG400-L@xxxxxxxxxxxxxxxxxx To subscribe, unsubscribe, or
change list options,
visit:
https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.
As an Amazon Associate we earn from qualifying purchases.