Anuncio

Colapsar
No hay anuncio todavía.

Copiar/pegar en un ALV Grid

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Copiar/pegar en un ALV Grid

    Hola todos,
    tengo un ALG Grid , y tengo un fichero Excel donde hay casi 400 registros
    (los campos del AVL Grid son los mismos en el fichero Excel). lo que quiero hacer es , guardar todos los datos del Excel en mi ALV Grid , por eso necesito como puedo hacer un (" Select all " copiar) desde el Excel para pegar todos los registros a la vez en el ALV Grid.

    muchas gracias de antemano
    Mehdi
    "el tiempo no perdona las cosas que se hacen sin él "

  • #2
    Hola,

    lo que podés hacer es levantar los datos de ese excel con la GUI_UPLOAD y después mostrarlo en ese ALV.

    Saludos!

    Comentario


    • #3
      hola koken ,
      gracias por tu respuesta
      no puedo usar la funcion GUI_UPLOAD porque no se cuantos registros van a ser selecionados por el usuario , entonces tengo que leer los datos que estan en el clipboard del Excel y luego cargarlos en la tabla interna de mi alv.
      Mehdi
      "el tiempo no perdona las cosas que se hacen sin él "

      Comentario


      • #4
        Hola ,
        he encontrado una solución :
        Código:
        DATA : BEGIN OF i_tabla OCCURS 0,
                  nombre(50) TYPE c ,
                  apll(50)   TYPE c ,
               END OF i_tabla.
        
        DATA:
        *     Tabla para recuperar los datos que estan en el clipboard
              file_table_clip TYPE STANDARD TABLE OF file_table.
        
        DATA: wa_file(1024),
              mystring(300) TYPE c.
         CONSTANTS :
         hexa1(1) TYPE c VALUE CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
        
        
        CALL METHOD cl_gui_frontend_services=>clipboard_import
          IMPORTING
            data                 = file_table_clip
        *    LENGTH               =
          EXCEPTIONS
            cntl_error           = 1
            error_no_gui         = 2
            not_supported_by_gui = 3
            OTHERS               = 4
                .
        IF sy-subrc <> 0.
          EXIT.
        ENDIF.
        
        LOOP AT file_table_clip INTO mystring.
        
            SPLIT mystring AT hexa1 INTO i_tabla-nombre
                                         i_tabla-apll .
            APPEND i_tabla.
          ENDLOOP.
        espero que va a ayudar a alguien .
        Saludos.
        Mehdi
        "el tiempo no perdona las cosas que se hacen sin él "

        Comentario


        • #5
          Muy buen aporte!!!

          Comentario

          Trabajando...
          X