Añadir botones standars toolbar ALV OO

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • javi24
    Junior Member
    • nov
    • 24

    #1

    Añadir botones standars toolbar ALV OO

    Buenas,

    Tengo 2 alv's orientadas a objetos en la misma dynpro de la siguiente manera (Codigo del primer alv para mostrar como la cosntuyo):

    * Creating ALV Grid instance
    CREATE OBJECT gr_alvgrid
    EXPORTING
    i_parent = gr_ccontainer
    EXCEPTIONS
    error_cntl_create = 1
    error_cntl_init = 2
    error_cntl_link = 3
    error_dp_create = 4
    others = 5.

    IF sy-subrc <> 0.
    * Exception handling
    ENDIF.

    variante-report = sy-repid.

    * Preparing field catalog.
    PERFORM reuse_alv_fieldcatalog_merge CHANGING gt_fieldcat .

    * Preparing layout structure
    PERFORM prepare_layout CHANGING gs_layout .

    * PERFORM exclude_tb_functions CHANGING gt_exclude.

    CALL METHOD gr_alvgrid->set_table_for_first_display
    EXPORTING
    is_layout = gs_layout
    is_variant = variante
    i_save = 'A'
    i_default = 'X'
    * it_toolbar_excluding = gt_exclude
    CHANGING
    it_outtab = i_alv4[]
    it_fieldcatalog = gt_fieldcat
    EXCEPTIONS
    invalid_parameter_combination = 1
    program_error = 2
    too_many_lines = 3
    OTHERS = 4.

    IF sy-subrc <> 0.
    *--Exception handling
    ENDIF.
    CALL METHOD gr_alvgrid->set_ready_for_input
    EXPORTING
    i_ready_for_input = 0.

    ELSE .

    CALL METHOD gr_alvgrid->refresh_table_display
    EXCEPTIONS
    finished = 1
    OTHERS = 2.


    El problema es que la toolbar que me sale no tiene los botones standarares que me hacen falta como (descargar en excel, etc...)
    Me gustaria saber como añadir los botones standares que me hacen falta

    He encontrado la funcion para quitarlos, pero no para añadirlos.
    La funcion para quitarlos es la siguiente:

    FORM exclude_tb_functions CHANGING pt_exclude TYPE ui_functions.
    DATA: ls_exclude TYPE ui_func.

    ls_exclude = gr_alvgrid->mc_fc_loc_paste_new_row.
    APPEND ls_exclude TO pt_exclude.

    ls_exclude = gr_alvgrid->mc_fc_loc_copy.
    APPEND ls_exclude TO pt_exclude.

    Alguien me puede ayudar?

    Muchas gracias
  • ballan
    Senior Member
    • oct
    • 671

    #2
    Esos botones aparecen "automaticamente" cuando hay 1 campo editable en el ALV, deduzco que si no te aparecen es porque en tu ALV no hay ninguna columna editable (en el fcat tiene el campo edit con una X)

    Por lo que una prueba rapida seria modificar tu catalogo y marcar el campo EDIT a una columna para ver si te lo añade, si es asi lo que podrias hacer es añadir una columna dummy a la estructura de tu ALV, ponerla como editable y marcar el campo NO_OUT del fcat para que no la muestre

    Comentario

    • javi24
      Junior Member
      • nov
      • 24

      #3
      Buenas,

      He probado lo que me has dicho y me continua sin aparecer.
      Con que me aparezca el boton para descargar en excel sería mas qeu suficiente porque el problema es que son muchos datos los que devuelve el alv y necesito descargarlo en un excel para tratarlo.

      Mirando he visto que la clase CL_GUI_ALV_GRID tiene el metodo SET_TOOLBAR_BUTTONS que podría ser para añadir botones, pero no tengo ni idea de como utilizarlo.


      muchas gracias

      Comentario

      • ballan
        Senior Member
        • oct
        • 671

        #4
        Pues vamos yo puedo garantizar que cuando muestro un ALV y existe una columna editable automaticamente aparecen los botones de añadir y quitar lineas, copiar, cortar, etc y tambien el boton de exportar a excel

        Quiza es que al marcar el campo como editable y luego ponerle el NO_OUT el standard no añade los botones, prueba a poner en el fcat una columna con el campo EDIT marcado y ver si te los añade

        Tambien comprueba que no se esten pasando datos en la exclude_tab porque a lo mejor se esta forzando a que no se muestre el boton de exportar a excel

        Otra opcion seria añadir un boton mediante codigo y codificar la exportacion a excel, pero eso requeriria mas trabajo

        No obstante insisto en que si hay un campo editable deberian aparecer esos botones, por lo menos mi experiencia siempre ha sido esa

        Comentario

        • Arturo Sandoval Salcedo
          Junior Member
          • oct
          • 4

          #5
          Algo parecido

          Buenos dias leyendo su problema con los botones yo tengo algo parecido
          necesito saber que metodo utilizar para la impresion del alv oo que hice
          porq pues no lo hace solo uds pueden ayudarme con esto

          Comentario

          Trabajando...