Necesito Ejemplos de ALV con columnas dinamicas

Colapsar
Este tema está cerrado
X
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • soryabap
    Junior Member
    • sep
    • 1

    #16
    me envias el fuente please...!!!

    Originalmente publicado por CarlitosCepeda
    Gracias a ambos, por su ayuda.
    Ya terminé el programa.
    Lo resolví haciendo un loop en el catalogo, y para llenar los campos con un FIELD-SYMBOLS. Anteriormente tenía mucho código para hacer lo que quería, pero con el field-symbols me ahorre bastante.

    El que quiera, yo le envío el programa (txt) a su correo.
    Lo único malo es que la estructura del ALV (ósea, los campos), me quedo enorme.

    Saludos a todos.
    gracias nuevamente

    Me puedes enviar el codigo please.... a sorymorales@hotmail.com

    Comentario

    • gnes6
      Junior Member
      • dic
      • 12

      #17
      Crear un alv con columnas dinamicas

      Originalmente publicado por CarlitosCepeda
      Hola, saludos a todos
      Quien me puede ayudar, enviandome o poniendo aquí ejemplos de ALV dinamicos. Sé que es con FIELD-SYMBOLS, pero no me sale.
      Espero respuestas
      Gracias.
      Saludos.

      Aca un ejemplo, copia el codigo y pruebalo..!!

      REPORT ZPRUEBA_ALV_DINAMICO.

      TYPE-POOLS: slis.
      FIELD-SYMBOLS: <t_dyntable> TYPE STANDARD TABLE, " Dynamic internal table name
      <fs_dyntable>, " Field symbol to create work area
      <fs_fldval> type any. " Field symbol to assign values

      PARAMETERS: p_cols(5) TYPE c, " Input number of columns
      p_rows(5) TYPE c.
      DATA: t_newtable TYPE REF TO data,
      t_newline TYPE REF TO data,
      fs_fldcat TYPE slis_t_fieldcat_alv,
      t_fldcat TYPE lvc_t_fcat,
      wa_it_fldcat TYPE lvc_s_fcat,
      wa_colno(2) TYPE n,
      wa_flname(5) TYPE c.
      * Create fields .
      DO p_cols TIMES.
      CLEAR wa_it_fldcat.
      move sy-index to wa_colno.
      concatenate 'COL'
      wa_colno
      into wa_flname.
      wa_it_fldcat-fieldname = wa_flname.
      wa_it_fldcat-datatype = 'CHAR'.
      wa_it_fldcat-intlen = 10.
      APPEND wa_it_fldcat TO t_fldcat.
      ENDDO.
      * Create dynamic internal table and assign to FS
      CALL METHOD cl_alv_table_create=>create_dynamic_table
      EXPORTING
      it_fieldcatalog = t_fldcat
      IMPORTING
      ep_table = t_newtable.
      ASSIGN t_newtable->* TO <t_dyntable>.
      * Create dynamic work area and assign to FS
      CREATE DATA t_newline LIKE LINE OF <t_dyntable>.
      ASSIGN t_newline->* TO <fs_dyntable>.
      ************************
      ** Populate internal table
      ************************
      DATA: fieldname(20) TYPE c.
      DATA: fieldvalue(10) TYPE c.
      DATA: index(3) TYPE c.
      DATA: index2(3) TYPE c.
      DO p_rows TIMES.
      index2 = sy-index.
      DO p_cols TIMES.
      index = sy-index.
      MOVE sy-index TO wa_colno.
      CONCATENATE 'COL'
      wa_colno
      INTO wa_flname.
      * Set up fieldvalue
      CONCATENATE 'VALUE ' index '-' index2 INTO
      fieldvalue.
      CONDENSE fieldvalue NO-GAPS.
      ASSIGN COMPONENT wa_flname
      OF STRUCTURE <fs_dyntable> TO <fs_fldval>.
      <fs_fldval> = fieldvalue.
      ENDDO.
      * Append to the dynamic internal table
      APPEND <fs_dyntable> TO <t_dyntable>.
      ENDDo.



      ************************
      ** Display internal table
      ************************

      DATA: wa_cat LIKE LINE OF fs_fldcat.
      DO p_cols TIMES.
      CLEAR wa_cat.
      MOVE sy-index TO wa_colno.
      CONCATENATE 'COL'
      wa_colno
      INTO wa_flname.
      wa_cat-fieldname = wa_flname.
      wa_cat-seltext_s = wa_flname.
      wa_cat-outputlen = '10'.
      APPEND wa_cat TO fs_fldcat.
      ENDDO.
      * Call ABAP List Viewer (ALV)
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
      EXPORTING
      it_fieldcat = fs_fldcat
      TABLES
      t_outtab = <t_dyntable>.
      gne6

      Comentario

      • ana luna
        Junior Member
        • sep
        • 14

        #18
        Hola! Serias tan amable de enviarme tu codigo a mi correo... analucialuna@gmail.com
        muchas gracias

        Comentario

        Trabajando...