|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : mai 2002 Messages : 137 ![]() |
Bonjour,
j'ai un souci lors de l'utilisation de la commande CPYTOIMPF Voici le code Code :
Je génére à partir d'un fichier base de données dans un fichier à plat de 331 de long. La structure de mon fichier PMALEMP est de plusieurs zones dont la dernière est un filler de 156 de long qui n'est pas rempli Lorsque je transfère vers le micro le fichier à plat je perds en affichage mon filler de 156. De fait la longueur à plat de mon fichier passe de 331 à 175 de long Comment faire pour conserver ce filler de 156 non rempli mais visible sur micro après ? Est-ce que c'est dans la commande CPYTOIMPF ou dans le RPG en remplissant mon filler par du blanc "visible" qui sera considérer ensuite dans le transfert ? Merci de vos réponses Philippe |
||
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Inscription : septembre 2008 Messages : 496 ![]() |
Si je comprends bien, ton fichier à plat a bien le filler à blanc en fin de fichier.
C'est le passage sur micro qui te pose problème. Question : Qu'utilises-tu pour transférer le fichier sur ton micro. Autre question : En quelle version de l'OS est-tu ? |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : mai 2002 Messages : 137 ![]() |
La version d'OS est V5R4M000
Il s'agit d'un transfert vers un serveur via FTP , c'est un CLP qui fait le transfert en appelant FTP de l'AS400. Philippe |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol Inscription : juin 2007 Messages : 1 783 ![]() |
Bonjour.
Dans ton FTP, insère l'instruction : elle évite la troncature des espaces. |
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Inscription : octobre 2006 Messages : 224 ![]() |
Place un délimiteur de chaîne, genre STRDLM(*DBLQUOTE), pour conserver ta chaîne telle que.
|
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : mai 2002 Messages : 137 ![]() |
Merci pour vos réponses
je vais tester Lundi Je vous tiens au courant Philippe |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : mai 2002 Messages : 137 ![]() |
Bonjour a tous ,
Le délimiteur de chaine dans le CLP ne fonctionne pas comme voulu. J'ai des doubles quotes mais toujours une chaine tronqué qui ne fait plus la longueur voulue de 331 mais 179 de long. Je ne peux pas mettre de caractère à la fin car le client attend une chaîne vide à la fin. Je pars d'un fichier base de données PMALEMPXX que je copie dans un fichier d'un longueur de 331 dans PMALEMPZZ ( ce sont les noms des fichiers utilisés ). Après cette copie dans PMALEMPZZ , j'ai bien une chaîne de 331 de long avec mes données à plat Ensuite j'utilise une procédure FTP d'envoi toute prête que je ne peux pas modifier. Je ne peux pas mettre au début et la fin de la chaîne extraite sur PC de double quote. Si vous avez une idée ... Philippe |
|
|
00
|
|
|
#8 |
|
Membre chevronné
![]() Inscription : septembre 2008 Messages : 496 ![]() |
Si c'est ton AS/400 qui appelle un serveur FTP et lui envoie le fichier, il faut utiliser LOCSITE TRIM 0 pour que le fichier soit envoyé avec les blancs de fin d'enregistrement.
Est-tu sûr de ne pas pouvoir remplacer ta procédure d'envoi par ta propre commande d'envoi ? |
|
|
10
|
|
|
#9 |
|
Expert Confirmé
![]() Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol Inscription : juin 2007 Messages : 1 783 ![]() |
Bonjour.
Amha tu ne pourras pas échapper à la modification de ta procédure FTP si tu veux bien faire. Sinon, fais toi un programme sur le PC pour copier le fichier de 179 vers un fichier de 331. (moi je le faisais avec du Basic ou du Cobol pour PC). |
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Inscription : mai 2002 Messages : 137 ![]() |
Bonjour à tous ,
Merci pour vos réponses , il existe probablement plusieurs solutions. Vu les contraintes rencontrés , je me suis renseigné interne et on m'a indiqué d'initialiser mes zones vides avec *LOVAL. Le fait d'avoir fait cette initialisation m'a permis de récupérer en sortie dans le fichier texte ma zone avec la longueur voulue. Merci encore pour votre aide Philippe |
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() Consultant/Formateur/Développeur AS/400, iSeries, System i et Cobol Inscription : juin 2007 Messages : 1 783 ![]() |
Bonsoir.
En effet l'initialisation des zones de fin d'enregistrement à LOW VALUE (*LOVAL) résout en apparence le problème. FTP semble ne tronquer que les les SPACES (X'40') en fin d'enregistrement, et donc les caractères LOW VALUE (X'00') vont passer. Tu auras un fichier sur le PC avec la longueur voulue, sauf que les caractères en fin d'enregistrement sont des NUL (X'00' en ASCII) et non des SPACES (X'20' en ASCII). Si ton client ne rechigne pas, ça peut passer. |
|
|
00
|
|
|
#12 | |
|
Nouveau Membre du Club
![]() Inscription : mai 2002 Messages : 137 ![]() |
Citation:
Merci pour vos réponses Philippe |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com