|
Simple solution there Steema... Thanks...
"The more you know"
Michael Schutte
"Bob Cozzi"
<cozzi@xxxxxxxxx>
Sent by: To
rpg400-l-bounces@ "'RPG programming on the AS400 /
midrange.com iSeries'" <rpg400-l@xxxxxxxxxxxx>
cc
05/26/2006 09:00 Subject
AM RE: Reading a member file
Please respond to
RPG programming
on the AS400 /
iSeries
<rpg400-l@midrang
e.com>
You don't need to create a list of member names to process all the members
in a
file.
Simply override the file to MBR(*ALL) and then call the program as usual.
When
you read the file you will read records from the first member in the file.
When
you hit the last record in that first member, and then do a subsequent
READ, the
system does a sort of mini-close/open of the file; opening the next member.
This "just happens" you don't have to create the member list. The INFDS
for the
file contains the "current" member name as you read through the file's
records.
So you always know what member you are processing.
-Bob Cozzi
www.RPGxTools.com
RPG xTools - Enjoy programming again.
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On
Behalf Of Michael_Schutte@xxxxxxxxxxxx
Sent: Friday, May 26, 2006 7:41 AM
To: RPG programming on the AS400 / iSeries
Subject: Re: Reading a member file
Here's what I would do... Either use the API that the other person
suggested (I'll have to keep that in mind the next time, that one is new to
me), or the CL command that I suggested.
If you use the CL command, first execute the CL command to build the file
in QTEMP...
Then in the RPG program do...
FDSPFD IF E K DISK ExtFile(QTEMP/DSPFD)
* I'm doing this from memory, so I don't know if you can
* reference a field from DSPFD file. You may need to Change
FMYFILE IF E K DISK ExtMbr(MBNAME) UsrOpn
/Free
Read DSPFD;
DoW not %EoF(DSPFD);
// Close MyFile In Case It's Open
If %Open(MyFile);
Close MyFile;
EndIf;
// Open MyFile To The Member
// Specified In field MBNAME
Open MyFile;
Read MyFile;
DoW not %EoF(MyFile);
// Do MyFile Processing... Writing To Workfile
Read MyFile;
EndDo;
Read DSPFD;
EndDo;
// Close MyFile In Case It's Open
If %Open(MyFile);
Close MyFile;
EndIf;
*InLr = *On;
Return;
/End-Free
Michael Schutte
steema@diskhaven.
com
Sent by: To
rpg400-l-bounces@ "RPG programming on the AS400 /
midrange.com iSeries" <rpg400-l@xxxxxxxxxxxx>
cc
05/25/2006 05:38 Subject
PM Re: Reading a member file
Please respond to
RPG programming
on the AS400 /
iSeries
<rpg400-l@midrang
e.com>
I think what I can do is to read the entire file, and make a work file out
of it.
I only need to be concerned w/ the past 2 years.
Is the approach the same in this scenario, of reading the file, all of the
members? U would have to make it a called program w/ the ovrdbf?
> I don't know if you got the answer you wanted, but one suggestion that
> comes to mind.
>
> DSPFD FILE(LIBRARY/FILE) TYPE(*MBR) OUTPUT(*OUTFILE) FILEATR(*ALL)
OUTFILE
> (QTEMP/DSPFD)
>
> Then you can read through QTEMP/DSPFD looking at the field... MBNAME
>
> Hope that helps.
>
>
> Michael Schutte
>
>
>
>
> steema@diskhaven.
> com
> Sent by:
To
> rpg400-l-bounces@ rpg400-l@xxxxxxxxxxxx
> midrange.com
cc
>
>
Subject
> 05/25/2006 11:47 Reading a member file
> AM
>
>
> Please respond to
> RPG programming
> on the AS400 /
> iSeries
> <rpg400-l@midrang
> e.com>
>
>
>
>
>
>
> HI - also they now want to add a comment to the report. Doesn't have to
be
> on the subfile. THe comment is stored on a file by member. THe name of
the
> member is the invoice number. That is fine I have that. My question is
how
> to read this file, by setll, or can chain, or some other way?
>
> Thanks,
> Steve
> --
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list
> To post a message email: RPG400-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
> or email: RPG400-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/rpg400-l.
>
>
>
> --
> This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing
list
> To post a message email: RPG400-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
> or email: RPG400-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/rpg400-l.
>
>
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
--
This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.