Skip to content

Commit 1d94ffb

Browse files
new sample - Catch exceptions and display popup (#479)
* new sample - Catch exceptions and display popup * fixup * fixup
1 parent c4e4ea8 commit 1d94ffb

3 files changed

+84
-0
lines changed

src/z2ui5_cl_demo_app_000.clas.abap

+7
Original file line numberDiff line numberDiff line change
@@ -1937,6 +1937,13 @@ CLASS z2ui5_cl_demo_app_000 IMPLEMENTATION.
19371937
class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom'
19381938
).
19391939

1940+
panel->generic_tile( header = 'Catch exceptions and display popup'
1941+
subheader = ''
1942+
press = client->_event( 'Z2UI5_CL_DEMO_APP_324' )
1943+
mode = 'LineMode'
1944+
class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom'
1945+
).
1946+
19401947
panel = page->panel( expandable = abap_false
19411948
expanded = abap_true
19421949
headertext = `Work in Progress`

src/z2ui5_cl_demo_app_324.clas.abap

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
CLASS z2ui5_cl_demo_app_324 DEFINITION
2+
PUBLIC
3+
FINAL
4+
CREATE PUBLIC .
5+
6+
PUBLIC SECTION.
7+
8+
INTERFACES if_serializable_object .
9+
INTERFACES z2ui5_if_app .
10+
PROTECTED SECTION.
11+
PRIVATE SECTION.
12+
DATA client TYPE REF TO z2ui5_if_client.
13+
METHODS call_dynpro.
14+
ENDCLASS.
15+
16+
17+
CLASS z2ui5_cl_demo_app_324 IMPLEMENTATION.
18+
19+
METHOD z2ui5_if_app~main.
20+
21+
me->client = client.
22+
23+
TRY.
24+
IF client->check_on_init( ).
25+
client->view_display( z2ui5_cl_xml_view=>factory(
26+
)->page( shownavbutton = abap_true
27+
navbuttonpress = client->_event( 'BACK' )
28+
)->button( text = 'Call dynpro'
29+
press = client->_event( 'PRESS' )
30+
)->stringify( ) ).
31+
ENDIF.
32+
33+
CASE client->get( )-event.
34+
WHEN 'BACK'.
35+
client->nav_app_leave( ).
36+
WHEN 'PRESS'.
37+
call_dynpro( ).
38+
ENDCASE.
39+
40+
CATCH cx_root INTO DATA(x).
41+
client->nav_app_call( z2ui5_cl_pop_error=>factory( x ) ).
42+
ENDTRY.
43+
44+
ENDMETHOD.
45+
46+
47+
METHOD call_dynpro.
48+
49+
" of course this makes no sense in abap2UI5.
50+
" It's just to provoke "Sending of dynpro SAPLSPO1 0500 not possible" error.
51+
DATA(fm) = 'POPUP_TO_CONFIRM'.
52+
CALL FUNCTION fm
53+
EXPORTING
54+
text_question = 'Test'
55+
EXCEPTIONS
56+
text_not_found = 1
57+
OTHERS = 2.
58+
59+
ENDMETHOD.
60+
61+
ENDCLASS.

src/z2ui5_cl_demo_app_324.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_324</CLSNAME>
7+
<LANGU>E</LANGU>
8+
<DESCRIPT>Catch exceptions and display 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)