|
D DS1 LIKEREC(LFORMAT1 *INPUT)
D DS2 LIKEREC(LFORMAT2 *INPUT)
What release level are you at? The new ability to pass a file to a
sub-procedure looks perfect for you. (V6R1).
The other one I could think of is why not just use an override? Have
one dummy input file overridden to the actual.
The other one I could think of is that you do not need a separate data
structure. Couldn't you declare a templete (Type defintion) in the
header and use EVAL-CORR?
d TD_FORMAT...
d e ds ExtName(LF1)
d Based(StdNulPtr)
d FileData...
d ds LikeDs(TD_Format)
FileData = GetFileData(values);
In Subprocedure
d FileData...
d ds LikeDs(TD_Format)
Chain LFILE1 DS1;
Eval-Corr FileData = DS1;
Return FileData;
This could be especially handy if you don't want all the data.
Not sure I am really answering your question.
On Mon, Feb 16, 2009 at 10:09 AM, David FOXWELL <David.FOXWELL@xxxxxxxxx> wrote:
> I don't understand why I can't do this :
>
>
> I have a procedure that selects which LF to CHAIN to depending upon its input parameters. All the LF's compiled on the same PF.
>
> Trouble is I seem to need a different DS receptor for each LF. When I try to compile I get RNF7595 "Position 1of the DS doesn't contain a subzone for a record format".
>
> If I look at the compile listing of the DS definitions DS1 and DS2, they seem to be identical.
>
> D DS1 LIKEREC(LFORMAT1 *INPUT)
> D DS2 LIKEREC(LFORMAT2 *INPUT)
>
> CHAIN LFILE1 DS1;
>
> CHAIN LFILE2 DS2;
>
> How can I get the result of the CHAIN into one common DS?
>
> Thanks.
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.