Skip to content

Commit 178cd44

Browse files
authored
Sample for F4-Help (#216)
1 parent 9a4d289 commit 178cd44

File tree

2 files changed

+153
-0
lines changed

2 files changed

+153
-0
lines changed

src/z2ui5_cl_demo_app_204.clas.abap

+137
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
CLASS z2ui5_cl_demo_app_204 DEFINITION
2+
PUBLIC
3+
CREATE PUBLIC.
4+
5+
PUBLIC SECTION.
6+
INTERFACES z2ui5_if_app.
7+
8+
DATA ms_t004 TYPE z2ui5_t004.
9+
10+
PROTECTED SECTION.
11+
DATA client TYPE REF TO z2ui5_if_client.
12+
DATA check_initialized TYPE abap_bool.
13+
14+
DATA mv_active_f4 TYPE string.
15+
16+
METHODS on_init.
17+
METHODS on_event.
18+
METHODS render_main.
19+
METHODS call_f4.
20+
21+
PRIVATE SECTION.
22+
METHODS on_after_f4.
23+
24+
ENDCLASS.
25+
26+
27+
CLASS z2ui5_cl_demo_app_204 IMPLEMENTATION.
28+
29+
METHOD on_event.
30+
31+
CASE client->get( )-event.
32+
33+
WHEN 'BACK'.
34+
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
35+
36+
WHEN `CALL_POPUP_F4`.
37+
38+
call_f4( ).
39+
40+
WHEN OTHERS.
41+
42+
ENDCASE.
43+
44+
ENDMETHOD.
45+
46+
METHOD on_init.
47+
48+
render_main( ).
49+
50+
ENDMETHOD.
51+
52+
METHOD render_main.
53+
54+
DATA(view) = z2ui5_cl_xml_view=>factory( ). "->shell( ).
55+
56+
DATA(page) = view->page( title = 'Layout'
57+
navbuttonpress = client->_event( 'BACK' )
58+
shownavbutton = xsdbool( client->get( )-s_draft-id_prev_app_stack IS NOT INITIAL )
59+
class = 'sapUiContentPadding' ).
60+
61+
page->simple_form( title = 'F4-Help'
62+
editable = abap_true
63+
)->content( 'form'
64+
)->text(
65+
`Table Z2UI5_T004 field GUID is linked to table Z2UI5 field GUID via a foreign key link.`
66+
)->label( `GUID`
67+
)->input( value = client->_bind_edit( ms_t004-guid )
68+
showvaluehelp = abap_true
69+
valuehelprequest = client->_event( val = 'CALL_POPUP_F4'
70+
t_arg = VALUE #( ( `GUID` ) ) ) ).
71+
72+
client->view_display( view->stringify( ) ).
73+
74+
ENDMETHOD.
75+
76+
METHOD z2ui5_if_app~main.
77+
me->client = client.
78+
79+
IF check_initialized = abap_false.
80+
check_initialized = abap_true.
81+
on_init( ).
82+
ENDIF.
83+
84+
on_event( ).
85+
86+
on_after_f4( ).
87+
88+
ENDMETHOD.
89+
90+
METHOD call_f4.
91+
92+
DATA(lt_arg) = client->get( )-t_event_arg.
93+
94+
mv_active_f4 = VALUE string( lt_arg[ 1 ] ).
95+
96+
CASE mv_active_f4.
97+
WHEN `GUID`.
98+
99+
client->nav_app_call( z2ui5_cl_pop_f4_help=>factory( i_table = 'Z2UI5_T004'
100+
i_fname = 'GUID'
101+
i_value = CONV #( ms_t004-guid ) ) ).
102+
WHEN OTHERS.
103+
104+
ENDCASE.
105+
106+
ENDMETHOD.
107+
108+
METHOD on_after_f4.
109+
110+
IF client->get( )-check_on_navigated = abap_false.
111+
RETURN.
112+
ENDIF.
113+
114+
TRY.
115+
DATA(app) = CAST z2ui5_cl_pop_f4_help( client->get_app( client->get( )-s_draft-id_prev_app ) ).
116+
117+
IF app->mv_return_value IS NOT INITIAL.
118+
119+
CASE mv_active_f4.
120+
WHEN `GUID`.
121+
122+
ms_t004-guid = CONV #( app->mv_return_value ).
123+
124+
WHEN OTHERS.
125+
126+
ENDCASE.
127+
128+
client->view_model_update( ).
129+
130+
ENDIF.
131+
132+
CATCH cx_root.
133+
ENDTRY.
134+
135+
ENDMETHOD.
136+
137+
ENDCLASS.

src/z2ui5_cl_demo_app_204.clas.xml

+16
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_204</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>Table Layout</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)