@@ -8,15 +8,14 @@ CLASS z2ui5_cl_demo_app_350 DEFINITION
88 DATA : view_id TYPE i .
99 DATA text TYPE string VALUE 'call booking mask' .
1010 DATA varkey TYPE char120.
11- PROTECTED SECTION .
12- PRIVATE SECTION .
11+
1312 METHODS initialize_view2
1413 IMPORTING
1514 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+
2019ENDCLASS .
2120
2221
@@ -30,10 +29,11 @@ CLASS z2ui5_cl_demo_app_350 IMPLEMENTATION.
3029* | [--->] CLIENT TYPE REF TO Z2UI5_IF_CLIENT
3130* +--------------------------------------------------------------------------------------</SIGNATURE>
3231 METHOD z2ui5_if_app ~main .
32+
3333 IF view_id IS INITIAL OR view_id = 1 .
3434 view_id = 1 .
3535 TRY .
36- IF client->check_on_init( ).
36+ IF client->check_on_init( ) OR client->check_on_navigated( ) .
3737 DATA (view ) = z2ui5_cl_xml_view=>factory( ).
3838 DATA (page ) = view->shell( )->page(
3939 title = `Startview` ).
@@ -43,33 +43,34 @@ CLASS z2ui5_cl_demo_app_350 IMPLEMENTATION.
4343 text = client->_bind_edit( text )
4444 width = '20%'
4545 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( ).
5248 RETURN .
5349 ENDIF .
50+
5451 CASE client->get( )-event.
5552 WHEN `CALL_BOOKING_MASK` .
5653 DATA : lf_key TYPE n LENGTH 4 .
5754 DATA (lr_view2 ) = NEW z2ui5_cl_demo_app_350( ).
5855 lr_view2->view_id = 2 .
5956 lr_view2->varkey = '001' .
6057 client->nav_app_call( lr_view2 ).
58+ RETURN .
6159 WHEN `BACK` .
6260 client->nav_app_leave( ).
61+ RETURN .
6362 ENDCASE .
63+
6464 client->view_model_update( ).
6565 CATCH cx_root INTO DATA (lx ).
6666 client->message_box_display( lx ).
6767 ENDTRY .
68+
6869 ELSEIF view_id = 2 .
6970 TRY .
7071 IF check_initialized = abap_false .
7172 check_initialized = abap_true .
72- set_session_stateful( client = client stateful = abap_true ).
73+
7374 DATA (lv_fm ) = 'ENQUEUE_E_TABLE' .
7475 CALL FUNCTION lv_fm
7576 EXPORTING
@@ -80,41 +81,44 @@ CLASS z2ui5_cl_demo_app_350 IMPLEMENTATION.
8081 system_failure = 2
8182 OTHERS = 3 .
8283 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( ).
8686 ELSE .
87+ client->set_session_stateful( ).
8788 initialize_view2( client ).
8889 ENDIF .
8990 RETURN .
9091 ENDIF .
92+
9193 IF client->check_on_navigated( ).
92- set_session_stateful( client = client stateful = abap_false ).
94+ client-> set_session_stateful( abap_false ).
9395 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( ).
9697 RETURN .
9798 CATCH cx_sy_move_cast_error ##NO_HANDLER ##CATCH_ALL .
9899 ENDTRY .
99100 ENDIF .
101+
100102 CASE client->get( )-event.
101103 WHEN `NEXT_LOCK` .
102- set_session_stateful( client = client stateful = abap_false ).
104+ client-> set_session_stateful( abap_false ).
103105 lr_view2 = NEW z2ui5_cl_demo_app_350( ).
104106 lr_view2->view_id = 2 .
105107 DATA : lf_new_varkey TYPE n LENGTH 4 .
106108 lf_new_varkey = varkey+0 (4 ).
107109 lf_new_varkey = lf_new_varkey + 1 .
108110 lr_view2->varkey = lf_new_varkey+0 (4 ).
109111 client->nav_app_call( lr_view2 ).
112+ RETURN .
110113 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 .
114117 ENDCASE .
115118 client->view_model_update( ).
119+
116120 CATCH cx_root INTO lx.
117- client->message_box_display( lx->get_text( ) ).
121+ client->message_box_display( lx ).
118122 ENDTRY .
119123 ENDIF .
120124 ENDMETHOD .
@@ -145,14 +149,4 @@ CLASS z2ui5_cl_demo_app_350 IMPLEMENTATION.
145149 ENDMETHOD .
146150
147151
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 .
158152ENDCLASS .
0 commit comments