I think you have some superfluous code there, Shane.

Your existing code could be written as this single line:

D ADS EUDS EXTNAME(FILE)

- the "U" in column 23 assumes a Data Area Data Structure and reads in the *DTAARA ADS at the start of the program - no need for DEFINE or IN.

The equivalent free format would look like:

Dcl-DS ADS EXTNAME('FILE') Dtaara(*Auto) End-DS;

NOTE: As the RPG IV Reference states,

"Externally-described data structure
Specify either the EXT keyword or the EXTNAME keyword as the first keyword."

HTH,
Brian.


On 19/10/2018 21:34, SReeves@xxxxxxxxxxxxxxxxxx wrote:
**** I was writing this as a question and then figured out 'A' solution,
so rather than scrap the whole e-mail I guess I would pose the question.
Is this cleanest solution?

We have many program that use basically this in fixed format...

D ADS EUDS EXTNAME(FILE)
C *DTAARA DEFINE ADS
C UNLOCK ADS
C IN ADS

It is a Data Area Data structure 'ADS' that uses the structure of the
'File'.

How do I duplicate this with Free specs?

-----------------------
This is what I came up with....

Dcl-Ds FILE_DS EXTNAME('FILE') INZ;
End-Ds;

Dcl-Ds ADS DTAARA('ADS');
DSDS like(FILE_DS);
End-Ds;

In ADS;
FILE_DS = ADS;

FILE_DS is now populated with the values with the data area data structure
'ADS'. My original question was how do I do this in Free. Now I guess,
is this right/best/cleanest way?



Shane Reeves


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-2020 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].