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 :

Rendre une ligne editable dans un ALV


Sujet :

SAP

  1. #1
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Novembre 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 37
    Par défaut Rendre une ligne editable dans un ALV
    Salut les experts
    je suis débutant en SAP et je suis en train de faire un programme qui a comme but de copier une ligne dans un ALV et que la copie de la ligne sélectionnée soit éditable pour modifier la base et les autres lignes restent non éditables

    j'ai essayé avec ce code mais pas de resultat :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    "set the copied line editable
            PERFORM make_line_editable USING index_cpy   " l'index de  ligne copie
                                      CHANGING lt_celltab.
            INSERT LINES OF lt_celltab INTO TABLE tb_out-celltab.
    
    
      "refresh displaying
            CALL METHOD gr_alvgrid->refresh_table_display.
    
    
    -------------------------------------------------------
    FORM make_line_editable  USING    index_cpy TYPE i
                            CHANGING lt_celltab TYPE lvc_t_styl .
      DATA : ls_celltab TYPE lvc_s_styl.
    
      LOOP AT gt_fieldcat.
    *    gt_fieldcat-tabname = 'TB_OUT'.
        IF sy-tabix = index_cpy.
          loop at gt_fieldcat.
          CASE gt_fieldcat-fieldname.
            WHEN 'ZDTCOMMO'
                 OR 'MEINH'
                 OR 'WAERS'
                 OR 'WKGTOT'
                 OR 'MEGTOT'
                 OR 'PSPID'.
              ls_celltab-fieldname = gt_fieldcat-fieldname.
              ls_celltab-style = cl_gui_alv_grid=>mc_style_enabled.
    
              gt_fieldcat-edit = 'X'.
              MODIFY gt_fieldcat.
              INSERT  ls_celltab INTO TABLE lt_celltab.
          ENDCASE.
         endloop.
        ENDIF.
      ENDLOOP.
    
    ENDFORM.                    " AKE_LINE_EDITABLE
    Images attachées Images attachées  

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2009
    Messages
    574
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 574
    Par défaut
    Hello,
    Il y a des programmes de test fournis par SAP, pour rendre des cellules éditables dynamiquement, voir par exemple BCALV_EDIT_02.
    Sandra

  3. #3
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Novembre 2012
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2012
    Messages : 37
    Par défaut
    Merci Sandra

    c'est bien fait

    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
    23
    24
    25
    26
    27
    28
    29
    30
    FORM make_line_editable  USING    index_cpy TYPE i.
    
      DATA l_tb_out    LIKE LINE OF  tb_out.
      DATA ls_stylerow TYPE lvc_s_styl.
      DATA lt_styletab TYPE lvc_t_styl.
    
      LOOP AT tb_out INTO l_tb_out.
    
        CLEAR l_tb_out-celltab[].
    
        IF sy-tabix NE  index_cpy .
    
          ls_stylerow-style     = cl_gui_alv_grid=>mc_style_disabled .
    
        ELSE.
    
          ls_stylerow-style     = cl_gui_alv_grid=>mc_style_enabled .
    
        ENDIF.
    
        APPEND ls_stylerow TO lt_styletab .
        INSERT LINES OF lt_styletab INTO TABLE l_tb_out-celltab.
        MODIFY tb_out FROM l_tb_out.
        CLEAR lt_styletab[].
    
      ENDLOOP.
    
    
    
    ENDFORM.                    " MAKE_LINE_EDITABLE

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 05/06/2008, 15h17
  2. code pour rendre une ligne du gridview en mode edit
    Par mapmip dans le forum ASP.NET
    Réponses: 1
    Dernier message: 08/04/2008, 13h31
  3. [HTML] Se placer à une ligne précise dans un tableau
    Par seb55555 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/10/2004, 15h06
  4. Réponses: 6
    Dernier message: 04/03/2004, 09h35
  5. Réponses: 2
    Dernier message: 08/08/2003, 17h30

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