*&---------------------------------------------------------------------*
*& Report ZCL_SALV_TABLE_1
*&
*&---------------------------------------------------------------------*
*&Manejo de ALV con la clase cl_salv_table
*&Uso simple
*&---------------------------------------------------------------------*
REPORT ZCL_SALV_TABLE_1.
DATA: alv_table type REF TO cl_salv_table, "referencia a la clase table del alv
it_sflight TYPE TABLE OF sflight. "Tabla Interna para el query
SELECT * INTO CORRESPONDING FIELDS OF TABLE it_sflight
FROM sflight WHERE carrid = 'AA'.
*TRY.
CALL METHOD CL_SALV_TABLE=>FACTORY
EXPORTING
LIST_DISPLAY = abap_true "Modo Lista
* R_CONTAINER =
* CONTAINER_NAME =
IMPORTING
R_SALV_TABLE = alv_table "importo el alv creado por la clase
CHANGING
T_TABLE = it_sflight. "tabla interna de datos
.
* CATCH CX_SALV_MSG .
*ENDTRY.
DATA: lr_columns TYPE REF TO cl_salv_columns_table,
lr_column TYPE REF TO cl_salv_column.
* edit ALV columns
lr_columns = alv_table->get_columns( ).
* optimize output
lr_columns->set_optimize( 'X' ).
*----------------------------------------------------------------------*
* Doy datos a la cabecera de las columnas
*----------------------------------------------------------------------*
TRY.
lr_column = lr_columns->get_column( 'CARRID' ).
lr_column->set_long_text( 'Vuelos' ).
lr_column->set_medium_text( 'Vuelos' ).
lr_column->set_short_text( 'Vuelos' ).
lr_column = lr_columns->get_column( 'MANDT' ).
lr_column->set_long_text( 'Cliente' ).
lr_column->set_medium_text( 'Cliente' ).
lr_column->set_short_text( 'Cliente' ).
CATCH cx_salv_not_found.
CATCH cx_salv_existing.
CATCH cx_salv_data_error.
ENDTRY.
*----------------------------------------------------------------------*
* Establezco los botones default de un alv standart
*----------------------------------------------------------------------*
data: gr_functions type ref to cl_salv_functions_list.
gr_functions = alv_table->get_functions( ).
gr_functions->set_default( ).
* gr_functions->set_all( ).
CALL METHOD alv_table->DISPLAY( ). "Muestro ALV
Como le agrego un boton grabar ???
ResponderEliminar