CLASS z2ui5_cl_app_demo_39 DEFINITION PUBLIC. PUBLIC SECTION. INTERFACES z2ui5_if_app. DATA mv_value TYPE string. PROTECTED SECTION. DATA client TYPE REF TO z2ui5_if_client. DATA: BEGIN OF app, check_initialized TYPE abap_bool, get TYPE z2ui5_if_client=>ty_s_get, next TYPE z2ui5_if_client=>ty_s_next, END OF app. METHODS z2ui5_on_init. METHODS z2ui5_on_event. METHODS z2ui5_on_render_main. METHODS z2ui5_on_render_popup. PRIVATE SECTION. ENDCLASS. CLASS Z2UI5_CL_APP_DEMO_39 IMPLEMENTATION. METHOD z2ui5_if_app~main. app-get = client->get( ). me->client = client. IF app-check_initialized = abap_false. app-check_initialized = abap_true. z2ui5_on_init( ). ENDIF. IF app-get-event IS NOT INITIAL. z2ui5_on_event( ). ENDIF. z2ui5_on_render_main( ). z2ui5_on_render_popup( ). client->set_next( app-next ). CLEAR app-get. CLEAR app-next. ENDMETHOD. METHOD z2ui5_on_event. CASE app-get-event. WHEN 'BACK'. client->nav_app_leave( client->get_app( app-get-id_prev_app_stack ) ). WHEN 'POPUP'. client->popup_message_box( 'Event raised value:' && mv_value ). ENDCASE. ENDMETHOD. METHOD z2ui5_on_init. mv_value = '200'. ENDMETHOD. METHOD z2ui5_on_render_main. app-next-xml_main = `` && |\n| && ` ` && |\n| && `