Un CL permet d’envoyer automatiquement le fichier BIBLIO/SAUVE vers la machine SYSTEME. Le log FTP est conservé mais il
ne contient pas d’information d’horodatage. Comment ajouter cette information ?
En effet, FTP ne donne pas plus que ce qui est prévu dans sa conception : une série d’invites, de messages d’information ou d’erreurs.
La méthode
Insérer dans le log une info supplémentaire, à l’aide d’une simple commande SQL.
Le CL
INPUT désigne le "script" FTP, OUTPUT montre où va le log.
SYSTEME = nom du système éloigné.
Le script FTP DGFTP01
Les commandes lancées par QUOTE RCMD peuvent nécessiter une adaptation à chaque lancement.
USERID PASSWORD est à remplacer par le code utilisateur et le mot-de-passe.
Appelé par la commande RUNSQLSTM, il s’agit d’un membre source, de type TXT. CHAR permet de récupérer
en texte simple les données numériques date et heure.
-- ** FTPSQL1 *******************************
-- ** Cette commande SQL ajoute dans le LOG FTP
-- ** une ligne indiquant la date et l'heure
--
-- WITH NC évite les ennuis de journalisation validation etc.
--
INSERT INTO OUTPUT (SRCDTA) VALUES('** Début ' CONCAT
CHAR(CURRENT DATE) CONCAT ' ' CONCAT CHAR(CURRENT TIME)) WITH NC
-- ** FTPSQL2 *******************************
-- ** Cette commande SQL ajoute dans le LOG FTP
-- ** une ligne indiquant la date et l'heure
--
-- WITH NC évite les ennuis de journalisation validation etc.
--
INSERT INTO OUTPUT (SRCDTA) VALUES('** Fin ' CONCAT
CHAR(CURRENT DATE) CONCAT ' ' CONCAT CHAR(CURRENT TIME)) WITH NC
Remarque
Si la commande INSERT ne comporte pas la clause WITH NC, va falloir
faire quelque chose comme :
Affichage des données
Largeur des données . . : 249
Première ligne à afficher . . Première colonne à afficher .
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....
SRCDTA
** Début 03/09/06 12:35:24
Output redirected to a file.
Input read from specified override file.
Connecting to host SYSTEME at address 192.168.11.2 using p
220-QTCP at SYSTEME.
220 Connection will close if idle more than 5 minutes.
Enter login ID (userid):
331 Enter password.
230 USERID logged on.
OS/400 is the remote operating system. The TCP/IP version
250 Now using naming format "0".
257 "QGPL" is current library.
Enter an FTP subcommand.
> CD BIBLIO_WRK
250 "BIBLIO_WRK" is current library.
Enter an FTP subcommand.
> LCD BIBLIO_WRK
Local working directory is BIBLIO_WRK
Enter an FTP subcommand.
> QUOTE RCMD CLRSAVF SAUVE
250 Command CLRSAVF SAUVE successful.
Enter an FTP subcommand.
> BINARY
200 Representation type is binary IMAGE.
Enter an FTP subcommand.
> PUT SAUVE
250 Now using naming format "0".
257 "BIBLIO_WRK" is current library.
227 Entering Passive Mode (192,168,168,3,83,101).
150 Sending file to member SAUVE in file SAUVE in library
250 File transfer completed successfully.
105600 bytes transferred in 0.076 seconds. Transfer rate 1
Enter an FTP subcommand.
> QUIT
221 QUIT subcommand received.
** Fin 03/09/06 12:35:25
******** Fin de données ********
Autre exemple où le fichier est expédié vers un
système non OS400. D’où l’utilisation de NAMEFMT = 1
et d’un chemin de type IFS (/u04/INFOCENT/bddbo)
SRCSEQ SRCDAT SRCDTA
** Debut 01/09/06 11:47:14
1,00 Output redirected to a file.
2,00 Input read from specified override file.
3,00 Connecting to host XZYTRF at address 172.31.3.21 using por
4,00 220 XZYTRF FTP server (SunOS 5.8) ready.
5,00 Enter login ID (couzon):
6,00 331 Password required for ifcftp.
7,00 230 User ifcftp logged in.
8,00 UNIX Type: L8 Version: SUNOS
9,00 Enter an FTP subcommand.
10,00 > cd /u04/INFOCENT/bddbo
11,00 250 CWD command successful.
12,00 Enter an FTP subcommand.
13,00 > namefmt 1
14,00 502 SITE command not implemented.
15,00 Client NAMEFMT is 1.
16,00 Enter an FTP subcommand.
** Fin 01/09/06 11:47:14
******** Fin de données ********