@@ -3,16 +3,23 @@ CLASS z2ui5_cl_demo_app_343 DEFINITION PUBLIC.
3
3
PUBLIC SECTION .
4
4
INTERFACES z2ui5_if_app.
5
5
6
- DATA mt_data TYPE REF TO data .
6
+ DATA mt_data1 TYPE REF TO data .
7
7
DATA mt_data2 TYPE REF TO data .
8
+ DATA mt_data3 TYPE REF TO data .
9
+ DATA mt_data4 TYPE REF TO data .
10
+ DATA mt_data5 TYPE REF TO data .
11
+ DATA mt_data6 TYPE REF TO data .
8
12
9
- DATA mo_layout_obj TYPE REF TO z2ui5_cl_demo_app_333.
13
+ DATA mo_layout_obj1 TYPE REF TO z2ui5_cl_demo_app_333.
10
14
DATA mo_layout_obj2 TYPE REF TO z2ui5_cl_demo_app_333.
15
+ DATA mo_layout_obj3 TYPE REF TO z2ui5_cl_demo_app_333.
16
+ DATA mo_layout_obj4 TYPE REF TO z2ui5_cl_demo_app_333.
17
+ DATA mo_layout_obj5 TYPE REF TO z2ui5_cl_demo_app_333.
18
+ DATA mo_layout_obj6 TYPE REF TO z2ui5_cl_demo_app_333.
11
19
12
- METHODS get_data IMPORTING iv_tabname TYPE string .
13
- METHODS get_data2 IMPORTING iv_tabname TYPE string .
20
+ METHODS get_data.
14
21
15
- METHODS ui5_view_display
22
+ METHODS render_main
16
23
IMPORTING
17
24
!client TYPE REF TO z2ui5_if_client.
18
25
@@ -27,8 +34,6 @@ CLASS z2ui5_cl_demo_app_343 DEFINITION PUBLIC.
27
34
i_layout TYPE REF TO z2ui5_cl_demo_app_333.
28
35
29
36
METHODS get_comp
30
- IMPORTING
31
- iv_tabname TYPE string
32
37
RETURNING
33
38
VALUE (result ) TYPE abap_component_tab.
34
39
@@ -40,15 +45,9 @@ CLASS z2ui5_cl_demo_app_343 IMPLEMENTATION.
40
45
METHOD z2ui5_if_app ~main .
41
46
42
47
IF client->check_on_init( ).
43
- get_data( 'Z2UI5_T_01' ).
44
- get_data2( 'Z2UI5_T_01' ).
45
-
46
- mo_layout_obj = z2ui5_cl_demo_app_333=>factory( i_data = mt_data
47
- vis_cols = 5 ).
48
- mo_layout_obj2 = z2ui5_cl_demo_app_333=>factory( i_data = mt_data2
49
- vis_cols = 3 ).
48
+ get_data( ).
50
49
51
- ui5_view_display ( client ).
50
+ render_main ( client ).
52
51
ENDIF .
53
52
54
53
CASE client->get( )-event.
@@ -59,41 +58,26 @@ CLASS z2ui5_cl_demo_app_343 IMPLEMENTATION.
59
58
client->nav_app_call( app ).
60
59
ENDCASE .
61
60
62
- *** " Kommen wir aus einer anderen APP
63
- *** IF client->get( )-check_on_navigated = abap_true.
64
- *** TRY.
65
- *** " Kommen wir aus einer anderen APP
66
- *** CAST z2ui5_cl_demo_app_336( client->get_app( client->get( )-s_draft-id_prev_app ) ).
67
- ***
68
- *** CATCH cx_root.
69
- *** ENDTRY.
70
- *** ENDIF.
71
61
72
62
73
63
IF client->get( )-check_on_navigated = abap_true
74
64
AND client->check_on_init( ) = abap_false .
75
- ui5_view_display ( client ).
65
+ render_main ( client ).
76
66
ENDIF .
77
67
78
68
79
- IF mo_layout_obj ->mr_data IS NOT BOUND .
69
+ IF mo_layout_obj1 ->mr_data IS NOT BOUND .
80
70
client->message_toast_display( 'ERROR - mo_layout_obj->mr_data is not bound!' ).
81
71
ENDIF .
82
- IF mo_layout_obj2->mr_data IS NOT BOUND .
83
- client->message_toast_display( 'ERROR - mo_layout_obj_2->mr_data is not bound!' ).
84
- ENDIF .
85
- IF mo_layout_obj->mr_data->* <> mt_data->*.
72
+
73
+ IF mo_layout_obj1->mr_data->* <> mt_data1->*.
86
74
client->message_toast_display( 'ERROR - mo_layout_obj_2->mr_data <> mt_data!' ).
87
75
ENDIF .
88
- IF mo_layout_obj2->mr_data->* <> mt_data2->*.
89
- client->message_toast_display( 'ERROR - mo_layout_obj_2->mr_data <> ms_data!' ).
90
- ENDIF .
91
76
92
- client->view_model_update( ).
93
77
94
78
ENDMETHOD .
95
79
96
- METHOD ui5_view_display .
80
+ METHOD render_main .
97
81
98
82
DATA (page ) = z2ui5_cl_xml_view=>factory( )->shell( )->page( title = 'RTTI IV'
99
83
navbuttonpress = client->_event( 'BACK' )
@@ -105,22 +89,42 @@ CLASS z2ui5_cl_demo_app_343 IMPLEMENTATION.
105
89
106
90
xml_table( i_page = page
107
91
i_client = client
108
- i_data = mt_data
109
- i_layout = mo_layout_obj ).
92
+ i_data = mt_data1
93
+ i_layout = mo_layout_obj1 ).
110
94
111
95
xml_table( i_page = page
112
96
i_client = client
113
97
i_data = mt_data2
114
98
i_layout = mo_layout_obj2 ).
115
99
100
+ xml_table( i_page = page
101
+ i_client = client
102
+ i_data = mt_data3
103
+ i_layout = mo_layout_obj3 ).
104
+
105
+ xml_table( i_page = page
106
+ i_client = client
107
+ i_data = mt_data4
108
+ i_layout = mo_layout_obj4 ).
109
+
110
+ xml_table( i_page = page
111
+ i_client = client
112
+ i_data = mt_data5
113
+ i_layout = mo_layout_obj5 ).
114
+
115
+ xml_table( i_page = page
116
+ i_client = client
117
+ i_data = mt_data6
118
+ i_layout = mo_layout_obj6 ).
119
+
116
120
client->view_display( page ).
117
121
118
122
ENDMETHOD .
119
123
120
124
METHOD xml_table .
121
125
122
126
DATA (table ) = i_page->table( width = 'auto'
123
- items = i_client->_bind_edit ( val = i_data ) ).
127
+ items = i_client->_bind ( val = i_data ) ).
124
128
125
129
DATA (columns ) = table->columns( ).
126
130
@@ -135,8 +139,7 @@ CLASS z2ui5_cl_demo_app_343 IMPLEMENTATION.
135
139
ENDLOOP .
136
140
137
141
DATA (column_list_item ) = columns->get_parent( )->items(
138
- )->column_list_item( valign = 'Middle'
139
- type = `Inactive` ).
142
+ )->column_list_item( ).
140
143
141
144
DATA (cells ) = column_list_item->cells( ).
142
145
@@ -152,70 +155,89 @@ CLASS z2ui5_cl_demo_app_343 IMPLEMENTATION.
152
155
153
156
METHOD get_data .
154
157
155
- FIELD-SYMBOLS <table> TYPE STANDARD TABLE .
158
+ FIELD-SYMBOLS <table1> TYPE STANDARD TABLE .
159
+ FIELD-SYMBOLS <table2> TYPE STANDARD TABLE .
160
+ FIELD-SYMBOLS <table3> TYPE STANDARD TABLE .
161
+ FIELD-SYMBOLS <table4> TYPE STANDARD TABLE .
162
+ FIELD-SYMBOLS <table5> TYPE STANDARD TABLE .
163
+ FIELD-SYMBOLS <table6> TYPE STANDARD TABLE .
156
164
157
- DATA (t_comp ) = get_comp( iv_tabname ).
165
+ DATA (t_comp ) = get_comp( ).
158
166
TRY .
159
167
160
168
DATA (new_struct_desc ) = cl_abap_structdescr=>create( t_comp ).
161
169
162
170
DATA (new_table_desc ) = cl_abap_tabledescr=>create( p_line_type = new_struct_desc
163
171
p_table_kind = cl_abap_tabledescr=>tablekind_std ).
164
172
165
- CREATE DATA mt_DATA TYPE HANDLE new_table_desc.
173
+ CREATE DATA mt_data1 TYPE HANDLE new_table_desc.
174
+ CREATE DATA mt_data2 TYPE HANDLE new_table_desc.
175
+ CREATE DATA mt_data3 TYPE HANDLE new_table_desc.
176
+ CREATE DATA mt_data4 TYPE HANDLE new_table_desc.
177
+ CREATE DATA mt_data5 TYPE HANDLE new_table_desc.
178
+ CREATE DATA mt_data6 TYPE HANDLE new_table_desc.
166
179
167
- ASSIGN mt_DATA->* TO <table> .
180
+ ASSIGN mt_data1->* TO <table1> .
181
+ ASSIGN mt_data2->* TO <table2> .
182
+ ASSIGN mt_data3->* TO <table3> .
183
+ ASSIGN mt_data4->* TO <table4> .
184
+ ASSIGN mt_data5->* TO <table5> .
185
+ ASSIGN mt_data6->* TO <table6> .
168
186
169
- SELECT *
170
- FROM (iv_tabname)
171
- INTO CORRESPONDING FIELDS OF TABLE @<table>
172
- UP TO 3 ROWS .
187
+ SELECT * FROM Z2ui5_t_01
188
+ INTO TABLE @<table1>
189
+ UP TO 5 ROWS .
173
190
174
- SORT <table> .
191
+ SELECT * FROM Z2ui5_t_01
192
+ INTO TABLE @<table2>
193
+ UP TO 5 ROWS .
175
194
176
- CATCH cx_root.
177
-
178
- ENDTRY .
179
-
180
- ENDMETHOD .
195
+ SELECT * FROM Z2ui5_t_01
196
+ INTO TABLE @<table3>
197
+ UP TO 5 ROWS .
181
198
182
- METHOD get_data2 .
199
+ SELECT * FROM Z2ui5_t_01
200
+ INTO TABLE @<table4>
201
+ UP TO 5 ROWS .
183
202
184
- FIELD-SYMBOLS <table> TYPE STANDARD TABLE .
203
+ SELECT * FROM Z2ui5_t_01
204
+ INTO TABLE @<table5>
205
+ UP TO 5 ROWS .
185
206
186
- DATA (t_comp ) = get_comp( iv_tabname ).
187
- TRY .
207
+ SELECT * FROM Z2ui5_t_01
208
+ INTO TABLE @<table6>
209
+ UP TO 5 ROWS .
188
210
189
- DATA ( new_struct_desc ) = cl_abap_structdescr=>create( t_comp ) .
211
+ CATCH cx_root .
190
212
191
- DATA (new_table_desc ) = cl_abap_tabledescr=>create( p_line_type = new_struct_desc
192
- p_table_kind = cl_abap_tabledescr=>tablekind_std ).
213
+ ENDTRY .
193
214
194
- CREATE DATA mt_DATA2 TYPE HANDLE new_table_desc.
215
+ mo_layout_obj1 = z2ui5_cl_demo_app_333=>factory( i_data = mt_data1
216
+ vis_cols = 2 ).
195
217
196
- ASSIGN mt_DATA2->* TO <table> .
218
+ mo_layout_obj2 = z2ui5_cl_demo_app_333=>factory( i_data = mt_data2
219
+ vis_cols = 2 ).
197
220
198
- SELECT *
199
- FROM (iv_tabname)
200
- INTO CORRESPONDING FIELDS OF TABLE @<table>
201
- UP TO 4 ROWS .
221
+ mo_layout_obj3 = z2ui5_cl_demo_app_333=>factory( i_data = mt_data3
222
+ vis_cols = 2 ).
202
223
203
- SORT <table> .
224
+ mo_layout_obj4 = z2ui5_cl_demo_app_333=>factory( i_data = mt_data4
225
+ vis_cols = 2 ).
204
226
205
- CATCH cx_root.
227
+ mo_layout_obj5 = z2ui5_cl_demo_app_333=>factory( i_data = mt_data5
228
+ vis_cols = 2 ).
206
229
207
- ENDTRY .
230
+ mo_layout_obj6 = z2ui5_cl_demo_app_333=>factory( i_data = mt_data6
231
+ vis_cols = 2 ).
208
232
209
233
ENDMETHOD .
210
234
211
235
METHOD get_comp .
212
236
213
- DATA selkz TYPE abap_bool .
214
-
215
237
TRY .
216
238
TRY .
217
239
218
- cl_abap_typedescr=>describe_by_name( EXPORTING p_name = iv_tabname
240
+ cl_abap_typedescr=>describe_by_name( EXPORTING p_name = 'Z2UI5_T_01'
219
241
RECEIVING p_descr_ref = DATA (typedesc )
220
242
EXCEPTIONS type_not_found = 1
221
243
OTHERS = 2 ).
@@ -234,16 +256,10 @@ CLASS z2ui5_cl_demo_app_343 IMPLEMENTATION.
234
256
235
257
ENDLOOP .
236
258
237
- CATCH cx_root INTO DATA ( root ). " TODO: variable is assigned but never used (ABAP cleaner)
259
+ CATCH cx_root.
238
260
239
261
ENDTRY .
240
262
241
- DATA (component ) = VALUE cl_abap_structdescr=>component_table(
242
- ( name = 'SELKZ'
243
- type = CAST #( cl_abap_datadescr=>describe_by_data( selkz ) ) ) ).
244
-
245
- APPEND LINES OF component TO result .
246
-
247
263
CATCH cx_root.
248
264
ENDTRY .
249
265
0 commit comments