Accueil du site > Les articles > Lancer un transfert FTP à partir d’un CL
Version à imprimer Enregistrer au format PDF

Lancer un transfert FTP à partir d’un CL

mardi 3 janvier 2006, par Serge Gomes Visites  12741

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 :
- FTP entre un AS/400 et un PC pour les nuls.
- Transferts FTP
- Utilisation des .bat pour l’exécution automatique de scripts FTP