Midrange News for the IBM i Community

Posted by: Chris Proctor
Programmer Analyst
Columbia Sports Company
Portland, OR
Passing a data structure as a parm
has no ratings.
Published: 29 Sep 2015
Revised: 30 Sep 2015 - 3158 days ago
Last viewed on: 21 May 2024 (3783 views) 

Using IBM i? Need to create Excel, CSV, HTML, JSON, PDF, SPOOL reports? Learn more about the fastest and least expensive tool for the job: SQL iQuery.

Passing a data structure as a parm Published by: Chris Proctor on 29 Sep 2015 view comments(2)

Hello all. I'm having a problem coding with the new "DCL-"  when it comes to passing a data structure to a program that is being called within a program. I'm sure I just have the syntax wrong. Can someone please give me the correct way to code it? The error is telling me that the attributes of PARM4 don't match the prototype. It appears that maybe the program sees PARM4 as a data structure, but the prototype sees it as a CHAR(256) field, right? If so, how should I adress this? I don't think I can define the parm in the prototype as a data structure.  Thanks in advance!! Here's an example of one:



dcl-pr prcTypCurrSearch extpgm('TBL170');

  parm4 char(256);



dcl-ds parm4 extname('TBL170ED') inz end-ds;




dsevnt = sevent;

dsmod = 'PRC';

dsact = '1';

dstrn = '1';

dsnact = '0';

dshom = '0';


Return to midrangenews.com home page.
Sort Ascend | Descend


(Sign in to Post a Comment)
Posted by: bobcozzi
Site Admin ****
Comment on: Passing a data structure as a parm
Posted: 8 years 7 months 23 days 16 hours 59 minutes ago
Edited: Wed, 30 Sep, 2015 at 09:25:34 (3158 days ago)

Um... LIKEDS can be used on Parameters since V5R3 (or was it V5R4).

So yes, you can define it as a DS, and probably should.

If your example is how your code is, then your issue could be that you have the prototyped parameter name as PARM4 and a data structure name of PARM4. So LIKEDS(PARM4) (which is also your data structure name) is not permitted. Since parameter names on Prototypes are just comments except for their definition, then change the parm name to something else on the prototype.

Posted by: chrisp
Premium member *
Portland, OR
Comment on: Passing a data structure as a parm
Posted: 8 years 7 months 23 days 15 hours 26 minutes ago

 Thanks, Bob. That worked like a champ!