-
-
Save prakash13t/3f6ab732050bd29c7d23 to your computer and use it in GitHub Desktop.
Sorting in SALV Table
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
REPORT zsl_oop_salv_sort. | |
*----------------------------------------------------------------------* | |
* Sorting in ALV report using factory class CL_SALV_TABLE * | |
*----------------------------------------------------------------------* | |
* www.saplearners.com * | |
*----------------------------------------------------------------------* | |
*----------------------------------------------------------------------* | |
* CLASS lcl_sflight DEFINITION | |
*----------------------------------------------------------------------* | |
* | |
*----------------------------------------------------------------------* | |
CLASS lcl_sflight DEFINITION. | |
PUBLIC SECTION. | |
TYPES: BEGIN OF lty_sflight, | |
carrid TYPE s_carr_id, | |
connid TYPE s_conn_id, | |
fldate TYPE s_date, | |
price TYPE s_price, | |
currency TYPE s_currcode, | |
planetype TYPE s_planetye, | |
seatsmax TYPE s_seatsmax, | |
seatsocc TYPE s_seatsocc, | |
END OF lty_sflight. | |
METHODS: get_sflight_data, | |
get_alv_instance, | |
display. | |
DATA: lo_alv TYPE REF TO cl_salv_table, | |
gt_sflight TYPE STANDARD TABLE OF lty_sflight. | |
ENDCLASS. "lcl_sflight DEFINITION | |
*----------------------------------------------------------------------* | |
* CLASS lcl_sflight IMPLEMENTATION | |
*----------------------------------------------------------------------* | |
* | |
*----------------------------------------------------------------------* | |
CLASS lcl_sflight IMPLEMENTATION. | |
* Get SFLIGHT data | |
METHOD get_sflight_data. | |
SELECT carrid connid fldate price currency planetype seatsmax | |
seatsocc INTO TABLE me->gt_sflight | |
FROM sflight | |
WHERE carrid IN ('AA', 'JL' ). | |
ENDMETHOD. "get_sflight_data | |
* Get ALV instance | |
METHOD get_alv_instance. | |
TRY. | |
CALL METHOD cl_salv_table=>factory | |
IMPORTING | |
r_salv_table = lo_alv | |
CHANGING | |
t_table = gt_sflight. | |
CATCH cx_salv_msg. | |
ENDTRY. | |
ENDMETHOD. "get_alv_instance | |
* Display ALV | |
METHOD display. | |
CALL METHOD lo_alv->display. | |
ENDMETHOD. "display | |
ENDCLASS. "lcl_sflight IMPLEMENTATION | |
START-OF-SELECTION. | |
DATA: lo_cl_sflight TYPE REF TO lcl_sflight, | |
lo_sorts TYPE REF TO cl_salv_sorts. | |
CREATE OBJECT lo_cl_sflight. | |
* Get the Data for ALV report | |
lo_cl_sflight->get_sflight_data( ). | |
* Get ALV instance | |
lo_cl_sflight->get_alv_instance( ). | |
*// Sorting | |
**// 1. Get Sorting Object of the ALV | |
CALL METHOD lo_cl_sflight->lo_alv->get_sorts | |
RECEIVING | |
value = lo_sorts. | |
**// 2.Specify the column for sorting | |
TRY. | |
CALL METHOD lo_sorts->add_sort | |
EXPORTING | |
columnname = 'CARRID' | |
* position = | |
sequence = if_salv_c_sort=>sort_up. | |
* subtotal = IF_SALV_C_BOOL_SAP=>FALSE | |
* group = IF_SALV_C_SORT=>GROUP_NONE | |
* obligatory = IF_SALV_C_BOOL_SAP=>FALSE. | |
CATCH cx_salv_not_found . | |
CATCH cx_salv_existing . | |
CATCH cx_salv_data_error . | |
ENDTRY. | |
* Display ALV report | |
lo_cl_sflight->display( ). |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment