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 :

Probleme de DS avec tableau


Sujet :

AS/400

  1. #1
    Nouveau membre du Club

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 38
    Points
    38
    Par défaut Probleme de DS avec tableau
    Bonjour,
    Tout d'abord j'utilise le RPGIV en version 5r3:
    J'ai decrit une datastructure de la sorte :
    d DS
    d Tab_2 214a dim(99)
    d Ad1sv2 50 Overlay(Tab_2:1)
    d Ad2sv2 50 Overlay(Tab_2:51)
    d Ad3sv2 50 Overlay(Tab_2:101)
    d Cpsv2 14 Overlay(Tab_2:151)
    d Villesv2 50 Overlay(Tab_2:165)

    La compilation me jette car elle n'admet pas la description de la premiere
    ligne:
    d Tab_2 214a dim(99)

    *RNF3705 20 a 014911 L'entrée Nom de sous-zone TAB_2 ne doit pas être un nom de
    table. Blancs pris par défaut.

    J'ai essaye sur un autre systeme (en timeshare) et ca passe sans probleme.
    Ca ne sentirait pas une PTF a installer????
    Est-ce que le probleme est connu?
    Je n'ai aucun support ici, je cherche sur le site d'IBM mais c'est long et n'arrive pas a trouver d'info la dessus .

  2. #2
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    d Tab_2           ds                   dim(99) qualified  
    d  Ad1sv2                       50                        
    d  Ad2sv2                       50                        
    d  Ad3sv2                       50                        
    d  Cpsv2                        14                        
    d  Villesv2                     50                        
                                                              
     /free        
       // Chargement du tableau                                            
       Tab_2(1).Ad1sv2   = ... ;
       ...                            
       Tab_2(1).Villesv2 = ... ;
    • Qualifie ton tableau et enlève les overlay qui sont inutiles ici.
    • Qualifie la zone à alimenter comme suit : nomtableau(index).nomzone.


    Utilise la balise CODE ( # ) lorsque tu postes du code, c'est plus facile à lire et à récupérer.

  3. #3
    Nouveau membre du Club

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 38
    Points
    38
    Par défaut
    Merci pour ta reponse et je ferai attention par la suite pour la balise.
    J'ai aussi essaye cette solution avec le mot clé Qualified.
    Seulement cette structure m'interesse pour effectué des recherche. J'utilise
    donc le %lookup
    CODE(#)
    count = %lookup(adresse: Tab_2)
    j'ai ce message :
    Le second paramètre de la fonction %LOOKUPxx n'est pas
    correct. (Ou adresse est l'adresse complete )
    /CODE(#)

    Que signifie exactement ce Qualified ?

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    Février 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 4
    Points : 79
    Points
    79
    Par défaut
    Ton nom de tableau est incorrect, il ne doit pas commencer par TAB. Le compilateur considère alors qu'il s'agit d'une table et non d'un array. La définition de DS que tu indiques est relative à un array et non pas à une table. Les tables font partie des "vieilleries" du RPG et ne sont que très peu utilisées, ce que l'on utilise régulièrement, ce sont des arrays bien qu'elles soient appellées dans le langage courant des tables !
    RPG distingue Table et array. Voir doc de référence du RPG pour plus de détail

  5. #5
    Nouveau membre du Club

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 38
    Points
    38
    Par défaut
    C'est evidemment ce type de structure que je cherche a utiliser un array. Mais ici il s'agit du type et non du nom dont il est question. Maintenant si l'as400 interprete le nom pour reconnaitre un type de donnée.....on va s'amuser......

  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
    Ah, ça se corse alors !

    D'abord, nbonnetaud a raison, ne nomme pas tes tableaux en commançant par Tab pour la raison qu'il signale. Appelle-les Ary comme Array ou Mat pour Matrice par ex.

    Ensuite, si tu dois effectuer des recherches dans ce tableau, remets les overlay et fais ta recherche comme illustré ci-dessous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    d Mat2            ds                   qualified                 
    d  Mat2_Poste                          dim(99)                   
    d   Ad1sv2                      50     overlay(Mat2_Poste:*next) 
    d   Ad2sv2                      50     overlay(Mat2_Poste:*next) 
    d   Ad3sv2                      50     overlay(Mat2_Poste:*next) 
    d   Cpsv2                       14     overlay(Mat2_Poste:*next) 
    d   Villesv2                    50     overlay(Mat2_Poste:*next) 
      /free                                                                
        count = %lookup( adresse: Mat2.Ad1sv2 );
    En mettant les overlay, chaque élément de la DS Mat2 ci-dessus est un tableau. Tu peux donc effectuer une recherche sur un élément quelconque le composant. Si pas d'overlay, la DS Mat2 est un simple tableau sans possibilité d'adresser un élément particulier le composant. Capite ?

  7. #7
    Nouveau membre du Club

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 38
    Points
    38
    Par défaut
    Une autre chose: le même code dans deux systèmes différents avec des resultats de compilation différents .... Il y a certainement une explication.

  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
    Les IBM Labs à Rochester font évoluer le langage RPG d'une release à l'autre. C'est probablement ce que tu rencontres ici.

  9. #9
    Nouveau membre du Club

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 36
    Points : 38
    Points
    38
    Par défaut
    Bien maintenant c'est reglé et avec votre aide. Merci beaucoup.
    Je tombe quand meme sur le ... qu'un nom de structure vienne perturber la declaration implicite d'un type de donnée .
    Merci

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

Discussions similaires

  1. Probleme test if avec tableau
    Par adicarbo dans le forum Débuter
    Réponses: 15
    Dernier message: 20/11/2014, 12h00
  2. probleme declaration d un tableau avec netbeans
    Par 7awela dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 26/04/2007, 18h27
  3. [CSS&HTML]Problem de hauteur avec un tableau
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 27/09/2006, 19h21
  4. [Tableaux] probleme avec tableau a recupere
    Par twixster dans le forum Langage
    Réponses: 14
    Dernier message: 16/02/2006, 17h50
  5. probleme d allocation avec un tableau de BYTE
    Par e1lauren dans le forum C++
    Réponses: 5
    Dernier message: 06/05/2005, 13h42

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