I knew this was coming.. lol.
I need to be more granular. I need to control how many elements are in each json file and name the files accordingly. This isn't a case where the app is responding to a web service. Rather, creating JSON data files for a batch process to get data into another system.
The job below is easy with native access, but becomes difficult when using SQL.
-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Tim Fathers
Sent: Wednesday, February 2, 2022 4:30 AM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: YAJLDTAGEN with SQL into DS
Why would you not just use SQL to create the JSON directly?
Tim
________________________________
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> on behalf of Greg Wilburn <gwilburn@xxxxxxxxxxxxxxxxxxxxxxx>
Sent: 01 February 2022 22:03
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: YAJLDTAGEN with SQL into DS
So I have a working application where I've used SQL data access to load a Data structure.
dcl-ds Customers qualified dim(50) inz;
addr_line1 varchar(40) inz('');
addr_line2 varchar(40) inz('');
city varchar(40) inz('');
state varchar(3) inz('');
zip varchar(10) inz('');
phone varchar(22) inz('');
email varchar(50) inz('');
end-ds;
I then use YAJLDTAGEN to create the JSON file:
DATA-GEN %SUBARR(customers:1:sqlRows)
%DATA(inStmf: 'doc=file output=clear')
%GEN('YAJLDTAGEN');
Output looks like this:
[
{
"addr_line1": "64a N Williams St",
"addr_line2": "",
"city": "Crystal Lake",
"state": "IL",
"zip": "60014",
"phone": "7792204179",
"email": "marvinstoys@xxxxxxxxx"
},
{
"addr_line1": "267 Main St",
"addr_line2": "",
"city": "Huntington",
"state": "NY",
"zip": "11743",
"phone": "6315498743",
"email": "lsdolls@xxxxxxx"
}
]
The endpoint has asked for this:
{
"Customers": [
{
"addr_line1": "64a N Williams St",
"addr_line2": "",
"city": "Crystal Lake",
"state": "IL",
"zip": "60014",
"phone": "7792204179",
"email": "marvinstoys@xxxxxxxxx"
},
{
"addr_line1": "267 Main St",
"addr_line2": "",
"city": "Huntington",
"state": "NY",
"zip": "11743",
"phone": "6315498743",
"email": "lsdolls@xxxxxxx"
}
]
}
I know how to create the DS... but then I'm not sure how to do Exec SQL INTO that DS.
I'm pretty sure the "into variable" cannot be "json.Customers".
What am I missing?
TIA,
Greg
[Logo]<
https://www.totalbizfulfillment.com/> Greg Wilburn
Director of IT
301.895.3792 ext. 1231
301.895.3895 direct
gwilburn@xxxxxxxxxxxxxxxxxxxxxxx<mailto:gwilburn@xxxxxxxxxxxxxxxxxxxxxxx>
1 Corporate Dr
Grantsville, MD 21536
www.totalbizfulfillment.com<
http://www.totalbizfulfillment.com><
http://www.totalbizfulfillment.com<
http://www.totalbizfulfillment.com>>
--
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.
Help support midrange.com by shopping at amazon.com with our affiliate link:
https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.