|
|
I can
help you.
Attached I have three source members.
The CL
pgm does the actual FTP command and I fill SRCMBR FTPIN in the RPG pgm. So
here are the things you need to create:
RPGFTP
- rpg pgm
FTPCL
- cl pgm
FTPIN
- source member for FTP script input
FTPOUT
- source member for FTP logging.
Let me
know if I need to explain it more. There is more explaining in the text
file I have attached.
Aaron
Bartell
|
RPGFTP - I took out all the code that you didn't need for this example. This
will basically open the source
file member and write out the FTP script to it. SRCDTA is the record
name for that file so that
is why it is not defined in the pgm.
FQFTPSRC O E DISK RENAME(QFTPSRC:RFTPSRC)
C exsr $FTPSetup
**********************************************************************************************
* FTP Setup
**********************************************************************************************
C $FTPSetup BEGSR
*
C eval SRCDTA = 'username' + 'password'
C WRITE RFTPSRC
C eval SRCDTA = 'ascii'
C WRITE RFTPSRC
C eval SRCDTA = 'NAMEFMT 1'
C WRITE RFTPSRC
C eval SRCDTA = 'lcd /PREPRESS/PPIN'
C WRITE RFTPSRC
C eval SRCDTA = 'QUIT'
C WRITE RFTPSRC
C ENDSR
_________________________________________________
FTPIN - This is the source member that was written to in the above pgm. I
store in the source file QFTPSRC.
username password
ascii
NAMEFMT 1
lcd /PREPRESS/PPIN
. . .<any other FTP scripting that you need>. . .
QUIT
__________________________________________________
FTPCL - The CL pgm that will do the actual FTPing. As you can see it will
override QFTPSRC to point to
FTPIN for the RPG program to write to. Clear the input and output FTP
source members. FTPOUT will
contain the log from executing the FTP script. I can't remember why
the CHGCMD is there but just
leave it because it works. So after the RPG pgm has written out the FTP
script to the source member
you need to tell the FTP program where FTPIN resides so it can use it
to execute. That is what the
three OVRDBF are for right before the FTP command. And finally execute
the FTP command with the IP
address of the server specified.
PGM
DCL VAR(&RMTIP) TYPE(*CHAR) LEN(15) VALUE('172.26.7.123')
OVRDBF FILE(QFTPSRC) TOFILE(QFTPSRC) +
MBR(FTPIN)
CLRPFM FILE(QFTPSRC) MBR(FTPIN)
CLRPFM FILE(QFTPSRC) MBR(FTPOUT)
CALL PGM(RPGFTP)
CHGCMD CMD(QSYS/FTP) ALLOW(*ALL)
OVRDBF FILE(QFTPSRC) TOFILE(QFTPSRC) +
MBR(FTPIN)
OVRDBF FILE(INPUT) TOFILE(QFTPSRC) +
MBR(FTPIN)
OVRDBF FILE(OUTPUT) TOFILE(QFTPSRC) +
MBR(FTPOUT)
FTP RMTSYS(&RMTIP)
DLTOVR FILE(*ALL)
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.