PDA

Ver la Versión Completa : ALV con objetos


MetalGod
05/07/12, 18:43:28
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
05/07/12, 18:58:52
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