Much thanks again, Birgitta!
Thanks,
Kelly Cookson
Senior Software Engineer II
Dot Foods, Inc.
1-217-773-4486 ext. 12676
www.dotfoods.com
-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Birgitta Hauser
Sent: Wednesday, February 9, 2022 9:56 AM
To: 'RPG programming on IBM i' <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: RE: [EXTERNAL] RE: SQL RPG and Web API Consumption
Mit freundlichen Grüßen / Best regards
Birgitta Hauser
"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)
I was just thinking about cases where we might want to consume an API
from
an existing RPG or COBOL program.
This is a very simple web-service that is accessed and consumed with SQL:
Select *
from
JSON_TABLE(httpgetClob('
https://urldefense.com/v3/__http://www.geognos.com/api/en/countries/info/DE.json__;!!BZnD2a2Aqg!QYe4ezlLrNGPj8Qimy64CxNZxFxkzCFzx37QIPGiJ7Oa2PQFHZk24wk7hdF3PCegQQ$
', ''),
'$.Results'
Columns(Country VarChar(25) Path '$.Name',
Capital VarChar(25) Path '$.Capital.Name',
ISO2 VarChar(2) Path
'$.CountryCodes.iso2',
ISO3 VarChar(3) Path
'$.CountryCodes.iso3',
GeoPt1 Dec(7, 2) Path '$.Capital.GeoPt[0]',
GeoPt2 Dec(7, 2) Path '$.Capital.GeoPt[1]',
Web VarChar(256) Path '$.CountryInfo')) x;
Just put the SELECT-Statement into a Cursor in your embedded Cobol program and loop through the result ... and do what ever you want to do with the data.
As an Amazon Associate we earn from qualifying purchases.