editar campos alv

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • budista1
    Senior Member
    • sep
    • 154

    #1

    editar campos alv

    Hola,

    como puedo editar y guardar varios campos de columnas de una lista de alv?

    Gracias!
  • budista1
    Senior Member
    • sep
    • 154

    #2
    alv normal editable

    Hola foro,

    teneis algún ejemplo de ALV normal que edite campos y guarde los datos en una tabla?

    Parece sencillo..investigue por internet y sólo encontré ayudas incompletas

    Comentario

    • kibo
      Senior Member
      • may
      • 177

      #3
      Si esa es tu necesidad, con la sm30 a la vista de actualizacion de la tabla puedes lograrlo
      http://diariotitular.com/contacto/

      Comentario

      • budista1
        Senior Member
        • sep
        • 154

        #4
        aclaración

        No es lo que comentas, se trata de que usuario llene campos editables de una lista alv, luego envio datos a una tabla interna (internamente)

        Comentario

        • daniel1050
          Member
          • oct
          • 58

          #5
          Fijate si te sirve

          Comentario

          • SAPING
            Senior Member
            • may
            • 199

            #6
            Hola..
            tenes que manejar los campos del fieldcat.

            Ej: ls_fieldcat-edit = 'X'. (en el campo q quieras que sea editable)

            Saludos.

            Comentario

            • budista1
              Senior Member
              • sep
              • 154

              #7
              gracias

              Gracias Saping,

              hasta ahí llegué, me salen los campos para editar pero ahora tengo que hacer el código que capture el dato que mete el usuario y guardarlo en la tabla correspondiente..
              ¿algún ejemplo?

              Saludos!

              Comentario

              • JoNhNaTaN
                Member
                • ene
                • 70

                #8
                lo lograste??

                hola lograste hacerlo, estoy iniciando y busco lo mismo.

                gracias

                Comentario

                • mickeychw
                  Member
                  • may
                  • 34

                  #9
                  Buenas tardes!

                  Hace dos semanas tuve el mismo problema, les comparto como lo solucione:

                  el fieldcat se llena asi:


                  wa_fieldcat-fieldname = 'ENERO'. "NOMBRE DEL CAMPO DE LA TABLA INTERNA
                  wa_fieldcat-scrtext_s = '- Enero -'. "TITULO
                  wa_fieldcat-edit = 'X'. " SE DEFINE QUE SE PUEDE EDITAR
                  wa_fieldcat-tabname = 'IT_METAS'. "TABLA INTERNA
                  wa_fieldcat-col_pos = 2.
                  wa_fieldcat-outputlen = 11.
                  APPEND wa_fieldcat TO it_fieldcat.
                  CLEAR wa_fieldcat.

                  Con eso el ALV aparece como editable, para que puedas guardar debes de generar un STATUS GUI en el cual pongas un botón para Guardar, una vez que hagas eso, se genera una subrutina:

                  ORM user_commands USING p_ucomm LIKE sy-ucomm
                  p_campo TYPE slis_selfield.
                  DATA: w_stb_button TYPE stb_button,
                  v_fcode TYPE bus000cuaf,
                  lo_grid TYPE REF TO cl_gui_alv_grid.


                  CASE p_ucomm.

                  " Este es el nombre que se le puso al botón de Guardar, cuando el sistema detecta que se da click en el, viene a esta parte del código y realiza todas las instrucciones, es decir se puede codificar la inserción a una tabla transparente.
                  WHEN '&ACTUA'.

                  ** CODIGO DE INSERCION ***

                  ENDCASE.

                  No se si esto les ayude o necesiten algo más, sin más me despido.

                  Comentario

                  • vtsuchida
                    Junior Member
                    • dic
                    • 21

                    #10
                    Luego de definir qué columnas serán editables, necesitas indicar (dentro de la llamada al ALV) el nombre del reporte (sy-repid) y el nombre de la rutina que va a captar los user_commands.

                    La rutina que recibirá todo user_command la tendrás que implementar de la siguiente forma:

                    Código:
                    FORM user_command USING r_ucomm LIKE sy-ucomm
                                            rs_selfield TYPE slis_selfield.
                      DATA: gd_repid LIKE sy-repid,
                            ref_grid TYPE REF TO cl_gui_alv_grid.
                      IF ref_grid IS INITIAL.
                        CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
                          IMPORTING
                            e_grid = ref_grid.
                      ENDIF.
                      IF NOT ref_grid IS INITIAL.
                        CALL METHOD ref_grid->check_changed_data .
                      ENDIF.
                      CASE r_ucomm.
                        WHEN 'SAVE'.
                           (Acá va tu código de update)
                      ENDCASE.
                      rs_selfield-refresh = 'X'.
                    ENDFORM. "USER_COMMAND
                    Saludos

                    Comentario

                    • Adriana Anestoso
                      Junior Member
                      • abr
                      • 18

                      #11
                      Originalmente publicado por budista1
                      Hola,

                      como puedo editar y guardar varios campos de columnas de una lista de alv?

                      Gracias!

                      Hola, primero que nada que ALV estas haciendo ? esta el alv jerárquico o el orientado a objetos, ambos se pueden editar pero se hace de distinta forma...

                      Comentario

                      Trabajando...