When using the ALV class CL_SALV_TABLE you always have to type some code that is the same for every ALV. I have created an ALV wrapper class for this that is really simple and fast to use. You only have to insert the global class ZCL_ALV_OM and you can build fast and easy ALV's.
You can add the class ZCL_ALV_OM with the program SAPLINK
The link to the class is: ZCL_ALV_OM
Because SAPLINK does not provide export of a class textpool, you can insert your own message in the class textpool.
Example for the most simple way to create an ALV:
DATA lt_sflight TYPE TABLE OF sflight. DATA lo_alv TYPE REF TO zcl_alv_om.
SELECT * FROM sflight INTO TABLE lt_sflight WHERE carrid = 'AA'.
CREATE OBJECT lo_alv. lo_alv->set_data( CHANGING ct_data = lt_sflight ). lo_alv->display( ). |
Example with advanced ALV options.
First create the local class LCL_ALV_OM that is inherited from the global class ZCL_ALV_OM and redefine the methods you want to use
*----------------------------------------------------------------------* * CLASS lcl_alv_om DEFINITION *----------------------------------------------------------------------* CLASS lcl_alv_om DEFINITION INHERITING FROM zcl_alv_om. PROTECTED SECTION. METHODS set_header REDEFINITION. METHODS set_column REDEFINITION. METHODS on_double_click REDEFINITION. ENDCLASS. "lcl_alv_om DEFINITION
* CLASS lcl_alv_om IMPLEMENTATION *----------------------------------------------------------------------* CLASS lcl_alv_om IMPLEMENTATION. "Set header METHOD set_header. io_header->create_text( EXPORTING row = 1 column = 1 text = 'Test' ). ENDMETHOD. "set_header
METHOD set_column. IF iv_column_name <> 'CARRID' AND iv_column_name <> 'CONNID' AND iv_column_name <> 'FLDATE'. io_column->set_visible( value = abap_false ). ENDIF. ENDMETHOD. "set_column
METHOD on_double_click. "Do something. You have the row data in variable is_row_data ENDMETHOD. "on_double_click ENDCLASS. "lcl_alv_om IMPLEMENTATION |
Then create and display the ALV
DATA lt_sflight TYPE TABLE OF sflight. DATA lo_alv TYPE REF TO lcl_alv_om.
SELECT * FROM sflight INTO TABLE lt_sflight WHERE carrid = 'AA'.
CREATE OBJECT lo_alv EXPORTING iv_double_click = abap_true.
lo_alv->display( ). |
Regards,
Robin Vleeschhouwer
RV SAP Consultancy
DATA lt_sflight TYPE TABLE OF sflight.
DATA lo_alv TYPE REF TO zcl_alv_om.
"Get sflight data to insert in ALV
SELECT * FROM sflight
INTO TABLE lt_sflight
WHERE carrid = 'AA'.
"Create and display ALV
CREATE OBJECT lo_alv.
lo_alv->set_data( CHANGING ct_data = lt_sflight ).
lo_alv->display( ).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
5 | |
2 | |
2 | |
2 | |
2 | |
2 | |
1 | |
1 | |
1 | |
1 |