Ayuda SAP

Copiar o modificar Gui Status

Hola, en un reporte alv, necesito sumarizar ciertas columnas pero no me aparece en la barra el icono de sumarizar, como se logra eso?

Muchas Gracias

Saludos

Ana

Hola aalvarez2605, usaste la función CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’?

Con la función te muestra todos los iconos

Saludos

1 me gusta

Hola @aalvarez2605, qué tiene que ver el título (que habla del GUI status), con el mensaje que habla de sumarizar columnas dentro de un reporte ALV ??? :neutral_face:

@aalvarez2605 con que funcion o metodo creas el alv?

Si la pregunta es como hacerlo por código, se debe hacer por el fieldcat:

gw_fieldcat-no_out = ‘X’.

Para los subtotales se debe activar el campo t_sort-subtot = ‘X’ (t_sort TYPE slis_t_sortinfo_alv).

Saludos,
Sebastián

Si esa funcione s la que utilizo pero no me sale en el menu de arriba el icono de sumarizar.

 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program     = w_repid
*     i_callback_user_command = 'USER_COMMAND'
      i_callback_top_of_page = 'TOP_OF_PAGE'
      i_structure_name       = 'TI_BKPF'
      is_layout              = s_layout
      it_fieldcat            = tab_fieldcat
      i_default              = 'X'
      i_save                 = g_save
      is_variant             = g_variant
      it_events              = eventcat[]
      is_print               = is_print_axxx
    TABLES
      t_outtab               = alv_out "ti_bkpf
    EXCEPTIONS
      program_error          = 1
      OTHERS                 = 2.

  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
*  return.
ENDFORM.                    "

Saludos
Ana

Yo el ALV que utilizo es el siguiente:

  TRY.
      cl_salv_table=>factory(
        IMPORTING
          r_salv_table   = gr_table
        CHANGING
          t_table        = it_alv ).

    CATCH cx_root.
  ENDTRY.

  " Adecuación ALV1

  gr_functions = gr_table->get_functions( ).
  gr_functions->set_all( abap_true ). " Todos los botones del Gui Status

  gr_columns = gr_table->get_columns( ). " Recolectamos las columnas.

*  TRY.
*      gr_column ?= gr_columns->get_column( 'MANDT' ). " Obtenemos columna mandt.
*    CATCH cx_salv_not_found .
*  ENDTRY.
*  gr_column->set_visible( value  = if_salv_c_bool_sap=>false ). " Ocultar columna MANDT

  PERFORM set_columns_names USING gr_columns.
  gr_columns->set_optimize( abap_true ). "Anchos de columnas iguales

  "Set up selections.
  gr_selections = gr_table->get_selections( ).
  gr_selections->set_selection_mode( if_salv_c_selection_mode=>row_column ). "Seleccion de varias filas.
  gr_table->display( ).

Me parece lo más simple de hacer :slight_smile:

2 Me gusta

Con este:

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program     = w_repid
*     i_callback_user_command = 'USER_COMMAND'
      i_callback_top_of_page = 'TOP_OF_PAGE'
      i_structure_name       = 'TI_BKPF'
      is_layout              = s_layout
*      it_sort                = gt_sort[] " Agregado
      it_fieldcat            = tab_fieldcat
      i_default              = 'X'
      i_save                 = g_save
      is_variant             = g_variant
      it_events              = eventcat[]
      is_print               = is_print_axxx
    TABLES
      t_outtab               = alv_out "ti_bkpf
    EXCEPTIONS
      program_error          = 1
      OTHERS                 = 2.

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.