|
Monica - what do you mean "forcing information to pass".
The only thing that passes anywhere is the pointer to the original DS
passed on the call.
From there on copy of the definition is BASED on that pointer to allow
access to the _original_ data. No data is moved - it stays in the original
calling program as it does with the fixed form method.
I think you may be misunderstanding how parameters work.
On Mar 11, 2020, at 11:11 AM, Mónica Anastácio <monicaanastacio@xxxxxxxxx> wrote:
forcing
The solution with pointer from Joe end up being exactly the same ,
information to pass from one side to another, and that’s what I want to12:54 :
avoid
Maybe theres no other way of using a external DS like parm entry in FREE.
DCL-DS waapids_orig extname('FR5005DS') inz;
-----------------------------
--------------------------------------------------------
DCL-PI *N;
p_waapids like(waapids_orig);
END-PI;
----------- --------------------------------------------------------
begsr $pcpgm;
* waapids_orig = p_waapids; *
endsr
--------------------------------------------------------------------
begsr $ucpgm;
* p_waapids = waapids_orig; *
return;
endsr;
Barbara Morris <bmorris@xxxxxxxxxx> escreveu em qua, 11/03/2020 às
work
On 2020-03-10 9:38 a.m., Mónica Anastácio wrote:
Well after this morning meeting, im allowed to find a new solution not
based in what we used to do i fexed format. But the new solution has
questions.--with “Pointers” if anyone can help me. I really appreciate it 😉
Mónica,
Joe Pluta already showed an example of how to do this using pointers.
Here is the code that Joe posted.
dcl-ds er5005ds extname('ER5005DS') based(per5005ds) end-ds;
dcl-pi *n;
i_er5005ds like(er5005ds);
end-pi;
per5005ds = %addr(i_er5005ds);
That method allows you to use the subfields of er5005ds with just the
subfield names (addr, id_no) instead of coding er5005ds.addr,
er5005ds.id_no).
Did you mean that you want a new solution to work _without_ pointers?
If that is what you meant, then I think the best way is to code like
this. (I believe other people have already recommended this method ...)
dcl-ds er5005ds_t extname('ER5005DS') qualified template end-ds;
dcl-pi *n;
er5005ds likeds(er5005ds_t);
end-pi;
But now, you have to code the subfields of the parameter as qualified
names.
if er5005ds.addr = *blanks;
...
--
Barbara
--
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
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
link: https://amazon.midrange.com
Help support midrange.com by shopping at amazon.com with our affiliate
--
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 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.