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

SAP Discussion :

[ABAP] Ajouter dynamiquement une colonne sur un alv grid


Sujet :

SAP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 35
    Points : 24
    Points
    24
    Par défaut [ABAP] Ajouter dynamiquement une colonne sur un alv grid
    Bonsoir,

    Je voudrais savoir comment faire pour ajouter dynamiquement une colonne sur un alvgrid?
    sans l'ajouter physiquement sur une structure


    Merci.

  2. #2
    Membre confirmé

    Homme Profil pro
    Indépendant
    Inscrit en
    Juin 2002
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 540
    Points : 607
    Points
    607
    Par défaut
    Bonsoir,

    Réponse un peu tardive mais d'aprés moi, il suffit de modifier le field catalog dynamiquement et de rappeller le set_for_first_display; ou alors de modifier la variante en prenant comme hypothèse qu'elle agit comme un filtre sur la grille.

    Ludovic
    Fondateur Alien6 : Prescriptive Analytics & Machine Learning Software

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    ???????????????. Si tu peux développer un peu. Je n'ai pas bien compris.

  4. #4
    Membre confirmé

    Homme Profil pro
    Indépendant
    Inscrit en
    Juin 2002
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 540
    Points : 607
    Points
    607
    Par défaut
    Bonsoir,

    Dans une ALV Grid, la méthode importante est set_for_first_display dans laquelle tu passes une output table, un field catalog et optionnellement une variante. Tu dis vouloir ajouter dynamiquement une colonne à ton ALV Grid, cela implique soit de modifier dynamiquement ton field catalog, soit de modifier dynamiquement le layout qui permet à l'ALV Grid d'identifier les informations qu'elle doit afficher.

    Dans le premier cas, tu modifies forcément la structure passée à la table. Tu peux le faire en associant un field-symbols à cette structure. Ainsi, a chaque passage, tu fais un MOVE-CORRESPONDING de certaines données vers ta structure dynamique i.e., ton field-symbols.

    Dans la seconde, tu as une structure fixe plus complète que tu passes à chaque fois à l'ALV mais sur laquelle tu restreint l 'affichage i.e., au lieu d'afficher X1,X2,...,Xi,Xi+1,...Xn, tu affiches par exemple X1,...,Xi. Le layout est modifiable en définissant plusieurs variantes que tu passeras à chaque passage sur set_for_first_display.


    Ludovic
    Fondateur Alien6 : Prescriptive Analytics & Machine Learning Software

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    Quand j'utilise une structure dynamique, je n'arrive pas à l'afficher dans une ALVGRID. Sinon, le field catalog ne marche pas non plus, il me met des erreurs d'execution.
    Si tu as un bout de code à me montrer ça serait gentille.

    Merci bcp pour ton aide.

  6. #6
    Membre confirmé

    Homme Profil pro
    Indépendant
    Inscrit en
    Juin 2002
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 540
    Points : 607
    Points
    607
    Par défaut
    Bonsoir Hraichi,

    Je te cherche ca mais en général lorsque je me connecte, je n'ai pas de bout de code sous les yeux. Cependant, je ferai quelque chose dans ce genre là:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    DATA: 
      g_fix_full_struct TYPE MY_FULL_STRUCT,
      l_ref_dyn1         TYPE REF TO DATA,
      l_ref_dyn2         TYPE REF TO DATA.
    
    FIELD-SYMBOLS:
      <fs_dyn1>       TYPE ANY,
      <fs_dyn2>       TYPE ANY.
    
    CREATE l_ref_dyn1 TYPE MY_DYN1.
    ASSIGN l_ref_dyn1->* TO <fs_dyn1>.
    
    CREATE l_ref_dyn2 TYPE MY_DYN2.
    ASSIGN l_ref_dyn2->* TO <fs_dyn2>.
    
    CASE FCODE.
    WHEN 'DYN1'.
    * CALL SET FOR FIRST DISPAY avec field catalog = <fs_dyn1>
    WHEN 'DYN2'.
    * CALL SET FOR FIRST DISPAY avec field catalog = <fs_dyn2>
    ENDCASE.

    Peux_tu me dire précisement où tu rencontes des problèmes; ERROR MESSAGE ...
    Ludo
    Fondateur Alien6 : Prescriptive Analytics & Machine Learning Software

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 35
    Points : 24
    Points
    24
    Par défaut
    Voici la fonction que j'utilise pour afficher l'ALVGRID:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      call function 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = 'ZEDIT_STAT_VENTES1'
          i_structure_name   = 'ZPXSTATVENTDS'
    *'ZPXLETRACEFFDS'
          it_events          = gt_events&#91;&#93;
        TABLES
          t_outtab           = it_statvent.

    NB: ZPXSTATVENTDS est une structure physique (dans le DDD).
    Quand je déclare une structure dynamique et je l'utilise dans cette fonction ça ne marche pas. Cé ça mon souci, alors comment je fais pour ajouter par exemple des colonnes dynamics à cette structure (ZPXSTATVENTDS)?

    A toi de jouer. Merci bcp.

  8. #8
    Membre confirmé

    Homme Profil pro
    Indépendant
    Inscrit en
    Juin 2002
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 540
    Points : 607
    Points
    607
    Par défaut
    Bonjour Hraichi,

    C'est écrit dans la documentation, si tu passes le nom de la structure, cela impose qu'un DDIC Object existe et par conséquent pas d'objets dynamiques. Par contre, tu peux passer le Field Catalog IT_FIELDCAT en combinant tes appels avec REUSE_ALV_FIELDCATALOG_MERGE.

    Field catalog containing the field descriptions of the fields to be considered for the list output (usually, this is a subset of the fields in the internal output table).
    Ludovic
    Fondateur Alien6 : Prescriptive Analytics & Machine Learning Software

Discussions similaires

  1. Réponses: 10
    Dernier message: 24/02/2013, 20h38
  2. ajout dynamique de colonne dans une datagridview
    Par djelloharmel dans le forum Développement Windows
    Réponses: 0
    Dernier message: 04/02/2013, 10h17
  3. Ajout d'une fonctionnalité sur un form dynamique
    Par bisvan dans le forum jQuery
    Réponses: 1
    Dernier message: 14/12/2009, 22h22
  4. Taille dynamique des colonnes sur une ListView
    Par Julien_G dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 07/05/2009, 11h17
  5. Réponses: 4
    Dernier message: 27/05/2008, 23h43

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