× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I retrieve the member info you seek for a number of senarios.
I indulge in a little ego stroking here, by elaborating.

Primarily, when writing to a log file, I wish to limit the content to
just the current day.
The name assigned to each member is derived from the current date e.g.
A071230 (Dec 30 2007)
When the date changes, I route to a subroutine which closes the file,
adds a new member and associated logical(s), then reopens the file and
continues. This allows the log file to be managed more easily on a
member by member basis.

FMYLOGFILE IF A E DISK USROPN
F EXTMBR(Member)
F INFDS(FDS)

D FDS DS 528
D Errmsg 7 Overlay(FDS:46)
D MbrName 10 Overlay(FDS:129)

In an *INZSR I always set Member to '*LAST' before opening the file.
Whne it opens the FDS yields the name of the current (last) member. In
the mainline, before performing an I/O, the name of the member currently
open is compared with the current date to determine if a new member
should be used.

I have also added a feature when adding a new member that traps the file
exception if the number of members has reached a nominated maximum. If
so, then the file is reopened by specifying '*FIRST,' which populates
Member with the name of the first member. This allows me to explicitly
remove the first member before repeating the attempt to add a new
member.

In conclusion, this provides me with some fairly generic code that can
be used to automate the management of files that store historical data,
being able to vary how much history is retained simply by changing the
MAXMBRS physical and logical file attribute. Of course, the condition
for adding a member could be when the month changes, rather than the
day.

Cheers, Peter





-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Lim Hock-Chai
Sent: Saturday, 1 March 2008 4:13 a.m.
To: RPG programming on the AS400 / iSeries
Subject: RE: How to get the Physical file member name when
readingalogicalmember that is based on multiple physical members


I'm actually asking this question on behalf of one of my colleague. I
think the reason that he needs to know the physical member name is
because the logical file is not a unique keyed logical file. If user
selected a record from the subfile that is base on data in this logical
file, he needs a way to get back to that record that user selected. To
do that he'll need to know which physical file member that record
actually reside in (Note: This is a very big file, unless it is
absolutely necessary, we do not wish to create another logical over it).


So..., record format name does not help in this case.



-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Patrick Townsend
Sent: Tuesday, February 26, 2008 7:15 PM
To: 'RPG programming on the AS400 / iSeries'
Subject: RE: How to get the Physical file member name when reading
alogicalmember that is based on multiple physical members

Lim,

Why not use the record format name? You can find it in this location in
the file feedback structure:

RcdFmt 261 270a

Patrick

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx]
On Behalf Of Lim Hock-Chai
Sent: Tuesday, February 26, 2008 3:03 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: How to get the Physical file member name when reading a
logicalmember that is based on multiple physical members

Hello,
I need to know the actual physical file member name of record that being
read from a logical file member that is based on multiple physical
members. I did some research and found that position 395-396 in INFDS
seems to be what I needed. It seems to contain the actual
physical-file-member-number of the currently read logical file record.
The question is how can I translate this member number into the actual
member name? The only way I know of is to do DSPFD to a temporary out
file and do a chain to this temp file using member number as the RRN.
This sound ugly.




--
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 thread ...

Replies:

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

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.