ALV con objetos

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • MetalGod
    Senior Member
    • jun
    • 110

    #1

    ALV con objetos

    como hago para ordenar la tabla que se muestra en un alv con objetos? vi que el metodo set_table_for_first_display tiene un parametro IT_SORT pero no se como se usa, o por ahi se hace en otro lado, si alguien sabe, se agradecera mucho
  • MetalGod
    Senior Member
    • jun
    • 110

    #2
    Solucionado. Encontre un ejemplo que me ayudo, lo comparto para el que le pase lo mismo



    FORM crear_alvgrid_oo.
    ************************************
    ************************************
    DATA: T_SORT TYPE LVC_T_SORT,
    FS_SORT TYPE LVC_S_SORT.

    FS_SORT-SPOS ='1'.
    FS_SORT-FIELDNAME = 'FECHA'.
    FS_SORT-DOWN = 'X'.
    FS_SORT-UP = SPACE.
    FS_SORT-SUBTOT = 'X'.
    APPEND FS_SORT TO T_SORT.
    CLEAR fs_sort.
    ************************************
    ************************************

    IF go_container IS INITIAL.
    CREATE OBJECT go_container
    EXPORTING
    container_name = 'CONTENEDOR'
    EXCEPTIONS
    cntl_error = 1
    cntl_system_error = 2
    create_error = 3
    lifetime_error = 4
    OTHERS = 5.

    IF sy-subrc EQ 0.
    CREATE OBJECT go_cl_alvgrid
    EXPORTING
    i_parent = go_container.
    * Invocar a los metodos del objeto go_cl_alvgrid.
    CALL METHOD go_cl_alvgrid->REGISTER_EDIT_EVENT
    EXPORTING
    i_event_id = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.

    CALL METHOD go_cl_alvgrid->REGISTER_EDIT_EVENT
    EXPORTING
    i_event_id = CL_GUI_ALV_GRID=>MC_EVT_ENTER.

    CALL METHOD go_cl_alvgrid->SET_READY_FOR_INPUT
    EXPORTING
    i_ready_for_input = 1.

    PERFORM genera_catalogo
    CHANGING gtd_fieldcat.

    PERFORM genera_layout
    CHANGING gst_layout.

    * CREATE OBJECT go_event.
    * SET HANDLER go_event->handle_double_click FOR go_cl_alvgrid.

    CALL METHOD go_cl_alvgrid->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
    is_layout = gst_layout
    i_save = 'A'
    CHANGING
    it_outtab = ti_vuelos[]
    ======>IT_SORT = T_SORT<=======
    it_fieldcatalog = gtd_fieldcat.
    ENDIF.

    ELSE.
    CALL METHOD go_cl_alvgrid->REFRESH_TABLE_DISPLAY.
    ENDIF.

    ENDFORM. " crear_alvgrid_OO

    se pueden hacer varios ordenamientos, yo solo hice uno por el campo fecha

    lo saque de aca: http://wiki.sdn.sap.com/wiki/display/ABAP/SORT+in+ALV

    y use de ayuda para darme cuenta que parametro tenia que usar: http://scn.sap.com/thread/1324083

    espero poder haber contribuido con algo

    Comentario

    Trabajando...