× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I'm having trouble with the logic of this.

If you had simply passed the DS _as_ a parameter a pointer to the DS would have been passed. It seems you're doing a bunch of work to no effect.

In the prototype and the PI simply specify the parameter as LikeDS(dsNameGoesHere).

what am I missing?


Jon Paris

www.partner400.com
www.SystemiDeveloper.com

On Jul 5, 2019, at 4:32 PM, Dexter Thompson <dexter.thompson@xxxxxxxxx> wrote:

I had a similar issue and resolved it using pointers. I assigned the
pointer to the DS/Array. Then I just passed the pointer to procedure as
the parameter instead of the DS/Array.

dcl-s array_ptr POINTER ;
dcl-ds Array_ds occurs(5000) based(array_ptr) ;

parameter that is passed is array_ptr

In called subprocedure (program, etc)
- receive parm_array_ptr

dcl-s sub_array_ptr Pointer ;

dcl_ds Array_ds occurs(5000) based on (sub_array_ptr)

sub_array_ptr = parm_array_ptr

Since you are using the same address, all the changes will be there when
you return.



On Fri, Jul 5, 2019 at 4:02 PM Greg Wilburn <
gwilburn@xxxxxxxxxxxxxxxxxxxxxxx> wrote:

I don't know why I always struggle with this

I have created a sub procedure that uses an SQL cursor to gather a list of
ID numbers (see below). I mean this will work if I move the DS definition
to the main part of the pgm

So my question is how to define a parameter to return this data to the
main part of the pgm?
And how do I define the variable in the main part of the pgm?


dcl-pi CheckShipIDs;
inPID like(phpid#) const;
inPO like(phpo#) const;
end-pi;


dcl-ds ship qualified dim(10);
id char(20);
end-ds;
dcl-s maxrows uns(5) inz(%elem(ship));

Exec Sql
Declare pscsr Cursor for
Select distinct(psidcd) from POSDQPS
exception join ADRESSAD on adent#=:wkent# and adaltk=:psidcd
where pspid#=:inPID and pspo#=:inPO;

Exec Sql Open pscsr;
Exec Sql Fetch Next from pscsr For :maxrows Rows into :ship;


--
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



--

*Dexter Thompson*
Software Engineer, iSeries Applications Support and Development

[image: Inmar]
<https://www.inmar.com/?utm_source=email%20signature&utm_medium=email&utm_campaign=Associate%20Email%20Signature&utm_content=Inmar%20Logo>

dexter.thompson@xxxxxxxxx
635 Vine Street, Winston Salem, NC 27101
*p: *555-555-5555 | *c: *123-123-1234 | *f: *123-456-7890
www.inmar.com
<https://www.inmar.com/?utm_source=email%20signature&utm_medium=email&utm_campaign=Associate%20Email%20Signature&utm_content=URL%20link>
| LinkedIn <https://www.linkedin.com/company/inmar> | Facebook
<https://www.facebook.com/inmarinc> | Twitter
<https://twitter.com/inmarinc>

--


********************************************





*Inmar Confidentiality
Note*: This e-mail and any attachments are confidential and intended to be
viewed and used solely by the intended recipient. If you are not the
intended recipient, be aware that any disclosure, dissemination,
distribution, copying or use of this e-mail or any attachment is
prohibited. If you received this e-mail in error, please notify us
immediately by returning it to the sender and delete this copy and all
attachments from your system and destroy any printed copies. Thank you for
your cooperation.





*Notice of Protected Rights*: The removal of any
copyright, trademark, or proprietary legend contained in this e-mail or any
attachment is prohibited without the express, written permission of Inmar,
Inc. Furthermore, the intended recipient must maintain all copyright
notices, trademarks, and proprietary legends within this e-mail and any
attachments in their original form and location if the e-mail or any
attachments are reproduced, printed or distributed.




********************************************
--
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.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.