|
On Tue, 23 Jan 2001, Jim Langston wrote: > Is the Open Stream File (QHFOPNSF) API the easiest/best way to determine if > a file member already exists? I am thinking of passing this call the path > of /qsys/cartage/archinrex.rec010124 (member name being 'REC' = YYMMDD of > file) and telling it not to open it if it exists, and not to open it if it > doesn't exist. Then looking at the error that will be returned to determine > if it exists or not. If it already exists, I'll add an 'A' to the end so > it becomes REC010124A and try again, then 'B' etc.. Ummm... QHFOPNSF will only read /QDLS and /QOPT it can't check to see if you have a member in /QSYS.LIB. Perhaps you meant the open() API from the Integrated File System APIs described in the UNIX-type APIs manual? (Or for that matter, access() would probably work even better) > > The reason I'm doing it this way is because I want this done in RPG, not CL. > You could also try the QUSRMBRD (retrieve member description) API. This is probably also more efficient than the OVRDBF/OPEN approach. I don't know if its faster than access(), tho.. I'd have to write a program to compare, and I'm too lazy at the moment... :) Heck, for that matter you could use CHKOBJ with QCMDEXC... there's absolutely no reason to use a CL program, that I can see. > My other option, I know, is to do an OVRDBF to the libarary/file.member and > try to Open the file name. I just thought an API might be better. > > Regards, > > Jim Langston Hope that helps... +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
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.