Skip to content

Commit e263551

Browse files
abapsheepViktor Hoffmannoblomov-dev
authored
Update RTTI Samples for Deep Structures (#508)
* Update * Update Sample RTTI+Sub APP * Update RTTI Samples * Update --------- Co-authored-by: Viktor Hoffmann <viktor.hoffmann@swisskrono.com> Co-authored-by: oblomov-dev <102328295+oblomov-dev@users.noreply.github.com>
1 parent a805a79 commit e263551

File tree

3 files changed

+23
-59
lines changed

3 files changed

+23
-59
lines changed

src/z2ui5_cl_demo_app_190.clas.abap

Lines changed: 6 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,9 @@ CLASS z2ui5_cl_demo_app_190 DEFINITION
1010

1111
DATA mv_table TYPE string.
1212
DATA mt_table TYPE REF TO data.
13-
DATA mt_table_tmp TYPE REF TO data.
14-
1513
DATA mt_comp TYPE abap_component_tab.
16-
DATA ms_fixval TYPE REF TO data.
14+
15+
DATA mv_init type abap_bool.
1716

1817
METHODS set_app_data
1918
IMPORTING !count TYPE string
@@ -34,7 +33,7 @@ CLASS z2ui5_cl_demo_app_190 DEFINITION
3433
METHODS get_comp
3534
RETURNING VALUE(result) TYPE abap_component_tab.
3635

37-
METHODS get_fixval.
36+
3837
ENDCLASS.
3938

4039
CLASS z2ui5_cl_demo_app_190 IMPLEMENTATION.
@@ -112,8 +111,8 @@ CLASS z2ui5_cl_demo_app_190 IMPLEMENTATION.
112111
METHOD z2ui5_if_app~main.
113112
me->client = client.
114113

115-
IF client->check_on_init( ).
116-
114+
IF mv_init = abap_false.
115+
mv_init = abap_true.
117116
on_init( ).
118117

119118
ENDIF.
@@ -143,7 +142,7 @@ CLASS z2ui5_cl_demo_app_190 IMPLEMENTATION.
143142

144143
CREATE DATA mt_table TYPE HANDLE new_table_desc.
145144

146-
CREATE DATA mt_table_tmp TYPE HANDLE new_table_desc.
145+
* CREATE DATA mt_table_tmp TYPE HANDLE new_table_desc.
147146

148147

149148
ASSIGN mt_table->* TO <table>.
@@ -157,43 +156,8 @@ CLASS z2ui5_cl_demo_app_190 IMPLEMENTATION.
157156

158157
ENDTRY.
159158

160-
ASSIGN mt_table_tmp->* TO <table_tmp>.
161-
162-
<table_tmp> = <table>.
163-
get_fixval( ).
164-
165159
ENDMETHOD.
166160

167-
METHOD get_fixval.
168-
169-
TYPES:
170-
BEGIN OF fixvalue,
171-
low TYPE string,
172-
high TYPE string,
173-
option TYPE string,
174-
ddlanguage TYPE string,
175-
ddtext TYPE string,
176-
END OF fixvalue.
177-
TYPES fixvalues TYPE STANDARD TABLE OF fixvalue WITH DEFAULT KEY.
178-
179-
DATA comp TYPE cl_abap_structdescr=>component_table.
180-
DATA structdescr TYPE REF TO cl_abap_structdescr.
181-
DATA lt_fixval TYPE fixvalues.
182-
183-
LOOP AT mt_comp REFERENCE INTO DATA(dfies).
184-
185-
comp = VALUE cl_abap_structdescr=>component_table(
186-
BASE comp
187-
( name = dfies->name
188-
type = CAST #( cl_abap_datadescr=>describe_by_data( lt_fixval ) ) ) ).
189-
ENDLOOP.
190-
191-
structdescr = cl_abap_structdescr=>create( comp ).
192-
193-
CREATE DATA ms_fixval TYPE HANDLE structdescr.
194-
195-
196-
ENDMETHOD.
197161

198162
METHOD get_comp.
199163
DATA index TYPE int4.

src/z2ui5_cl_demo_app_191.clas.abap

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,10 @@ CLASS Z2UI5_CL_DEMO_APP_191 IMPLEMENTATION.
6262

6363
METHOD on_init.
6464

65-
mt_t002 = VALUE #( ( id = '1' class = 'Z2UI5_CL_DEMO_APP_190' count = '10' table = 'Z2UI5_T001' )
66-
( id = '2' class = 'Z2UI5_CL_DEMO_APP_190' count = '20' table = 'Z2UI5_T002' )
67-
( id = '3' class = 'Z2UI5_CL_DEMO_APP_190' count = '30' table = 'Z2UI5_TOOL_T_001' )
68-
( id = '4' class = 'Z2UI5_CL_DEMO_APP_190' count = '40' table = 'Z2UI5_TOOL_T_002' ) ).
65+
mt_t002 = VALUE #( ( id = '1' class = 'Z2UI5_CL_DEMO_APP_190' count = '10' table = 'Z2UI5_T_11' )
66+
( id = '2' class = 'Z2UI5_CL_DEMO_APP_190' count = '20' table = 'Z2UI5_T_12' )
67+
( id = '3' class = 'Z2UI5_CL_DEMO_APP_190' count = '30' table = 'Z2UI5_T_11' )
68+
( id = '4' class = 'Z2UI5_CL_DEMO_APP_190' count = '40' table = 'Z2UI5_T_12' ) ).
6969

7070
mv_selectedkey = '1'.
7171

src/z2ui5_cl_demo_app_194.clas.abap

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ CLASS z2ui5_cl_demo_app_194 DEFINITION
1414
DATA ms_table_row TYPE REF TO data.
1515
DATA mt_comp TYPE abap_component_tab.
1616
DATA ms_fixval TYPE REF TO data.
17+
DATA mv_init TYPE abap_bool.
1718

1819
METHODS set_app_data
19-
IMPORTING !count TYPE string
20-
!table TYPE string.
20+
IMPORTING
21+
!table TYPE string.
2122

2223
PROTECTED SECTION.
23-
DATA client TYPE REF TO z2ui5_if_client.
24-
24+
DATA client TYPE REF TO z2ui5_if_client.
2525

2626
METHODS on_init.
2727
METHODS on_event.
@@ -32,11 +32,13 @@ CLASS z2ui5_cl_demo_app_194 DEFINITION
3232
METHODS get_data.
3333

3434
METHODS get_comp
35-
RETURNING VALUE(result) TYPE abap_component_tab.
35+
RETURNING
36+
VALUE(result) TYPE abap_component_tab.
3637

3738
METHODS get_fixval.
3839
ENDCLASS.
3940

41+
4042
CLASS z2ui5_cl_demo_app_194 IMPLEMENTATION.
4143

4244
METHOD on_event.
@@ -82,7 +84,6 @@ CLASS z2ui5_cl_demo_app_194 IMPLEMENTATION.
8284
page = mo_parent_view->get( `Page` ).
8385
ENDIF.
8486

85-
8687
ASSIGN mt_table->* TO <tab>.
8788

8889
DATA(table) = page->table( growing = 'true'
@@ -105,7 +106,7 @@ CLASS z2ui5_cl_demo_app_194 IMPLEMENTATION.
105106
)->cells( ).
106107

107108
LOOP AT mt_comp INTO comp.
108-
cells->object_identifier( text = '{' && comp-name && '}' ).
109+
cells->object_identifier( text = |\{{ comp-name }\}| ).
109110
ENDLOOP.
110111

111112
page->footer( )->overflow_toolbar(
@@ -128,7 +129,8 @@ CLASS z2ui5_cl_demo_app_194 IMPLEMENTATION.
128129
METHOD z2ui5_if_app~main.
129130
me->client = client.
130131

131-
IF client->check_on_init( ).
132+
IF mv_init = abap_false.
133+
mv_init = abap_true.
132134

133135
on_init( ).
134136

@@ -193,8 +195,8 @@ CLASS z2ui5_cl_demo_app_194 IMPLEMENTATION.
193195
TYPES fixvalues TYPE STANDARD TABLE OF fixvalue WITH DEFAULT KEY.
194196

195197
DATA comp TYPE cl_abap_structdescr=>component_table.
196-
DATA structdescr TYPE REF TO cl_abap_structdescr.
197198
DATA lt_fixval TYPE fixvalues.
199+
DATA structdescr TYPE REF TO cl_abap_structdescr.
198200

199201
LOOP AT mt_comp REFERENCE INTO DATA(dfies).
200202

@@ -208,19 +210,17 @@ CLASS z2ui5_cl_demo_app_194 IMPLEMENTATION.
208210

209211
CREATE DATA ms_fixval TYPE HANDLE structdescr.
210212

211-
212213
ENDMETHOD.
213214

214215
METHOD get_comp.
215216
DATA index TYPE int4.
216-
TRY.
217-
218217

218+
TRY.
219219

220220
TRY.
221221

222222
cl_abap_typedescr=>describe_by_name( EXPORTING p_name = mv_table
223-
RECEIVING p_descr_ref = DATA(typedesc)
223+
RECEIVING p_descr_ref = DATA(typedesc)
224224
EXCEPTIONS type_not_found = 1
225225
OTHERS = 2 ).
226226

0 commit comments

Comments
 (0)