Skip to content

Commit 1e607dc

Browse files
abapsheepViktor Hoffmann
andauthored
New Sample (#523)
Co-authored-by: Viktor Hoffmann <[email protected]>
1 parent 63ea867 commit 1e607dc

6 files changed

+225
-1
lines changed

src/z2ui5_cl_demo_app_000.clas.abap

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1952,7 +1952,12 @@ CLASS z2ui5_cl_demo_app_000 IMPLEMENTATION.
19521952
mode = 'LineMode'
19531953
class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom'
19541954
).
1955-
1955+
panel->generic_tile( header = 'Model VIII'
1956+
subheader = 'RTTI Data - Struc and Class Data and Popup'
1957+
press = client->_event( 'Z2UI5_CL_DEMO_APP_335' )
1958+
mode = 'LineMode'
1959+
class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom'
1960+
).
19561961

19571962

19581963
panel->generic_tile( header = 'Date Format Error in internal table'

src/z2ui5_cl_demo_app_334.clas.abap

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,14 @@ CLASS z2ui5_cl_demo_app_334 IMPLEMENTATION.
4646
client->message_toast_display( 'ERROR - MS_STRUC is initial!' ).
4747
ENDIF.
4848

49+
IF mo_layout_obj->mr_data IS not BOUND.
50+
client->message_toast_display( 'ERROR - mo_layout_obj->mr_data is not bound!' ).
51+
ENDIF.
52+
53+
IF mo_layout_obj_2->mr_data IS not BOUND.
54+
client->message_toast_display( 'ERROR - mo_layout_obj_2->mr_data is not bound!' ).
55+
ENDIF.
56+
4957
client->view_model_update( ).
5058

5159
ENDMETHOD.
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
CLASS z2ui5_cl_demo_app_335 DEFINITION PUBLIC.
2+
3+
PUBLIC SECTION.
4+
INTERFACES z2ui5_if_app.
5+
6+
DATA ms_struc TYPE z2ui5_t_01.
7+
DATA mo_layout_obj TYPE REF TO z2ui5_cl_demo_app_333.
8+
DATA mo_layout_obj_2 TYPE REF TO z2ui5_cl_demo_app_333.
9+
10+
METHODS get_data.
11+
12+
METHODS ui5_view_display
13+
IMPORTING
14+
!client TYPE REF TO z2ui5_if_client.
15+
16+
PROTECTED SECTION.
17+
18+
PRIVATE SECTION.
19+
ENDCLASS.
20+
21+
22+
CLASS z2ui5_cl_demo_app_335 IMPLEMENTATION.
23+
24+
METHOD z2ui5_if_app~main.
25+
26+
IF client->check_on_init( ).
27+
28+
get_data( ).
29+
30+
mo_layout_obj = z2ui5_cl_demo_app_333=>factory( REF #( ms_struc ) ).
31+
mo_layout_obj_2 = z2ui5_cl_demo_app_333=>factory( REF #( ms_struc ) ).
32+
33+
ui5_view_display( client ).
34+
35+
ENDIF.
36+
37+
CASE client->get( )-event.
38+
39+
WHEN 'BACK'.
40+
41+
client->nav_app_leave( ).
42+
43+
WHEN 'GO'.
44+
45+
DATA(app) = Z2UI5_CL_DEMO_APP_336=>factory( ).
46+
client->nav_app_call( app ).
47+
48+
ENDCASE.
49+
50+
IF ms_struc IS INITIAL.
51+
client->message_toast_display( 'ERROR - MS_STRUC is initial!' ).
52+
ENDIF.
53+
54+
IF mo_layout_obj->mr_data IS not BOUND.
55+
client->message_toast_display( 'ERROR - mo_layout_obj->mr_data is not bound!' ).
56+
ENDIF.
57+
58+
IF mo_layout_obj_2->mr_data IS not BOUND.
59+
client->message_toast_display( 'ERROR - mo_layout_obj_2->mr_data is not bound!' ).
60+
ENDIF.
61+
62+
client->view_model_update( ).
63+
64+
ENDMETHOD.
65+
66+
METHOD ui5_view_display.
67+
68+
DATA(page) = z2ui5_cl_xml_view=>factory( )->shell( )->page( title = 'RTTI IV'
69+
navbuttonpress = client->_event( 'BACK' )
70+
shownavbutton = client->check_app_prev_stack( ) ).
71+
72+
page->button( text = 'GO'
73+
press = client->_event( 'GO' )
74+
type = 'Success' ).
75+
76+
DATA(form) = page->simple_form( editable = abap_true
77+
layout = `ResponsiveGridLayout`
78+
adjustlabelspan = abap_true
79+
)->content( ns = `form` ).
80+
81+
DATA(index) = 0.
82+
83+
LOOP AT mo_layout_obj->mt_layout REFERENCE INTO DATA(layout).
84+
85+
index = index + 1.
86+
87+
ASSIGN COMPONENT layout->name OF STRUCTURE mo_layout_obj->mr_data->* TO FIELD-SYMBOL(<value>).
88+
" assign component layout->name of structure ms_struc to field-symbol(<value>).
89+
IF <value> IS NOT ASSIGNED.
90+
RETURN.
91+
ENDIF.
92+
93+
DATA(line) = form->label( wrapping = abap_false
94+
text = layout->name ).
95+
96+
line->input( value = client->_bind( <value> )
97+
visible = client->_bind( val = layout->visible
98+
tab = mo_layout_obj->mt_layout
99+
tab_index = index )
100+
enabled = abap_false ).
101+
ENDLOOP.
102+
103+
client->view_display( page ).
104+
105+
ENDMETHOD.
106+
107+
METHOD get_data.
108+
109+
SELECT SINGLE * FROM z2ui5_t_01
110+
INTO CORRESPONDING FIELDS OF @ms_STRUC.
111+
112+
ENDMETHOD.
113+
114+
ENDCLASS.

src/z2ui5_cl_demo_app_335.clas.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<VSEOCLASS>
6+
<CLSNAME>Z2UI5_CL_DEMO_APP_335</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>RTTI - Struc with Class Data and Popup</DESCRIPT>
9+
<STATE>1</STATE>
10+
<CLSCCINCL>X</CLSCCINCL>
11+
<FIXPT>X</FIXPT>
12+
<UNICODE>X</UNICODE>
13+
</VSEOCLASS>
14+
</asx:values>
15+
</asx:abap>
16+
</abapGit>
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
CLASS z2ui5_cl_demo_app_336 DEFINITION PUBLIC.
2+
3+
PUBLIC SECTION.
4+
INTERFACES z2ui5_if_app.
5+
6+
METHODS ui5_view_display
7+
IMPORTING
8+
!client TYPE REF TO z2ui5_if_client.
9+
10+
11+
CLASS-METHODS factory
12+
RETURNING
13+
VALUE(result) TYPE REF TO z2ui5_cl_demo_app_336.
14+
15+
PROTECTED SECTION.
16+
17+
PRIVATE SECTION.
18+
ENDCLASS.
19+
20+
21+
CLASS z2ui5_cl_demo_app_336 IMPLEMENTATION.
22+
23+
METHOD z2ui5_if_app~main.
24+
25+
IF client->check_on_init( ).
26+
27+
ui5_view_display( client ).
28+
29+
ENDIF.
30+
31+
CASE client->get( )-event.
32+
33+
WHEN 'BACK'.
34+
35+
client->nav_app_leave( ).
36+
37+
ENDCASE.
38+
39+
client->view_model_update( ).
40+
41+
ENDMETHOD.
42+
43+
METHOD ui5_view_display.
44+
45+
DATA(page) = z2ui5_cl_xml_view=>factory( )->shell( )->page( title = 'RTTI IV'
46+
navbuttonpress = client->_event( 'BACK' )
47+
shownavbutton = client->check_app_prev_stack( ) ).
48+
49+
page->button( text = 'BACK'
50+
press = client->_event( 'BACK' )
51+
type = 'Success' ).
52+
53+
client->view_display( page ).
54+
55+
ENDMETHOD.
56+
57+
58+
59+
METHOD factory.
60+
61+
result = NEW #( ).
62+
63+
ENDMETHOD.
64+
65+
ENDCLASS.

src/z2ui5_cl_demo_app_336.clas.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
3+
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
4+
<asx:values>
5+
<VSEOCLASS>
6+
<CLSNAME>Z2UI5_CL_DEMO_APP_336</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>RTTI - Struc with Class Data and Popup</DESCRIPT>
9+
<STATE>1</STATE>
10+
<CLSCCINCL>X</CLSCCINCL>
11+
<FIXPT>X</FIXPT>
12+
<UNICODE>X</UNICODE>
13+
</VSEOCLASS>
14+
</asx:values>
15+
</asx:abap>
16+
</abapGit>

0 commit comments

Comments
 (0)