Skip to content

Added Sort Feature #29

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Jun 23, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/abaplint/abap_cloud.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@
"files": "/../../src/**/*.*"
},
"dependencies": [
{
"url": "https://github.com/abapedia/steampunk-2305-api-intersect-702",
"folder": "/deps",
"files": "/src/**/*.*"
},
{
"url": "https://github.com/abapedia/steampunk-2305-api",
"folder": "/deps",
"files": "/src/**/*.*"
},
{
"url": "https://github.com/abap2UI5/abap2UI5",
"folder": "/abap2UI5",
Expand Down
2 changes: 1 addition & 1 deletion src/01/z2ui5_cl_layo_sample_03.clas.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
<UNICODE>5</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
Expand Down
2 changes: 1 addition & 1 deletion src/01/z2ui5_cl_layo_sample_03a.clas.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
<UNICODE>5</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
Expand Down
17 changes: 9 additions & 8 deletions src/01/z2ui5_cl_layo_sample_04.clas.abap
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ CLASS z2ui5_cl_layo_sample_04 DEFINITION
PUBLIC SECTION.
INTERFACES z2ui5_if_app.

DATA ms_data TYPE Z2UI5_T_11.
DATA ms_data TYPE z2ui5_t_11.
DATA mo_layout TYPE REF TO z2ui5_cl_layo_manager.

PROTECTED SECTION.
DATA client TYPE REF TO z2ui5_if_client.
DATA client TYPE REF TO z2ui5_if_client.

METHODS on_init.
METHODS on_event.
Expand All @@ -33,19 +33,20 @@ CLASS z2ui5_cl_layo_sample_04 IMPLEMENTATION.
client->nav_app_leave( ).

WHEN OTHERS.

z2ui5_cl_layo_pop=>on_event_layout( client = client
layout = mo_layout ).

ENDCASE.

ENDMETHOD.

METHOD on_init.

get_data( ).

init_layout( ).
render_main( ).

render_main( ).
ENDMETHOD.

METHOD render_main.
Expand All @@ -60,8 +61,7 @@ CLASS z2ui5_cl_layo_sample_04 IMPLEMENTATION.
z2ui5_cl_layo_xml_builder=>xml_build_simple_form( i_data = REF #( ms_data )
i_xml = page
i_client = client
i_layout = mo_layout
).
i_layout = mo_layout ).

client->view_display( view->stringify( ) ).

Expand All @@ -76,15 +76,15 @@ CLASS z2ui5_cl_layo_sample_04 IMPLEMENTATION.

on_event( ).

IF client->check_on_navigated( ).
IF client->get( )-check_on_navigated = abap_true.
on_after_navigation( ).
ENDIF.

ENDMETHOD.

METHOD get_data.

SELECT SINGLE * FROM Z2UI5_T_11 INTO @ms_data.
SELECT SINGLE * FROM z2ui5_t_11 INTO @ms_data.

ENDMETHOD.

Expand All @@ -95,6 +95,7 @@ CLASS z2ui5_cl_layo_sample_04 IMPLEMENTATION.
ENDIF.

DATA(class) = z2ui5_cL_util=>rtti_get_classname_by_ref( me ).

mo_layout = z2ui5_cl_layo_manager=>factory( control = z2ui5_cl_layo_manager=>ui_simpleform
data = REF #( ms_data )
handle01 = class
Expand Down
10 changes: 10 additions & 0 deletions src/02/package.devc.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DEVC" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DEVC>
<CTEXT>variant managment</CTEXT>
</DEVC>
</asx:values>
</asx:abap>
</abapGit>
57 changes: 45 additions & 12 deletions src/03/z2ui5_cl_layo_manager.clas.abap
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,12 @@ CLASS z2ui5_cl_layo_manager DEFINITION
TYPES ty_t_sub_columns TYPE STANDARD TABLE OF ty_s_sub_columns WITH EMPTY KEY.

TYPES BEGIN OF ty_s_positions.
INCLUDE TYPE z2ui5_t_12.
TYPES: tlabel TYPE string,
t_sub_col TYPE ty_t_sub_columns,
show_no_zeros TYPE abap_bool,
grid_layout TYPE string,
grid_layout_label TYPE string,
INCLUDE TYPE z2ui5_t_12.
TYPES: tlabel TYPE string,
t_sub_col TYPE ty_t_sub_columns,
show_no_zeros TYPE abap_bool,
grid_layout TYPE string,
grid_layout_label TYPE string,
END OF ty_s_positions.
TYPES ty_t_positions TYPE STANDARD TABLE OF ty_s_positions WITH EMPTY KEY.

Expand All @@ -52,7 +52,8 @@ CLASS z2ui5_cl_layo_manager DEFINITION
DATA ms_layout_tmp TYPE ty_s_layout.
DATA mt_comps TYPE ty_t_positions.
DATA mt_sub_cols TYPE ty_t_sub_columns.
DATA mr_data TYPE REF TO data.
DATA mr_data TYPE REF TO data.
DATA mr_data_tmp TYPE REF TO data.

CLASS-METHODS factory
IMPORTING
Expand Down Expand Up @@ -124,7 +125,6 @@ CLASS z2ui5_cl_layo_manager DEFINITION
METHODS sort.

PRIVATE SECTION.

CLASS-METHODS create_layout_obj
IMPORTING
layout_guid TYPE clike OPTIONAL
Expand Down Expand Up @@ -168,6 +168,15 @@ CLASS z2ui5_cl_layo_manager DEFINITION
RETURNING
VALUE(result) TYPE ty_s_positions.

CLASS-METHODS create_ref_of_data
IMPORTING
i_data TYPE REF TO data
i_comp TYPE cl_abap_structdescr=>component_table
!layout TYPE REF TO z2ui5_cl_layo_manager
RAISING
cx_sy_struct_creation
cx_sy_table_creation.

ENDCLASS.


Expand Down Expand Up @@ -214,8 +223,6 @@ CLASS z2ui5_cl_layo_manager IMPLEMENTATION.
handle03 = handle03
handle04 = handle04 ).

result->mr_data = data.

ENDMETHOD.

METHOD select_layouts.
Expand Down Expand Up @@ -294,7 +301,7 @@ CLASS z2ui5_cl_layo_manager IMPLEMENTATION.
METHOD set_text.

IF layout-alternative_text IS INITIAL.
result = z2ui5_cl_util=>rtti_get_data_element_texts( layout-rollname )-short.
result = z2ui5_cl_util=>rtti_get_data_element_texts( layout-rollname )-short.
ELSE.
result = z2ui5_cl_util=>rtti_get_data_element_texts( layout-alternative_text )-short.
ENDIF.
Expand Down Expand Up @@ -433,6 +440,12 @@ CLASS z2ui5_cl_layo_manager IMPLEMENTATION.

DATA(t_comp) = z2ui5_cl_util=>rtti_get_t_attri_by_any( data ).

IF control <> others AND control <> ui_simpleform.
create_ref_of_data( i_data = data
i_comp = t_comp
layout = result ).
ENDIF.

LOOP AT t_comp INTO DATA(comp).
IF comp-type->type_kind = cl_abap_elemdescr=>typekind_oref.
DELETE t_comp.
Expand Down Expand Up @@ -531,6 +544,21 @@ CLASS z2ui5_cl_layo_manager IMPLEMENTATION.

ENDMETHOD.

METHOD create_ref_of_data.

layout->mr_data = i_data.

DATA(new_struct_desc) = cl_abap_structdescr=>create( i_comp ).

DATA(new_table_desc) = cl_abap_tabledescr=>create( p_line_type = new_struct_desc

p_table_kind = cl_abap_tabledescr=>tablekind_std ).
CREATE DATA layout->mr_data_tmp TYPE HANDLE new_table_desc.

layout->mr_data_tmp->* = layout->mr_data->*.

ENDMETHOD.

METHOD check_zeros_option.

IF i_typekind = cl_abap_elemdescr=>typekind_num
Expand All @@ -546,7 +574,8 @@ CLASS z2ui5_cl_layo_manager IMPLEMENTATION.

result-fname = comp->name.
result-rollname = comp->type->get_relative_name( ).
IF result-rollname IS INITIAL.

IF result-rollname IS INITIAL.
result-rollname = result-fname.
ENDIF.

Expand Down Expand Up @@ -635,10 +664,14 @@ CLASS z2ui5_cl_layo_manager IMPLEMENTATION.

TRY.

* IF mr_data->* <> mr_data_tmp->*.

ASSIGN mr_data->* TO <table>.

SORT <table>
BY (sortorder).

* ENDIF.
CATCH cx_sy_dyn_table_ill_comp_val. "##NO_HANDLER
CATCH cx_root.
ENDTRY.
Expand Down
9 changes: 4 additions & 5 deletions src/03/z2ui5_cl_layo_pop.clas.abap
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ CLASS z2ui5_cl_layo_pop DEFINITION
TYPES ty_t_sorting TYPE STANDARD TABLE OF ty_s_sorting WITH EMPTY KEY.

TYPES BEGIN OF ty_s_layo.
INCLUDE TYPE z2ui5_t_11.
INCLUDE TYPE z2ui5_t_11.
TYPES selkz TYPE abap_bool.
TYPES active TYPE c length 1.
TYPES END OF ty_s_layo.
Expand Down Expand Up @@ -1133,23 +1133,22 @@ CLASS z2ui5_cl_layo_pop IMPLEMENTATION.
METHOD check_grid_sum.

IF ( value ) > 12.
DATA(ls_msg) = z2ui5_cl_util=>msg_get_by_msg(
DATA(msg) = z2ui5_cl_util=>msg_get_by_msg(
id = '/scmtms/common'
no = '154'
v1 = '12'
).
" MESSAGE e154(/scmtms/common) WITH '12' INTO msg.
result = abap_true.
ENDIF.

client->message_toast_display( ls_msg-text ).
client->message_toast_display( msg-text ).

ENDMETHOD.

METHOD render_add_gridlayout.

TYPES: BEGIN OF ty_s_col,
col TYPE c LENGTH 2,
col TYPE c length 2,
END OF ty_s_col.

DATA t_col TYPE STANDARD TABLE OF ty_s_col.
Expand Down
4 changes: 4 additions & 0 deletions src/03/z2ui5_cl_layo_xml_builder.clas.abap
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ CLASS z2ui5_cl_layo_xml_builder DEFINITION
i_title TYPE string OPTIONAL.

PROTECTED SECTION.




PRIVATE SECTION.
TYPES: BEGIN OF ty_s_grid_layout,
label TYPE string,
Expand Down
2 changes: 1 addition & 1 deletion src/03/z2ui5_cl_layo_xml_builder.clas.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
<UNICODE>5</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
Expand Down