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 :

CHGPF - Largeur de ligne


Sujet :

AS/400

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut CHGPF - Largeur de ligne
    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,

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 940
    Points : 1 409
    Points
    1 409
    Par défaut
    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 ?

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    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

  4. #4
    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 Chryzo
    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
    Non. Ne fais pas çà, tu vas compliquer pour finir par aller dans le mur.

    Crée un nouveau fichier à la longueur voulue avec la commande qui suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CRTPF MaBib/NEWFILE RCDLEN(Ta nouvelle lgr)
    Et vas-y gaiement. Par exemple, si tu as besoin de 100 caractères, mets 150. Si c'est 120 qu'il te faut, mets 180, etc. Tu "exagères" de 30 à 50%, comme ça tu es + ou - à l'abri d'une "rallonge" ultérieure tjs possible.

    Ensuite, copie le fichier d'origine dans ce nouveau fichier avec la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CPYF FROMFILE(MaBib/FIC90) TOFILE(MaBib/NEWFILE) MBROPT(*REPLACE) FMTOPT(*NOCHK)
    Le paramètre FMTOPT(*NOCHK) est très important ici car il te permet de copier les données en aveugle, sans aucun contrôle, brut de fonderie si tu veux.

    Enfin, quand la copie est BIEN terminée, détruis FIC90 avec la commande

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    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 ?)

  6. #6
    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
    Regarde mon post précedent au-dessus du tien.

    Citation Envoyé par Chryzo
    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.
    Non, ce n'est pas pour cette raison. Tu ne peux pas le modifier parce que l'enregistrement (le format) de ce fichier ou de cette table n'est pas composé de diverses rubriques ou zones.

    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.

  7. #7
    Candidat au Club
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    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.

  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
    Et en quoi consiste le mapping dont tu parles ? Détaille les opérations please.

  9. #9
    Candidat au Club
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    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,

  10. #10
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 940
    Points : 1 409
    Points
    1 409
    Par défaut
    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)

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

Discussions similaires

  1. [PARTIELLEMENT*RÉSOLU] macro preprocesseur et largeur de ligne
    Par rogue-spectre dans le forum Fortran
    Réponses: 5
    Dernier message: 16/08/2011, 13h01
  2. largeur de ligne, centré-justifié
    Par Celadon dans le forum Mise en forme
    Réponses: 14
    Dernier message: 05/04/2011, 10h12
  3. Firefox 3.0 : largeur de ligne dans un tableau
    Par Benzeghiba dans le forum Firefox
    Réponses: 1
    Dernier message: 19/07/2008, 05h39
  4. WinEdt + largeur des lignes dans un tableau
    Par Eric06 dans le forum Editeurs / Outils
    Réponses: 4
    Dernier message: 14/12/2006, 21h02
  5. [C#] Largeur de colonne et de ligne dans un DataGrid
    Par pc152 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 31/08/2004, 14h09

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