Definition
CLASS-METHODS orderby
IMPORTING
!it_order TYPE /iwbep/t_mgw_tech_order
CHANGING
!ct_data TYPE STANDARD TABLE .
Implementation Old ABAP Syntax
METHOD orderby.
DATA: lt_otab TYPE abap_sortorder_tab,
ls_oline TYPE abap_sortorder.
DATA: ls_order LIKE LINE OF it_order.
LOOP AT it_order INTO ls_order.
ls_oline-name = ls_order-property.
TRANSLATE ls_oline-name TO UPPER CASE. "#EC TRANSLANG
IF ls_order-order = 'desc'.
ls_oline-descending = 'X'.
ENDIF.
APPEND ls_oline TO lt_otab.
CLEAR ls_oline.
ENDLOOP.
SORT ct_data BY (lt_otab).
ENDMETHOD.
Implementation New ABAB Syntax
METHOD orderby.
DATA(lt_sort) = VALUE abap_sortorder_tab( FOR lv_order IN it_order
( name = to_upper( lv_order-property )
descending = COND #( WHEN lv_order-order = 'desc'
THEN abap_true
ELSE abap_false ) ) ).
SORT ct_data BY (lt_sort).
ENDMETHOD.
Example
DATA : lt_orderby TYPE /iwbep/t_mgw_tech_order.
*--- Sort
lt_orderby = io_tech_request_context->get_orderby( ).
orderby(
EXPORTING
it_order = lt_orderby
CHANGING
ct_data = et_entityset
).