[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Question about using FTPAPIR4 under V5R2
Sender: Scott Klement <sk@xxxxxxxxxxxxxxxx>
Are these limitations of the IBM API?
Huh? Which IBM API? IBM does not have an API for FTP.
I wanted to replace our current routine with API calls so I could test
for errors after each step, but I guess that will have to wait. Our
current callable FTP routine is a combination of CL & RPG to create and
execute an FTP script using the OS400 FTP command, then parse the log
looking for error codes. Is this the best approach for
sending/receiving for the QSYS (lib/fil.mbr) format?
I don't know what the "best" way to do it is, but I suspect that the
definition of "best" varies widely depending on your requirements.
I think you're making too much of the namefmt issue. FTPAPI uses namefmt 1
because it's universal. Everything you can do with namefmt 0 can also be
done with namefmt 1 -- but not vice-versa. For example, if you have a
library called JOHNLIB that contains a file called TESTFILE which in turn
has a member called MYMBR, using namefmt 0 in IBM's client you might've
run the following command:
put JOHNLIB/TESTFILE.MYMBR
To do the same thing with FTPAPI, you do:
rc = ftp_put(sess: '/QSYS.LIB/JOHNLIB.LIB/TESTFILE.FILE/MYMBR.MBR')
The capabilities are the same. The only difference is a SLIGHT difference
in syntax. You could, very easily, create the "namefmt 1" path using a
little bit of string concatenation, like this:
eval pathname = '/QSYS.LIB'
+ '/' + %trimr(Library) + '.LIB'
+ '/' + %trimr(File) + '.FILE'
+ '/' + %trimr(Member) + '.MBR'
That way, your program can receive the library, file and member names as
parameters or have them in separate variables.
Surely this is much easier than writing a routine to analyze the output of
IBM's FTP command?
-----------------------------------------------------------------------
This is the FTPAPI mailing list. To unsubsribe from the list send mail
to majordomo@xxxxxxxxxxxxx with the body: unsubscribe ftpapi mymailaddr
-----------------------------------------------------------------------