jueves, 12 de enero de 2012

ALV CLASES SENCILLA

*************CONSULTA TODO DE LA SBOOK

REPORT xxxxxxxx.

CLASS lcl_alv DEFINITION.

PUBLIC SECTION.

METHODS select_alv IMPORTING amount TYPE i.

METHODS display_alv.

PROTECTED SECTION.

DATA t_alv TYPE STANDARD TABLE OF sbook.

DATA: o_table TYPE REF TO cl_salv_table,
o_columns TYPE REF TO cl_salv_columns_table,
o_column TYPE REF TO cl_salv_column_table,
o_events TYPE REF TO cl_salv_events_table.

ENDCLASS. "lcl_alv DEFINITION

*- Class Implementation
*----------------------------------------------------------------------*
* CLASS lcl_alv IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_alv IMPLEMENTATION.

METHOD select_alv.
SELECT *
FROM sbook
INTO TABLE t_alv
UP TO amount ROWS.

ENDMETHOD. "SELECT_ALV

METHOD display_alv.

TRY.
cl_salv_table=>factory(
IMPORTING
r_salv_table = o_table
CHANGING
t_table = t_alv ).
CATCH cx_salv_msg. "#EC NO_HANDLER
ENDTRY.

o_columns = o_table->get_columns( ).
o_columns->set_optimize( abap_true ).

TRY.
o_column ?= o_columns->get_column( 'CARRID' ).
o_column->set_cell_type( if_salv_c_cell_type=>hotspot ).
CATCH cx_salv_not_found.
ENDTRY.

o_events = o_table->get_event( ).

o_table->display( ).

ENDMETHOD. "display_alv

ENDCLASS. "lcl_alv IMPLEMENTATION

*- Defining Objects
DATA o_alv TYPE REF TO lcl_alv.

*- Instance Creation
START-OF-SELECTION.

CREATE OBJECT o_alv.

*- Calling Methods
o_alv->select_alv( 30 ).
o_alv->display_alv( ).

No hay comentarios:

Publicar un comentario