|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 5 ![]() |
Bonjour,
J'ai un fichier physique qui a une longueur maximale de 90 caracteres (Attribut: Longueur maximale d'enregistrement). Je souhaiterais augmenter cette longueur maximale. Et je ne trouve pas l'attribut qu'il est nécessaire de modifier pour augmenter la "longueur" possible d'un enregistrement au travers de la commande CHGPF. Existe t il une autre commande pour modifier cet attribut ou faut il passer par un autre moyen ? Amclt, |
|
|
00
|
|
|
#2 |
|
Membre éclairé
![]() Inscription : septembre 2008 Messages : 251 ![]() |
Il n'y a pas de commande pour changer cet attribut, car il est calculé d'après l'ensemble des champs qui le composent.
Par exemple, le fichier suivant, qui contient les champs : Matric type char longueur 6 et Nom type char longueur 30 aura une longueur maxi d'enreg de 36. Vouloir agrandir la longueur d'un enregistrement signifie ajouter un nouveau champ ou agrandir la longueur d'un champ type char (par exemple) Est-ce que tu ne confondrais pas avec la taille du fichier (attribut SIZE) qui indique combien d'enregistrements le fichier peut contenir ? |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 5 ![]() |
Bien que débutant complet en AS400, je ne parle pas du nombre initial d'enregistrement des tailles d'augmentation, du nombre d'augmentation supplémentaire, etc...
Je n'ai pas l'habitude d'avoir un système de fichiers / base de données unifié (de ce que j'en comprends pour l'instant) Mais je pense que tu as raison et qu'il faut que je modifie donc la seule et unique colonne du fichier (table) pour l'augmenter et satisfaire le besoin utilisateur. M'en vais aller chercher comment acceder a l'interface SQL Merci pour la réponse. Edit: le fichier est de type *data |
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Citation:
![]() Crée un nouveau fichier à la longueur voulue avec la commande qui suit : Code :
CRTPF MaBib/NEWFILE RCDLEN(Ta nouvelle lgr) Ensuite, copie le fichier d'origine dans ce nouveau fichier avec la commande suivante : Code :
CPYF FROMFILE(MaBib/FIC90) TOFILE(MaBib/NEWFILE) MBROPT(*REPLACE) FMTOPT(*NOCHK) Enfin, quand la copie est BIEN terminée, détruis FIC90 avec la commande |
|
|
|
10
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 5 ![]() |
J'ai essayé de modifier le fichier par une requete SQL, manque de pot, comme ce n'est pas un fichier SQL ca marche pas.
Donc, comment j'augmente la taille de ma zone ALPHA de 90 à 500 par exemple dans mon fichier. Voila les infos de zones que j'ai actuellement: Informations de niveau zone Type Long Long Position Usage En-tête Zone données zone tampon tampon zone colonne TRANSFERT ALPHA 90 90 1 E/S ID codé de jeu de caractères . . . . . : 65535 Amclt, Note: j ai mis mes nvelles infos avant de voir la réponse. Si je comprends bien, pas moyen de modifier la taille d'une zone d'un fichier, (meme quand il est vide ?) |
|
|
00
|
|
|
#6 | |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Regarde mon post précedent au-dessus du tien.
Citation:
En effet, tu as créé ton fichier sans DDS et sans CREATE TABLE, donc ce n'est pas considéré comme un fichier ou une table "base de données" mais comme un fichier séquentiel du genre de ceux qu'on trouvait (trouve ?) sur certains systèmes de l'âge du bronze. En revanche, il me semble intéressant de savoir ce que tu veux faire de ce fichier. |
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 5 ![]() |
Le fichier contient les données provenant d'un "put" ftp d'un fichier csv. Une fois les données transferer un "mapping" est fait pour que les données soient intégrer dans une table.
Merci pour les infos en tout cas. |
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Inscription : novembre 2004 Messages : 1 298 ![]() |
Et en quoi consiste le mapping dont tu parles ? Détaille les opérations please.
|
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : avril 2011 Messages : 5 ![]() |
Ok, je vais essayer de meme faire mieux.
Ajd il existe une procédure pour importer des données depuis un poste utilisateur dans une table AS400. Cette procédure est la suivante: 1/ L'utilisateur crée un fichier CSV sur son poste 2/ L'utilisateur fait un put du fichier CSV vers un fichier sur l'AS400 (le fameux fichier transfert) 3/ L'utilisateur utilise l'ERP pour indiquer le formattage du fichier CSV afin de pouvoir créer une table et importer les données du fichier CSV dans la table. (mapping) Ajd l'utilisateur a un fichier CSV dont certaines lignes dépassent les 90 caracteres ce qui plante le mapping derriere. Le besoin de base / la question est donc: * Comment faire pour importer un fichier CSV dans une table AS400 depuis le poste d'un utilisateur. Amclt, |
|
|
00
|
|
|
#10 |
|
Membre éclairé
![]() Inscription : septembre 2008 Messages : 251 ![]() |
Plusieurs solutions :
Dans Client Access, un plug-in pour Excell existe : C:\Programmes\IBM\Client Access\Shared\cwbtfxla.xll On a ensuite une barre d'outils pour importer/exporter des fichiers depuis/vers l'AS/400. On peut aussi copier le fichier CSV dans un répertoire partagé de l'IFS et utiliser la commande CPYFRMIMPF pour convertir le fichier et alimenter un fichier BDD. Attention toutefois, ces 2 procédures peuvent avoir des problèmes pour convertir certaines zones (par exemple, une date si Excel doit être convertie en 3 zones numériques) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com