@@ -8,15 +8,14 @@ CLASS z2ui5_cl_demo_app_350 DEFINITION
8
8
DATA : view_id TYPE i .
9
9
DATA text TYPE string VALUE 'call booking mask' .
10
10
DATA varkey TYPE char120.
11
- PROTECTED SECTION .
12
- PRIVATE SECTION .
11
+
13
12
METHODS initialize_view2
14
13
IMPORTING
15
14
client TYPE REF TO z2ui5_if_client.
16
- METHODS set_session_stateful
17
- IMPORTING
18
- client TYPE REF TO z2ui5_if_client
19
- stateful TYPE abap_bool .
15
+
16
+ PROTECTED SECTION .
17
+ PRIVATE SECTION .
18
+
20
19
ENDCLASS .
21
20
22
21
@@ -30,10 +29,11 @@ CLASS z2ui5_cl_demo_app_350 IMPLEMENTATION.
30
29
* | [--->] CLIENT TYPE REF TO Z2UI5_IF_CLIENT
31
30
* +--------------------------------------------------------------------------------------</SIGNATURE>
32
31
METHOD z2ui5_if_app ~main .
32
+
33
33
IF view_id IS INITIAL OR view_id = 1 .
34
34
view_id = 1 .
35
35
TRY .
36
- IF client->check_on_init( ).
36
+ IF client->check_on_init( ) OR client->check_on_navigated( ) .
37
37
DATA (view ) = z2ui5_cl_xml_view=>factory( ).
38
38
DATA (page ) = view->shell( )->page(
39
39
title = `Startview` ).
@@ -43,33 +43,34 @@ CLASS z2ui5_cl_demo_app_350 IMPLEMENTATION.
43
43
text = client->_bind_edit( text )
44
44
width = '20%'
45
45
press = client->_event( val = 'CALL_BOOKING_MASK' ) ).
46
- client->view_display( view->stringify( ) ).
47
- client->set_app_state_active( ).
48
- RETURN .
49
- ENDIF .
50
- IF client->check_on_navigated( ).
51
- client->view_model_update( ).
46
+ client->view_display( view ).
47
+ "client->set_app_state_active( ).
52
48
RETURN .
53
49
ENDIF .
50
+
54
51
CASE client->get( )-event.
55
52
WHEN `CALL_BOOKING_MASK` .
56
53
DATA : lf_key TYPE n LENGTH 4 .
57
54
DATA (lr_view2 ) = NEW z2ui5_cl_demo_app_350( ).
58
55
lr_view2->view_id = 2 .
59
56
lr_view2->varkey = '001' .
60
57
client->nav_app_call( lr_view2 ).
58
+ RETURN .
61
59
WHEN `BACK` .
62
60
client->nav_app_leave( ).
61
+ RETURN .
63
62
ENDCASE .
63
+
64
64
client->view_model_update( ).
65
65
CATCH cx_root INTO DATA (lx ).
66
66
client->message_box_display( lx ).
67
67
ENDTRY .
68
+
68
69
ELSEIF view_id = 2 .
69
70
TRY .
70
71
IF check_initialized = abap_false .
71
72
check_initialized = abap_true .
72
- set_session_stateful( client = client stateful = abap_true ).
73
+
73
74
DATA (lv_fm ) = 'ENQUEUE_E_TABLE' .
74
75
CALL FUNCTION lv_fm
75
76
EXPORTING
@@ -80,41 +81,44 @@ CLASS z2ui5_cl_demo_app_350 IMPLEMENTATION.
80
81
system_failure = 2
81
82
OTHERS = 3 .
82
83
IF sy -subrc <> 0 .
83
- DATA (lo_prev_stack_app ) = client->get_app( client->get( )-s_draft-id_prev_app_stack ).
84
- set_session_stateful( client = client stateful = abap_false ).
85
- client->nav_app_leave( lo_prev_stack_app ).
84
+ client->set_session_stateful( abap_false ).
85
+ client->nav_app_leave( ).
86
86
ELSE .
87
+ client->set_session_stateful( ).
87
88
initialize_view2( client ).
88
89
ENDIF .
89
90
RETURN .
90
91
ENDIF .
92
+
91
93
IF client->check_on_navigated( ).
92
- set_session_stateful( client = client stateful = abap_false ).
94
+ client-> set_session_stateful( abap_false ).
93
95
TRY .
94
- DATA (lo_prev_view ) = CAST z2ui5_cl_demo_app_350( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
95
- client->nav_app_leave( lo_prev_view ).
96
+ client->nav_app_leave( ).
96
97
RETURN .
97
98
CATCH cx_sy_move_cast_error ##NO_HANDLER ##CATCH_ALL .
98
99
ENDTRY .
99
100
ENDIF .
101
+
100
102
CASE client->get( )-event.
101
103
WHEN `NEXT_LOCK` .
102
- set_session_stateful( client = client stateful = abap_false ).
104
+ client-> set_session_stateful( abap_false ).
103
105
lr_view2 = NEW z2ui5_cl_demo_app_350( ).
104
106
lr_view2->view_id = 2 .
105
107
DATA : lf_new_varkey TYPE n LENGTH 4 .
106
108
lf_new_varkey = varkey+0 (4 ).
107
109
lf_new_varkey = lf_new_varkey + 1 .
108
110
lr_view2->varkey = lf_new_varkey+0 (4 ).
109
111
client->nav_app_call( lr_view2 ).
112
+ RETURN .
110
113
WHEN `BACK` .
111
- lo_prev_stack_app = client->get_app( client->get( )-s_draft-id_prev_app_stack ).
112
- set_session_stateful( client = client stateful = abap_false ).
113
- client->nav_app_leave( lo_prev_stack_app ) .
114
+ client->set_session_stateful( abap_false ).
115
+ client->nav_app_leave( ).
116
+ RETURN .
114
117
ENDCASE .
115
118
client->view_model_update( ).
119
+
116
120
CATCH cx_root INTO lx.
117
- client->message_box_display( lx->get_text( ) ).
121
+ client->message_box_display( lx ).
118
122
ENDTRY .
119
123
ENDIF .
120
124
ENDMETHOD .
@@ -145,14 +149,4 @@ CLASS z2ui5_cl_demo_app_350 IMPLEMENTATION.
145
149
ENDMETHOD .
146
150
147
151
148
- * <SIGNATURE>---------------------------------------------------------------------------------------+
149
- * | Instance Private Method Z2UI5_CL_DEMO_APP_350->SET_SESSION_STATEFUL
150
- * +-------------------------------------------------------------------------------------------------+
151
- * | [--->] CLIENT TYPE REF TO Z2UI5_IF_CLIENT
152
- * | [--->] STATEFUL TYPE ABAP_BOOL
153
- * +--------------------------------------------------------------------------------------</SIGNATURE>
154
- METHOD set_session_stateful .
155
- client->set_session_stateful( stateful ).
156
- client->view_model_update( ).
157
- ENDMETHOD .
158
152
ENDCLASS .
0 commit comments