Table of Contents
ZOS: Soumettre des requêtes FTP en batch
Table of Contents
FTP est généralement exécuté de manière interactive en lançant et en entrant des commandes à partir d'un terminal. On peut également exécuter des instructions batch par FTP, mais on doit fournir le fichier JCL.
Règles de codage
Instruction INPUT ddname
On peut exécuter FTP en mode de traitement par lots en spécifiant des ensembles de données pour les entrées et les sorties ou sans référence aux ensembles de données pour les entrées et les sorties. Voir Affectation des ensembles de données d'entrée et de sortie FTP pour les attributs autorisés. sur les instructions INPUT et OUTPUT DD.
Lorsque l'API de client FTP est utilisée par un programme d'application appelé à partir d'un travail par lots, les noms de fichiers contenus dans le travail par lots ne sont pas disponibles pour le processus client FTP créé.
Exit
Utiliser le paramètre EXIT
ou coder l'instruction CLIENTEXIT TRUE
dans le fichier FTP.DATA
pour afficher un code de retour d'erreur et quitter l'application lorsque certaines erreurs sont détectées.
Numérotation de ligne
Lorsqu'on spécifie un jeu de données à saisir l'instruction SEQNUMSUPPORT
codée dans le fichier FTP.DATA du client détermine la disposition des numéros de séquence contenus dans le jeu de données:
- Si
SEQNUMSUPPORT FALSE
est codé dans le fichierFTP.DATA
(valeur par défaut), le fichier, le fichier ou le flux d'entrée désigné dans l'instructionDDNAME INPUT
contenant les commandes FTP ne peut pas contenir de numéros de ligne de séquence. On doit enregistrer le fichier de commande FTP en tant que fichier non numéroté. - Si
SEQNUMSUPPORT TRUE
est codé dans le fichierFTP.DATA
, le fichier, le fichier ou le flux d'entrée désigné dans l'instructionDDNAME INPUT
contenant les commandes FTP peut contenir des numéros de séquence. Ces numéros de séquence sont supprimés.
Commentaires
On peut ajouter des commentaires au fichier d'entrée de commande à l'aide du programme REXX qui empile les commandes. Le support comprend des enregistrements de commentaires autonomes et des commentaires qui sont ajoutés à la fin de la ligne.
- Pour ajouter des commentaires autonomes, utiliser un point-virgule (;) en tant que premier caractère non espace sur une ligne. Par exemple:
;Ceci est un enregistrement de commentaire autonome
- Pour ajouter un commentaire de ligne de commande, ajouter un espace et un point-virgule à la fin de la ligne de commande, suivi du commentaire. Par exemple:
USER utilisateur; Ceci est un commentaire ajouté
Identification
Lorsqu'un ID utilisateur, un mot de passe ou une phrase de mot de passe est attendu (y compris les mots de passe requis pour l'accès en lecture ou en écriture à des fichiers ou des disques), la ligne entière doit être vide. L'exemple suivant montre un mot de passe vide entre l'ID utilisateur et une ligne de commentaire.
USER userx ;La ligne ci-dessus est un mot de passe vide
L'exemple suivant montre un ID utilisateur vide entre une ligne de commentaire et un mot de passe.
;Ce qui suit est un identifiant vide mypasswd
Lors de la connexion à un serveur tel qu'un serveur UNIX où les ID utilisateur, les mots de passe, les noms de répertoire et les noms de fichier sont sensibles à la casse, les données du batch FTP doivent être codées en tenant compte de la casse.
Indicateur de continuation
Si une commande est trop longue pour être insérée sur une ligne, entrer un signe plus (+) à la place de l'option de commande suivante, puis entrer les options restantes sur la ligne suivante. Par exemple:
put local\_file + fichier\_distant
Utiliser un blanc suivi d'un signe plus (+) à la fin d'une ligne de sous-commande FTP comme indicateur de continuation pour toutes les sous-commandes FTP, sauf indication contraire dans la section Restrictions. Lorsque l'indicateur de continuation est rencontré à la fin d'une ligne de sous-commande FTP, la ligne suivante est ajoutée à la sous-commande. Par exemple, la commande suivante est interprétée comme PUT SOURCE.DS.NAME DEST.DS.NAME
:
PUT SOURCE.DS.NAME + DEST.DS.NAME
Restriction:
- On ne peut pas utiliser un signe plus pour continuer une sous-commande QUOTE.
- On ne peut pas utiliser un signe plus pour continuer un mot de passe ou une expression de mot de passe sur une autre ligne.
Requêtes DB/2
Pour que le client FTP exécute des requêtes DB/2 dans un travail par lots, la bibliothèque DSNLOAD
doit figurer dans la liste des liens ou apparaître dans une instruction DD STEPLIB
pour le travail.
Exemples
JCL pour exécuter des traitements par lots à l'aide de jeux de données
exemple de JCL requis pour soumettre un travail par lots en faisant référence à des ensembles de données pour les entrées et les sorties.
//USER28F JOB ,CARTER,MSGLEVEL=(1,1) //FTPSTP1 EXEC PGM=FTP,REGION=2048K, // PARM='9.67.112.25 (EXIT TIMEOUT 20' //NETRC DD DSN=ANYHLQ.NETRC,DISP=SHR //OUTPUT DD SYSOUT=H //INPUT DD * type e mode b put idss.parts /*
- La première instruction JCL est une instruction de travail standard.
- L'instruction suivante est une instruction EXEC. PGM=FTP suivi d'un paramètre
REGION
et d'un champPARM
:REGION=2048K
est une exigence minimale (Le besoin pourrait augmenter en fonction de la taille de bloc de l'ensemble de données en cours de transfert) car FTP peut utiliser plus de stockage que la taille la région par défaut.- Dans
PARM=
, on peut spécifier n'importe quel paramètre valide lors de l'appel de FTP depuis un terminal.
- pour exécuter FTP en mode de traitement par lots, vous devez inclure les trois instructions DD suivantes:
- NETRC DD On peut utiliser le fichier
user\_id.NETRC
pour fournir l'ID utilisateur, le mot de passe ou la phrase du mot de passe, ainsi que les informations de compte pour une connexion distante traitée par lots. On peut également spécifier l'ID utilisateur, le mot de passe ou la phrase du mot de passe, ainsi que les informations de compte dans l'ensemble de donnéesINPUT DD
. - OUTPUT DD Spécifie le jeu de données dans lequel FTP doit placer les messages client et les réponses du serveur générées en cours de la session FTP (on peut utiliser
SYSPRINT DD
à la place de l'instructionOUTPUT DD
). - INPUT DD Spécifie le jeu de données où se trouvent les sous-commandes FTP à exécuter.
Contenu d'un ensemble de données INPUT DD
Exemple d'enregistrements d'un fichier INPUT DD
contenant les sous-commandes FTP à exécuter.
`` HOSTNAME USERID PASSWD DIR PUT MYFILE.LISTING QUIT ```
- La première contient le nom de l'hôte distant auquel FTP se connecte.
- La deuxième ligne contient l'ID utilisateur suivi de son mot de passe.
- Les trois lignes suivantes contiennent les sous-commandes FTP que l'on souhaite exécuter par FTP. Dans cet exemple:
- DIR: FTP affiche le répertoire de travail actuel sur l'hôte du serveur FTP.
- PUT: FTP envoie le fichier MYFILE.LISTING au serveur.
- QUIT
: met fin à la session et se déconnecte du serveur. Tous les messages clients et les réponses du serveur aux sous-commandes que l'on exécute apparaissent dans le fichier de données
OUTPUT DD.
SYSPRINT` peut contenir des messages supplémentaires liés à l'exécution de la session FTP.
Si on ne souhaite pas que le mot de passe ou la phrase de passe soit affichée dans le fichier de sortie, indiquee l'ID utilisateur et le mot de passe ou phrase de mot de passe sur des lignes de saisie distinctes.