User Tools

Site Tools


ibm:zos-os390-batch-ftp

ZOS: Soumettre des requêtes FTP en batch

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 fichier FTP.DATA (valeur par défaut), le fichier, le fichier ou le flux d'entrée désigné dans l'instruction DDNAME 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 fichier FTP.DATA, le fichier, le fichier ou le flux d'entrée désigné dans l'instruction DDNAME 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 REGIONet d'un champ PARM:
    • 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ées INPUT 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'instruction OUTPUT 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.

ibm/zos-os390-batch-ftp.txt · Last modified: 2025/02/19 10:59 by 127.0.0.1