IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AS/400 Discussion :

Dernier espace tronqué lors d'un transfert FTP !


Sujet :

AS/400

  1. #1
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut Dernier espace tronqué lors d'un transfert FTP !
    Bonjour,
    J'ai une fichier contenant une seule zone de taille 5 caractères par exemple.
    Ce fichier est alimenté par un programme COBOL comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MOVE "1234" TO ZONE OF MYFILE
    MOVE SPACE TO ZONE OF MYFILE(5:1)
    Mais lors d'un transfert FTP de ce fichier (vers un fichier texte windows) et quand j'ouvre le fichier le curseur s'arrête juste sur le 4. C'est à dire que l'espace n'a pas été pris en compte !!
    y a t-il un moyen de spécifier lors du FTP que la structure à prendre en compte est la taille de la zone et non pas le nombre de caractères limités par un dernier espace ?
    Merci d'avance.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2009
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 176
    Points : 188
    Points
    188
    Par défaut
    je pense que ce site contient ta réponse :

    http://www.itjungle.com/guruo/mgo031302-story02.html

    (trouvé sur google avec la recherche : transfert ftp as400 keep spaces )

    ne pas chercher sur google avant de poser des questions, caymal

  3. #3
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    Merci pour le lien, ça marche
    P.S : la commande est :
    ==> à utiliser avant de lancer le transfert via GET.
    Citation Envoyé par funfox Voir le message
    je pense que ce site contient ta réponse :

    http://www.itjungle.com/guruo/mgo031302-story02.html

    (trouvé sur google avec la recherche : transfert ftp as400 keep spaces )

    ne pas chercher sur google avant de poser des questions, caymal

  4. #4
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    Bonsoir,
    permettez moi de revenir sur cette question qui pose toujours un problème !

    Je cherche toujours à transférer via FTP un fichier DB2 (en fichier texte) qui contient un espace à la fin de chaque enregistrement

    Voilà comment j'ai procédé :

    1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    myUser myPassword
    quote site trim 0;
    PUT MYBIB/MYFILE       MYFILE_20100919_20250827.txt
    QUIT

    avec le CL suivant :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    PGM
    OVRDBF FILE(INPUT) TOFILE(FILEFTP)
    OVRDBF FILE(OUTPUT) TOFILE(*LIBL/QCLSRC) MBR(SORTIE)
    CONNECT: FTP RMTSYS('10.10.10.1') PORT(21)
    MONMSG MSGID(TCP10B0) EXEC(DO)
    SNDPGMMSG MSG('Connexion FTP impossible. Nouvelle +
    tentative dans 1 minute')
    DLYJOB DLY(60)
    GOTO CMDLBL(CONNECT)
    ENDDO
    DLTOVR FILE(INPUT)
    ENDPGM
    le FILEFTP contient les instructions citées en 1.

    P.S: Lorsque je rentre sous MS-DOS et j'exécute la commande quote site trim 0; et après je fait le PUT .... le transfert se fait correctement !!

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Ne confonds pas le client et le serveur.

    C'est la machine qui fait la demande FTP qui est cliente et non pas l'inverse.

    Si tu démarres ton FTP depuis un iSeries/IBM i à destination d'un PC, l'iSeries/IBM i est le client et le PC est le serveur.

    A l'inverse, si tu démarres ton FTP depuis un PC à destination d'un iSeries/IBM i, le PC est le client et l'iSeries/IBM i est le serveur.

    Pour envoyer les blancs de fin d'enregistrement lors du transfert :
    • Si le client est un iSeries/IBM i, "LOCSITE TRIM 0" est la sous-commande FTP à utiliser.
    • Si le client est un PC, il faut utiliser la sous-commande "QUOTE SITE TRIM 0".
      Dans ce dernier cas, SITE est l'équivalent de LOCSITE et on utilise QUOTE pour envoyer TRIM 0 au serveur iSeries/IBM i, LOCSITE n'étant pas supporté par le PC.


    Par défaut, FTP prend "TRIM 1", c'est à dire que les blancs de fin d'enregistrement lors du transfert ne sont pas envoyés dans le fichier de destination.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Citation Envoyé par Mercure Voir le message
    Si tu démarres ton FTP depuis un iSeries/IBM i à destination d'un PC, l'iSeries/IBM i est le client et le PC est le serveur.
    Pour confirmer les dires de Philippe, l'IBM i n'a pas besoin que son serveur FTP soit démarré pour envoyer et recevoir des données via FTP si c'est l'IBM i le demandeur

  7. #7
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    Merci Mercure pour ta réponse et pour toutes tes antérieures réponses qui m'aidaient énormément

    Donc si je comprends pas je dois exécuter la commande suivante :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    myUser myPassword
    quote site trim 0;
    PUT MYBIB/MYFILE       MYFILE_20100919_20250827.txt
    QUIT
    Sachant que le serveur ftp est sur un PC Windows (qui doit recevoir les flux provenant de l'iSeries) ?
    Citation Envoyé par K2R400 Voir le message
    Pour confirmer les dires de Philippe, l'IBM i n'a pas besoin que son serveur FTP soit démarré pour envoyer et recevoir des données via FTP si c'est l'IBM i le demandeur

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Citation Envoyé par JauB
    Donc si je comprends pas je dois exécuter la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    myUser myPassword
    quote site trim 0;
    PUT MYBIB/MYFILE       MYFILE_20100919_20250827.txt
    QUIT
    Oui, mais uniquement si tu démarres ou "lances" le FTP depuis le PC. Si tu le démarres depuis l'iSeries/IBM i, remplace "quote site trim 0" par LOCSITE TRIM 0. Je pensais avoir été clair pourtant.

    Note.
    Le " ; " est source d'erreur et inutile. On n'emploie jamais de " ; " dans les commandes FTP à ce que je sache.

    @K2R400/Patrick : tu embrouilles JauB...

  9. #9
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    oups je voulais dire que la commande que je dois exécutée est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    myUser myPassword
    LOCSITE site trim 0;
    PUT MYBIB/MYFILE       MYFILE_20100919_20250827.txt
    QUIT
    vu que je lance le FTP à partir de l'iSeries et que le serveur FTP est sur un PC Windows.
    Sinon pour le ; tu veux die que la commande à exécuter est :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    myUser myPassword
    LOCSITE site trim 0
    PUT MYBIB/MYFILE       MYFILE_20100919_20250827.txt
    QUIT
    C'est ça ?
    Citation Envoyé par Mercure Voir le message
    Oui, mais uniquement si tu démarres ou "lances" le FTP depuis le PC. Si tu le démarres depuis l'iSeries/IBM i, remplace "quote site trim 0" par LOCSITE TRIM 0. Je pensais avoir été clair pourtant.

    Note.
    Le " ; " est source d'erreur et inutile. On n'emploie jamais de " ; " dans les commandes FTP à ce que je sache.

    @K2R400/Patrick : tu embrouilles JauB...

  10. #10
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Compte tenu que tu lances le FTP à partir de l'iSeries/IBM i, en effet c'est exactement çà. Le PC sous Windows doit avoir son service FTP démarré (démon) pour que ça fonctionne.

    Avec PUT, tu effectues ce qu'on appelle un UPLOAD, c'est à dire que tu "montes" les données ou charges un fichier sur une machine serveur.

    Avec GET tu effectues un DOWNLOAD, c'est à dire que tu "descends" les données sur la machine client qui est celle qui lance le FTP.

    Il faut indiquer LOCSITE TRIM 0 et non pas LOCSITE site trim 0. Fais attention !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Script qui se déclenche lors transfert ftp
    Par hannnnouna dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 13/06/2013, 11h16
  2. [AC-2007] Comment augementer timeout lors d'un transfert de fichier sur ftp
    Par pasnaz dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/10/2009, 22h14
  3. Erreur lors d'un transfert FTP
    Par Herode dans le forum Réseau
    Réponses: 0
    Dernier message: 30/09/2009, 10h48
  4. Réponses: 2
    Dernier message: 21/06/2005, 21h18
  5. Problème de transfert FTP sous IIS
    Par thanathz dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 15h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo