You should not be using LIKE. You should use LIKEDS.

That way all fields within the DS can be accessed directly try from the parm. For example:

dcl-ds myParmDS Template; // Put this in a /Copy so all progs can use it
field1 char(5);
field2 packed(7:2);
field3 varchar(200);
end-ds;

dcl-ds parms LikeDS(myParmDS);

dcl-pr CallPgm ExtName('WHATEVER');
allParms LikeDS(myParmDS);
end-pr;

parms.field1 = 'ABCDE';

CallPgm( parms );


In the WHATEVER program.

/Copy the template(s)

dcl-pi .....
parmData LikeDS(myParmDS);
end-pi;

// example file use

CHAIN parmdata.field1 AnyFile;

If %Found(AnyFile);
parmdata.field2 = data from file
etc. etc.
End-If;


NOT TESTED - done in a hurry.

There are lots of examples on the web look for use of Qualified Data Structures.



On Mar 4, 2020, at 5:39 AM, Mónica Anastácio <monicaanastacio@xxxxxxxxx> wrote:

In fixed we work with external data structures to received information and
pass information between programs.
*---------------------------------------------------------------------------------------------
D er6005ds e ds extname(er6005ds)

D wrtprba 4 dim(50) overlay(#tractprba)
Tp Reembolso Anteci.
D wrdesc 80 dim(50) overlay(#tracdesc)
Desc. Tp Reemb. Ant.
*---------------------------------------------------------------------------------------------
C *entry plist
C parm er6005ds

And now we have to used FREE and maintain the same structure.
DCL-DS ER6005DS extname('ER6005DS') inz;
wrtprba char(4) dim(50) overlay(#tractprba);
wrdesc char(80) dim(50) overlay(#tracdesc);

but i can use the same ext DS in the procedure interface:
DCL-PI *N;
p_er6005ds like(ER6005DS);
END-PI;

The information from the caller is on P_ER6005DS.

And i have on the pcpgm always to do:

ER6005DS = P_ER6005DS;

e the ucpgm the inverse:

P_ER6005DS = ER6005DS;

Theres any way of receive the information not in P_ER6005DS, but in the DS
declare with the arrays???
--
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.