Lancer un transfert FTP à  partir d’un CL

FTP utilise 2 fichiers pour effectuer des transferts

 OUTPUT => Correspond à  log du transfert

 INPUT => Correspond au script FTP à  exécuter

Nous utiliserons donc un fichier source (QFTPSRC) contenant 3 membres.

— BATCHFTP (type CLP) source du CL

— FTPLOG (type TXT) destiné à  enregistrer la log du traitement.

— FTPSRC (type FTP) contenant le script FTP à  exécuter.
PDM

CLP (BATCHFTP) permettant d’effectuer un transfert FTP ver AS_CIBLE.

             PGM                                                            
             DLTOVR     FILE(OUTPUT)                                        
             MONMSG     MSGID(CPF0000)                                      
             DLTOVR     FILE(INPUT)                                         
             MONMSG     MSGID(CPF0000)                                      
                                                                            
             OVRDBF     FILE(OUTPUT) TOFILE(SERGE/QFTPSRC) MBR(FTPLOG)      
             OVRDBF     FILE(INPUT) TOFILE(SERGE/QFTPSRC) MBR(FTPSRC)       
                                                                            
             STRTCPFTP  RMTSYS(AS_CIBLE)                                          
             DLTOVR     FILE(OUTPUT INPUT)                                  
                                                                            
             ENDPGM                                                         

 La substitution output correspond à  la trace (log) du transfer FTP. Tout l’historique du transfert va être inscrit dans ce fichier (dans l’exemple SERGE/QFTPSRC.FTPLOG)

 La substitution input correspond au script FTP devant être exécuté (dans l’exemple SERGE/QFTPSRC.FTPLOG)

Script FTPSRC

USER PASSWORD                                                 
EBCDIC                                                        
TYPE I                                                        
QUOTE RCMD DLTF FILE(COMREC/FIC_ESS1)                         
QUOTE RCMD CRTPF FILE(COMREC/FIC_ESS1) RCDLEN(35)             
PUT SERGE/FIC_ESS1.FIC_ESS1 COMREC/FIC_ESS1.FIC_ESS1          
QUIT                                                          

 ce script transmet vers la cible le fichier FIC_ESS1.

L’historique du transfert pourra être consulté dans le membre SERGE/QFTPSRC.FTPLOG (pensez à  remettre à  blanc ce membre à  la fin ou au début de votre traitement).

historique généré (FTPLOG):

Output redirected to a file.                                         
Input read from specified override file.                             
Connecting to host P1 at address 1.1.1.2 using port 21.              
220-QTCP at AS_CIBLE.                                                      
220 Connection will close if idle more than 5 minutes.               
Enter login ID (usr):                                                
331 Enter password.                                                  
230 USER logged on.                                                  
 OS/400 is the remote operating system. The TCP/IP version is "V5R3M0
250  Now using naming format "0".                                    
257 "QGPL" is current library.                                       
Enter an FTP subcommand.                                             
> EBCDIC                                                             
200 Representation type is EBCDIC nonprint.                          
Enter an FTP subcommand.                                             
> TYPE I                                                             
200 Representation type is binary IMAGE.                             
Enter an FTP subcommand.                                             
> QUOTE RCMD DLTF FILE(COMREC/FIC_ESS1)                              
550-Error occurred on command DLTF FILE(COMREC/FIC_ESS1).            
550 Objet FIC_ESS1 de COMREC type *FILE non trouvé..                 
Enter an FTP subcommand.                                             
> QUOTE RCMD CRTPF FILE(COMREC/FIC_ESS1) RCDLEN(35)                  
250 Command CRTPF FILE(COMREC/FIC_ESS1) RCDLEN(35) successful.             
Enter an FTP subcommand.                                                   
> PUT SERGE/FIC_ESS1.FIC_ESS1 COMREC/FIC_ESS1.FIC_ESS1                     
227 Entering Passive Mode (1,1,1,3,162,54).                                
150 Sending file to member FIC_ESS1 in file FIC_ESS1 in library COMREC.    
250 File transfer completed successfully.                                  
   105 bytes transferred in 0.014 seconds. Transfer rate 7.680 KB/sec.     
Enter an FTP subcommand.                                                   
> QUIT                                                                     

Vous pouvez traiter ce fichier log pour récupérer des infos utiles (par ex la chaine « 250 File transfer completed successfully » => le transfert c’est bien effectué…).

Autres articles sur FTP :


 116

 90

 256

Print Friendly, PDF & Email