botones en barra de estatus ALV

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

    #1

    botones en barra de estatus ALV

    Hola,

    quiero meter unos botones debajo de la barra de estatus de un ALV.
    Irían en el listado de salida debajo de los botones estandard como ordenar ascendente y descendente. Mi alv es el clásico sin objetos.


    Saludos!!
  • javi_garcia18
    Junior Member
    • jun
    • 23

    #2
    Hola budista1, yo creo que en vez de crear botones debajo de tu estatus del ALV deberias de agregarlos al costado me parece mas práctico y estético, lo que harias seria lo siguiente: le haces una copia al estatus estandar de tu alv y luego lo editas ahi creas tus dos nuevos botones despues lo llamas en el ALV el SET STATUS y para programarlo utilizas el USER COMMAND, te pongo un ejemplo:

    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    i_callback_program = gv_repid
    it_fieldcat = gt_fieldcat[]
    it_events = gt_events[]
    is_layout = gd_layout
    i_save = gv_save
    i_callback_pf_status_set = 'SET_STATUS'
    i_callback_user_command = 'USER_COMMAND'
    TABLES
    t_outtab = gt_reporte[]
    EXCEPTIONS
    program_error = 1
    OTHERS = 2.


    **&---------------------------------------------------------------------
    **
    **& Form SET_STATUS
    **&---------------------------------------------------------------------
    FORM set_status USING rt_extab TYPE slis_t_extab.
    SET PF-STATUS 'ZFI_STANDARD_092'.
    ENDFORM. "set_status



    *---------------------------------------------------------------------*
    * FORM user_command *
    *---------------------------------------------------------------------*
    * ........ *
    *---------------------------------------------------------------------*
    * --> UCOMM *
    * --> SELFIELD *
    *---------------------------------------------------------------------*
    FORM user_command USING ucomm LIKE sy-ucomm
    selfield TYPE slis_selfield.
    CASE ucomm.

    WHEN '&IC1'.

    * doble click sobre el total
    IF selfield-endsum EQ 'X'.
    PERFORM llama_fbl3n USING '' p_bukrs.
    ENDIF.

    * Cuando hace clik sobre el doc creado le manda a la fb03
    READ TABLE gt_reporte INDEX selfield-tabindex.
    CHECK sy-subrc = 0.

    CASE selfield-sel_tab_field.
    WHEN 'GT_REPORTE-HKONT'.
    SET PARAMETER ID 'SAK' FIELD gt_reporte-hkont.
    SET PARAMETER ID 'BUK' FIELD p_bukrs.
    SET PARAMETER ID 'GJR' FIELD p_gjahr.
    CALL TRANSACTION 'FBL3N' AND SKIP FIRST SCREEN.
    WHEN 'GT_REPORTE-MONTO'.
    PERFORM llama_fbl3n USING gt_reporte-hkont p_bukrs.
    ENDCASE.

    ENDCASE.
    ENDFORM. "user_command

    esto es un pequeño ejemplo de como deberias hacerlo, cualquier cosa no dudes en preguntar .
    Si necesitas ayuda solo pidemela!!

    Comentario

    • budista1
      Senior Member
      • sep
      • 154

      #3
      gracias!

      Muchas gracias compañero!

      Aunque mi función alv es la

      REUSE_ALV_GRID_DISPLAY_LVC'

      Por cierto, sabes cómo podría editar campos de salida del alv?
      Tienes algún ejemplo?

      Preferería hacerlo por abap clásico pero parece que solo se puede hacer por objetos

      Un saludo abapero

      Comentario

      Trabajando...