Barbara,

I seem to remember trying to use a data structure defined using LIKEREC in a 
subprocedure and the compiler not accepting it.  IIRC I had to move it into the 
global definitions for the program.  If that's true how does defining a data 
structure with LIKEREC allow I/O without accessing global variables?  Maybe I'm 
not understanding the definition of global?

Rick

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Barbara Morris
Sent: Thursday, August 26, 2004 8:38 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: Re: Subroutines vs Subprocedures was RE: Indicators


Joe Lee wrote:
> ... There are many instances where you must access the global field
> variables, for instance any time you do a file I/O operation in the
> subprocedure you have no choice but to access the global field
> variables. 
> ...

Starting in V5R2 you can do I/O to a record format without accessing any
global fields by using a LIKEREC data structure in the result field.  In
V5R3, the rules are somewhat relaxed: you can use an
externally-described DS and you can specify a result DS for I/O to an
externally-described file name.

The file and record name are still global, though.  And the PSDS, INFDS,
INDDS etc. also have to be global.




This thread ...

Follow-Ups:

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

This mailing list archive is Copyright 1997-2026 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.