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


  • Subject: RE: Help needed !!!
  • From: "Bartell, Aaron L. (TC)" <ALBartell@xxxxxxxxxxxxxx>
  • Date: Tue, 17 Apr 2001 08:45:42 -0500

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
-----Original Message-----
From: Venkateshwar Venkataraman [mailto:venkateshwar.raman@wipro.com]
Sent: Tuesday, April 17, 2001 2:01 AM
To: RPG400-L@midrange.com
Subject: Help needed !!!

Can any body tell me how to do a FTP from a AS/400 machine to a Mainframe from a RPG Program without the use of any APIs like QCMDEXEC ...
 
Regds,
Venkatesh.
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 thread ...


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.