@@ -3,22 +3,22 @@ CLASS z2ui5_cl_demo_app_132 DEFINITION
33 CREATE PUBLIC .
44
55 PUBLIC SECTION .
6-
76 INTERFACES if_serializable_object.
87 INTERFACES z2ui5_if_app.
98
109 DATA mv_view_display TYPE abap_bool .
1110 DATA mo_parent_view TYPE REF TO z2ui5_cl_xml_view.
1211
13- DATA mv_perc type string .
12+ DATA mv_perc TYPE string .
13+ DATA mt_table TYPE REF TO data .
14+ DATA mt_table_tmp TYPE REF TO data .
15+ DATA ms_table_row TYPE REF TO data .
16+ DATA mt_table_del TYPE REF TO data .
1417
15- methods set_app_data
16- importing
17- !DATA type STRING .
18+ METHODS set_app_data
19+ IMPORTING !data TYPE string .
1820
1921 PROTECTED SECTION .
20-
21-
2222 DATA client TYPE REF TO z2ui5_if_client.
2323 DATA check_initialized TYPE abap_bool .
2424
@@ -28,6 +28,10 @@ DATA mv_perc type string.
2828 METHODS Render_main.
2929
3030 PRIVATE SECTION .
31+ METHODS get_data.
32+
33+ METHODS get_comp
34+ RETURNING VALUE (result ) TYPE abap_component_tab.
3135
3236ENDCLASS .
3337
@@ -44,11 +48,11 @@ CLASS z2ui5_cl_demo_app_132 IMPLEMENTATION.
4448 ENDMETHOD .
4549
4650 METHOD on_init .
51+ get_Data( ).
4752 Render_main( ).
4853 ENDMETHOD .
4954
5055 METHOD render_main .
51-
5256 IF mo_parent_view IS INITIAL .
5357
5458 DATA (page ) = z2ui5_cl_xml_view=>factory( ).
@@ -59,14 +63,13 @@ CLASS z2ui5_cl_demo_app_132 IMPLEMENTATION.
5963
6064 ENDIF .
6165
62- DATA (layout ) = page->vertical_layout( class = `sapUiContentPadding` width = `100%` ).
66+ DATA (layout ) = page->vertical_layout( class = `sapUiContentPadding`
67+ width = `100%` ).
6368 layout->label( 'ProgressIndicator'
64- )->progress_indicator(
65- percentvalue = mv_perc
66- displayvalue = '0,44GB of 32GB used'
67- showvalue = abap_true
68- state = 'Success' ).
69-
69+ )->progress_indicator( percentvalue = mv_perc
70+ displayvalue = '0,44GB of 32GB used'
71+ showvalue = abap_true
72+ state = 'Success' ).
7073
7174 IF mo_parent_view IS INITIAL .
7275
@@ -93,9 +96,80 @@ CLASS z2ui5_cl_demo_app_132 IMPLEMENTATION.
9396 ENDMETHOD .
9497
9598 METHOD set_app_data .
99+ mv_perc = data .
100+ ENDMETHOD .
101+
102+ METHOD get_data .
103+ FIELD-SYMBOLS <table> TYPE STANDARD TABLE .
104+ FIELD-SYMBOLS <table_tmp> TYPE STANDARD TABLE .
105+
106+ DATA (t_comp ) = get_comp( ).
107+
108+ TRY .
109+
110+ DATA (new_struct_desc ) = cl_abap_structdescr=>create( t_comp ).
111+
112+ DATA (new_table_desc ) = cl_abap_tabledescr=>create( p_line_type = new_struct_desc
113+ p_table_kind = cl_abap_tabledescr=>tablekind_std ).
114+
115+ CREATE DATA mt_table TYPE HANDLE new_table_desc.
116+ CREATE DATA mt_table_del TYPE HANDLE new_table_desc.
117+ CREATE DATA mt_table_tmp TYPE HANDLE new_table_desc.
118+ CREATE DATA ms_table_row TYPE HANDLE new_struct_desc.
119+
120+ ASSIGN mt_table->* TO <table> .
121+
122+ SELECT * FROM Z2UI5_T_UTIL_01
123+ INTO CORRESPONDING FIELDS OF TABLE @<table>
124+ UP TO '100' ROWS .
125+
126+ CATCH cx_root.
127+
128+ ENDTRY .
129+
130+ ASSIGN mt_table_tmp->* TO <table_tmp> .
131+
132+ <table_tmp> = <table> .
133+ ENDMETHOD .
134+
135+ METHOD get_comp .
136+ TRY .
137+
138+ DATA index TYPE int4.
139+
140+ TRY .
141+
142+ cl_abap_typedescr=>describe_by_name( EXPORTING p_name = 'Z2UI5_T_UTIL_01'
143+ RECEIVING p_descr_ref = DATA (typedesc )
144+ EXCEPTIONS type_not_found = 1
145+ OTHERS = 2 ).
146+
147+ DATA (structdesc ) = CAST cl_abap_structdescr( typedesc ).
148+
149+ DATA (comp ) = structdesc->get_components( ).
150+
151+ LOOP AT comp INTO DATA (com ).
152+
153+ IF com-as_include = abap_false .
154+
155+ APPEND com TO result .
156+
157+ ENDIF .
158+
159+ ENDLOOP .
160+
161+ CATCH cx_root INTO DATA (root ). " TODO: variable is assigned but never used (ABAP cleaner)
162+
163+ ENDTRY .
164+
165+ DATA (component ) = VALUE cl_abap_structdescr=>component_table(
166+ ( name = 'ROW_ID'
167+ type = CAST #( cl_abap_datadescr=>describe_by_data( index ) ) ) ).
96168
97- mv_perc = data .
169+ APPEND LINES OF component TO result .
98170
171+ CATCH cx_root.
172+ ENDTRY .
99173 ENDMETHOD .
100174
101175ENDCLASS .
0 commit comments