Thanks Chris... someone in a previous reply mentioned using the qualified DS.
That is the missing link.
Since PLIST1 will likely be defined in all the programs that call this procedure, where is it best to place the definition for the prototype and procedure interface?
Would it be best to name it something else for purposes of the PR and PI "LIKEDS"?
-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxxxxxxxx] On Behalf Of Hiebert, Chris
Sent: Monday, April 15, 2019 9:54 AM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: RE: Advice passing a large parameter
Your procedure interface defines the name of the parameter being passed.
inPlist1 likeds(plist1) const;
By using LIKEDS the data structure is automatically qualified.
So, in the Procedure you would reference the fields by qualifying access.
inPlist1.fieldname
The data structure plist1 is empty because, within the service program, it has not been set to a value.
If you "must" use the unqualified fields from plist1, then your procedure would need to load plist1 from inPlist1.
I find it best to use qualified data structures whenever possible.
Chris Hiebert
Senior Programmer/Analyst
Disclaimer: Any views or opinions presented are solely those of the author and do not necessarily represent those of the company.
-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxxxxxxxx] On Behalf Of Greg Wilburn
Sent: Monday, April 15, 2019 7:49 AM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: RE: Advice passing a large parameter
OK... but the subfields in inPlist1 have the same name.
When I look at inPlist1 in debug, I can see data in the subfields. Yet when referencing just the subfield name in the procedure, it is empty.
--
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@xxxxxxxxxxxx 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.