Re: decimal not compiling works in interactive sql in json

cesco via RPG400-L <[email protected]> Tue, 31 Mar 2026 14:54:31 +0000 (UTC)
Newsgroups gmane.comp.lang.as400.rpg
Message-ID <[email protected]>
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 <[email protected]> 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 <[email protected]> On Behalf Of cesco via
RPG400-L
Sent: Tuesday, 31 March 2026 13:21
To: [email protected]
Cc: cesco <[email protected]>
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: [email protected] To subscribe, unsubscribe, or
change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: [email protected]
Before posting, please take a moment to review the archives at
https://archive.midrange.com/rpg400-l.

Please contact [email protected] for any subscription related
questions.

-- 
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: [email protected]
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: [email protected]
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact [email protected] for any subscription related questions.

-- 
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: [email protected]
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: [email protected]
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact [email protected] for any subscription related questions.