This might be a stupid question because I'm overlooking something (or I am
not thinking straight) but why are you doing a CALLP when you have
prototyped the program? Can't you just do
PVW002(d_output.s_rtnStatus
:PVW002Input
:PVW002Output
:d_output.s_planTypeList);
Does that make it any happier?
-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Dean
Eshleman via RPG400-L
Sent: Thursday, June 16, 2022 10:57 AM
To: rpg400-l@xxxxxxxxxxxxxxxxxx
Cc: Dean Eshleman <Dean.Eshleman@xxxxxxxxxxxx>
Subject: Compile error question
I have an SQLPPGLE program that is failing to compile. We are 7.3.
I have the following prototype definition:
Dcl-Pr PVW002 extpgm('PVW002');
ReturningStatus_ Like(ReturningSts);
PVW002Input_ LikeDS(PVW002Input);
PVW002Output_ LikeDS(PVW002Output);
PVW002FetchedData_ LikeDS(PVW002FetchedData)
dim(52);
End-Pr;
Dcl-Ds PVAPTPDS ExtName('PVAPTP') Qualified Template;
End-Ds;
Dcl-Ds PVW002FetchedData Qualified Dim(52);
Annuity_plan_type_code like(pvaptpds.ANNPLNTP);
Annuity_plan_type_external_desc like(pvaptpds.DESCAPTEXT);
End-Ds;
In my program, I have the following data structure defined.
d d_output ds qualified inz
d s_rtnStatus 7A
d s_rowsFetched 9p 0
d s_planTypeList likeds(d_plantypelist) dim(52)
d d_plantypelist ds qualified inz
d s_planType 1A
d s_planTypeDesc 70A
I'm trying to call the program using
Callp(E) PVW002(d_output.s_rtnStatus
:PVW002Input
:PVW002Output
:d_output.s_planTypeList);
The compile is failing with RNF5343. Array s_PLANTYPELIST has too many
omitted indexes.
I do have *LVL2 specified on the compile options for RPGPPOPT. When I look
at the outline in RDi, the definition of d_output.s_planTypeList looks
identical to PVW002FetchedData. They both show dim(52) with 2 subfields.
So why is it complaining? Is it because s_planTypeList is inside another
data structure?
Dean Eshleman
Software Development Architect
Everence
1110 North Main Street
PO Box 483
Goshen, IN 46527
(800) 348-7468 ext. 3528
(574) 533-9515 ext. 3528
[Join our Talent Network]<
http://www.everence.com/careers>
Confidentiality Notice: This information is intended only for the individual
or entity named. If you are not the intended recipient, do not use or
disclose this information. If you received this e-mail in error, please
delete or otherwise destroy it and contact us at (800) 348-7468 so we can
take steps to avoid such transmission errors in the future. Thank you.
--
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.