From 568385c58f95fe73eb0073c13c848ddd6cb03b68 Mon Sep 17 00:00:00 2001 From: Viktor Hoffmann Date: Wed, 2 Jul 2025 09:22:32 +0000 Subject: [PATCH] New Sample --- src/z2ui5_cl_demo_app_000.clas.abap | 7 +- src/z2ui5_cl_demo_app_334.clas.abap | 8 ++ src/z2ui5_cl_demo_app_335.clas.abap | 114 ++++++++++++++++++++++++++++ src/z2ui5_cl_demo_app_335.clas.xml | 16 ++++ src/z2ui5_cl_demo_app_336.clas.abap | 65 ++++++++++++++++ src/z2ui5_cl_demo_app_336.clas.xml | 16 ++++ 6 files changed, 225 insertions(+), 1 deletion(-) create mode 100644 src/z2ui5_cl_demo_app_335.clas.abap create mode 100644 src/z2ui5_cl_demo_app_335.clas.xml create mode 100644 src/z2ui5_cl_demo_app_336.clas.abap create mode 100644 src/z2ui5_cl_demo_app_336.clas.xml diff --git a/src/z2ui5_cl_demo_app_000.clas.abap b/src/z2ui5_cl_demo_app_000.clas.abap index ab779e90..c51560e5 100644 --- a/src/z2ui5_cl_demo_app_000.clas.abap +++ b/src/z2ui5_cl_demo_app_000.clas.abap @@ -1952,7 +1952,12 @@ CLASS z2ui5_cl_demo_app_000 IMPLEMENTATION. mode = 'LineMode' class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' ). - + panel->generic_tile( header = 'Model VIII' + subheader = 'RTTI Data - Struc and Class Data and Popup' + press = client->_event( 'Z2UI5_CL_DEMO_APP_335' ) + mode = 'LineMode' + class = 'sapUiTinyMarginEnd sapUiTinyMarginBottom' + ). panel->generic_tile( header = 'Date Format Error in internal table' diff --git a/src/z2ui5_cl_demo_app_334.clas.abap b/src/z2ui5_cl_demo_app_334.clas.abap index 5e3f06c2..4ff46712 100644 --- a/src/z2ui5_cl_demo_app_334.clas.abap +++ b/src/z2ui5_cl_demo_app_334.clas.abap @@ -46,6 +46,14 @@ CLASS z2ui5_cl_demo_app_334 IMPLEMENTATION. client->message_toast_display( 'ERROR - MS_STRUC is initial!' ). ENDIF. + IF mo_layout_obj->mr_data IS not BOUND. + client->message_toast_display( 'ERROR - mo_layout_obj->mr_data is not bound!' ). + ENDIF. + + IF mo_layout_obj_2->mr_data IS not BOUND. + client->message_toast_display( 'ERROR - mo_layout_obj_2->mr_data is not bound!' ). + ENDIF. + client->view_model_update( ). ENDMETHOD. diff --git a/src/z2ui5_cl_demo_app_335.clas.abap b/src/z2ui5_cl_demo_app_335.clas.abap new file mode 100644 index 00000000..78556057 --- /dev/null +++ b/src/z2ui5_cl_demo_app_335.clas.abap @@ -0,0 +1,114 @@ +CLASS z2ui5_cl_demo_app_335 DEFINITION PUBLIC. + + PUBLIC SECTION. + INTERFACES z2ui5_if_app. + + DATA ms_struc TYPE z2ui5_t_01. + DATA mo_layout_obj TYPE REF TO z2ui5_cl_demo_app_333. + DATA mo_layout_obj_2 TYPE REF TO z2ui5_cl_demo_app_333. + + METHODS get_data. + + METHODS ui5_view_display + IMPORTING + !client TYPE REF TO z2ui5_if_client. + + PROTECTED SECTION. + + PRIVATE SECTION. +ENDCLASS. + + +CLASS z2ui5_cl_demo_app_335 IMPLEMENTATION. + + METHOD z2ui5_if_app~main. + + IF client->check_on_init( ). + + get_data( ). + + mo_layout_obj = z2ui5_cl_demo_app_333=>factory( REF #( ms_struc ) ). + mo_layout_obj_2 = z2ui5_cl_demo_app_333=>factory( REF #( ms_struc ) ). + + ui5_view_display( client ). + + ENDIF. + + CASE client->get( )-event. + + WHEN 'BACK'. + + client->nav_app_leave( ). + + WHEN 'GO'. + + DATA(app) = Z2UI5_CL_DEMO_APP_336=>factory( ). + client->nav_app_call( app ). + + ENDCASE. + + IF ms_struc IS INITIAL. + client->message_toast_display( 'ERROR - MS_STRUC is initial!' ). + ENDIF. + + IF mo_layout_obj->mr_data IS not BOUND. + client->message_toast_display( 'ERROR - mo_layout_obj->mr_data is not bound!' ). + ENDIF. + + IF mo_layout_obj_2->mr_data IS not BOUND. + client->message_toast_display( 'ERROR - mo_layout_obj_2->mr_data is not bound!' ). + ENDIF. + + client->view_model_update( ). + + ENDMETHOD. + + METHOD ui5_view_display. + + DATA(page) = z2ui5_cl_xml_view=>factory( )->shell( )->page( title = 'RTTI IV' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = client->check_app_prev_stack( ) ). + + page->button( text = 'GO' + press = client->_event( 'GO' ) + type = 'Success' ). + + DATA(form) = page->simple_form( editable = abap_true + layout = `ResponsiveGridLayout` + adjustlabelspan = abap_true + )->content( ns = `form` ). + + DATA(index) = 0. + + LOOP AT mo_layout_obj->mt_layout REFERENCE INTO DATA(layout). + + index = index + 1. + + ASSIGN COMPONENT layout->name OF STRUCTURE mo_layout_obj->mr_data->* TO FIELD-SYMBOL(). + " assign component layout->name of structure ms_struc to field-symbol(). + IF IS NOT ASSIGNED. + RETURN. + ENDIF. + + DATA(line) = form->label( wrapping = abap_false + text = layout->name ). + + line->input( value = client->_bind( ) + visible = client->_bind( val = layout->visible + tab = mo_layout_obj->mt_layout + tab_index = index ) + enabled = abap_false ). + ENDLOOP. + + client->view_display( page ). + + ENDMETHOD. + + METHOD get_data. + + SELECT SINGLE * FROM z2ui5_t_01 + INTO CORRESPONDING FIELDS OF @ms_STRUC. + + ENDMETHOD. + +ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_335.clas.xml b/src/z2ui5_cl_demo_app_335.clas.xml new file mode 100644 index 00000000..134ece6d --- /dev/null +++ b/src/z2ui5_cl_demo_app_335.clas.xml @@ -0,0 +1,16 @@ + + + + + + Z2UI5_CL_DEMO_APP_335 + E + RTTI - Struc with Class Data and Popup + 1 + X + X + X + + + + diff --git a/src/z2ui5_cl_demo_app_336.clas.abap b/src/z2ui5_cl_demo_app_336.clas.abap new file mode 100644 index 00000000..463c074e --- /dev/null +++ b/src/z2ui5_cl_demo_app_336.clas.abap @@ -0,0 +1,65 @@ +CLASS z2ui5_cl_demo_app_336 DEFINITION PUBLIC. + + PUBLIC SECTION. + INTERFACES z2ui5_if_app. + + METHODS ui5_view_display + IMPORTING + !client TYPE REF TO z2ui5_if_client. + + + CLASS-METHODS factory + RETURNING + VALUE(result) TYPE REF TO z2ui5_cl_demo_app_336. + + PROTECTED SECTION. + + PRIVATE SECTION. +ENDCLASS. + + +CLASS z2ui5_cl_demo_app_336 IMPLEMENTATION. + + METHOD z2ui5_if_app~main. + + IF client->check_on_init( ). + + ui5_view_display( client ). + + ENDIF. + + CASE client->get( )-event. + + WHEN 'BACK'. + + client->nav_app_leave( ). + + ENDCASE. + + client->view_model_update( ). + + ENDMETHOD. + + METHOD ui5_view_display. + + DATA(page) = z2ui5_cl_xml_view=>factory( )->shell( )->page( title = 'RTTI IV' + navbuttonpress = client->_event( 'BACK' ) + shownavbutton = client->check_app_prev_stack( ) ). + + page->button( text = 'BACK' + press = client->_event( 'BACK' ) + type = 'Success' ). + + client->view_display( page ). + + ENDMETHOD. + + + + METHOD factory. + + result = NEW #( ). + + ENDMETHOD. + +ENDCLASS. diff --git a/src/z2ui5_cl_demo_app_336.clas.xml b/src/z2ui5_cl_demo_app_336.clas.xml new file mode 100644 index 00000000..974895e6 --- /dev/null +++ b/src/z2ui5_cl_demo_app_336.clas.xml @@ -0,0 +1,16 @@ + + + + + + Z2UI5_CL_DEMO_APP_336 + E + RTTI - Struc with Class Data and Popup + 1 + X + X + X + + + +