|
Barbara, I'm still missing something. Maybe I'm not explaining it correctly. In your example the data structure is being passed as a parameter. What I was trying to do was define the data structure inside the subprocedure. I have modified your example to try and better show what I mean. Fpf1 if e disk D subproc pr c callp subproc C return P subproc b D subproc pi D ds ds likerec(rec1) c eval fld1 = 'x' c eval ds.fld1 = 'y' c read rec1 ds c ds.fld1 dsply fld1 P subproc e -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Barbara Morris Sent: Friday, August 27, 2004 10:36 AM To: rpg400-l@xxxxxxxxxxxx Subject: Re: Subroutines vs Subprocedures was RE: Indicators Rick.Chevalier@xxxxxxxxxxxxxxx wrote: > > 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, here's an example (that compiles on V5R2) of using a locally-defined LIKEREC DS in a subprocedure. The first record in my file has 'a' in fld1. The program displays DSPLY a x Fpf1 if e disk D subproc pr D parm likerec(rec1) D ds ds likerec(rec1) c eval fld1 = 'x' c eval ds.fld1 = 'y' c callp subproc (ds) c ds.fld1 dsply fld1 C return P subproc b D subproc pi D parm likerec(rec1) c read rec1 parm P subproc e --
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.