From 5e7933b70a8112d5f129bb042c98d69404c1609f Mon Sep 17 00:00:00 2001 From: Viktor Hoffmann Date: Thu, 26 Mar 2026 13:46:35 +0000 Subject: [PATCH 1/3] Updated Sample 348 --- src/z2ui5_cl_demo_app_348.clas.abap | 99 +++++++++++++++++++---------- 1 file changed, 64 insertions(+), 35 deletions(-) diff --git a/src/z2ui5_cl_demo_app_348.clas.abap b/src/z2ui5_cl_demo_app_348.clas.abap index f3786b21..6c08066c 100644 --- a/src/z2ui5_cl_demo_app_348.clas.abap +++ b/src/z2ui5_cl_demo_app_348.clas.abap @@ -3,10 +3,11 @@ CLASS z2ui5_cl_demo_app_348 DEFINITION PUBLIC. PUBLIC SECTION. INTERFACES z2ui5_if_app. - DATA ms_struc TYPE z2ui5_t_01. + DATA ms_struc TYPE z2ui5_t_01. DATA mo_layout_obj TYPE REF TO z2ui5_cl_demo_app_333. METHODS get_data. + METHODS get_data2. METHODS ui5_view_display IMPORTING @@ -28,6 +29,8 @@ CLASS z2ui5_cl_demo_app_348 IMPLEMENTATION. METHOD z2ui5_if_app~main. + FIELD-SYMBOLS TYPE z2ui5_t_01. + IF client->check_on_init( ). get_data( ). @@ -42,10 +45,15 @@ CLASS z2ui5_cl_demo_app_348 IMPLEMENTATION. WHEN 'GO'. DATA(app) = z2ui5_cl_demo_app_336=>factory( ). client->nav_app_call( app ). + + WHEN 'GET_DATA'. + + get_data2( ). + ENDCASE. - IF client->get( )-check_on_navigated = abap_true - AND client->check_on_init( ) = abap_false. + IF client->get( )-check_on_navigated = abap_true + AND client->check_on_init( ) = abap_false. ui5_view_display( client ). ENDIF. @@ -55,13 +63,13 @@ CLASS z2ui5_cl_demo_app_348 IMPLEMENTATION. IF ms_struc IS INITIAL. " TODO: check spelling: inital (typo) -> initial (ABAP cleaner) - client->message_toast_display( 'ERROR - ms_data is inital!' ). + client->message_toast_display( 'ERROR - ms_struc is inital!' ). ENDIF. -* ASSIGN mo_layout_obj->mr_data->* TO FIELD-SYMBOL(). -* IF <> ms_struc. -* client->message_toast_display( 'ERROR - mo_layout_obj_2->mr_data <> ms_data!' ). -* ENDIF. + ASSIGN mo_layout_obj->mr_data->* TO . + IF <> ms_struc. + client->message_toast_display( 'ERROR - mo_layout_obj->mr_data->* <> ms_struc!' ). + ENDIF. client->view_model_update( ). @@ -77,10 +85,18 @@ CLASS z2ui5_cl_demo_app_348 IMPLEMENTATION. press = client->_event( 'GO' ) type = 'Success' ). + page->button( text = 'Read from DB' + press = client->_event( 'GET_DATA' ) + type = 'Success' ). + xml_form( i_data = REF #( ms_struc ) i_page = page i_client = client ). + xml_form( i_data = mo_layout_obj->mr_data + i_page = page + i_client = client ). + client->view_display( page->stringify( ) ). ENDMETHOD. @@ -97,35 +113,48 @@ CLASS z2ui5_cl_demo_app_348 IMPLEMENTATION. ENDMETHOD. + METHOD get_data2. + + SELECT SINGLE id, + id_prev, + id_prev_app, + id_prev_app_stack, + timestampl + FROM z2ui5_t_01 + WHERE id <> @ms_struc-id + INTO CORRESPONDING FIELDS OF @ms_struc. + + ENDMETHOD. + METHOD xml_form. -* DATA(form) = i_page->simple_form( editable = abap_true -* layout = `ResponsiveGridLayout` -* adjustlabelspan = abap_true -* )->content( ns = `form` ). -* -* DATA(index) = 0. -* -* LOOP AT mo_layout_obj->ms_data-t_layout REFERENCE INTO DATA(layout). -* -* index = index + 1. -* -* ASSIGN COMPONENT layout->name OF STRUCTURE i_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 = i_client->_bind( ) -* visible = i_client->_bind( val = layout->visible -* tab = mo_layout_obj->ms_data-t_layout -* tab_index = index ) -* enabled = abap_false ). -* ENDLOOP. -* + DATA(form) = i_page->simple_form( editable = abap_true + layout = `ResponsiveGridLayout` + adjustlabelspan = abap_true + )->content( ns = `form` ). + + DATA(index) = 0. + + LOOP AT mo_layout_obj->ms_data-t_layout REFERENCE INTO DATA(layout). + + index = index + 1. + + ASSIGN COMPONENT layout->name OF STRUCTURE i_data->* TO FIELD-SYMBOL(). + + IF IS NOT ASSIGNED. + RETURN. + ENDIF. + + DATA(line) = form->label( wrapping = abap_false + text = layout->name ). + + line->input( value = i_client->_bind( ) + visible = i_client->_bind( val = layout->visible + tab = mo_layout_obj->ms_data-t_layout + tab_index = index ) + enabled = abap_false ). + ENDLOOP. + ENDMETHOD. ENDCLASS. From 47d0ac0b0e32914a01662e4be5721b5427e22b5f Mon Sep 17 00:00:00 2001 From: Viktor Hoffmann Date: Thu, 26 Mar 2026 13:52:51 +0000 Subject: [PATCH 2/3] Update - Downward compatibility --- src/z2ui5_cl_demo_app_348.clas.abap | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/z2ui5_cl_demo_app_348.clas.abap b/src/z2ui5_cl_demo_app_348.clas.abap index 6c08066c..84534614 100644 --- a/src/z2ui5_cl_demo_app_348.clas.abap +++ b/src/z2ui5_cl_demo_app_348.clas.abap @@ -128,28 +128,31 @@ CLASS z2ui5_cl_demo_app_348 IMPLEMENTATION. METHOD xml_form. + FIELD-SYMBOLS TYPE z2ui5_cl_demo_app_333=>ty_s_layout. + FIELD-SYMBOLS TYPE any. + DATA(form) = i_page->simple_form( editable = abap_true layout = `ResponsiveGridLayout` adjustlabelspan = abap_true - )->content( ns = `form` ). + )->content( `form` ). DATA(index) = 0. - LOOP AT mo_layout_obj->ms_data-t_layout REFERENCE INTO DATA(layout). + LOOP AT mo_layout_obj->ms_data-t_layout ASSIGNING . index = index + 1. - ASSIGN COMPONENT layout->name OF STRUCTURE i_data->* TO FIELD-SYMBOL(). + ASSIGN COMPONENT -name OF STRUCTURE i_data->* TO . IF IS NOT ASSIGNED. RETURN. ENDIF. DATA(line) = form->label( wrapping = abap_false - text = layout->name ). + text = -name ). line->input( value = i_client->_bind( ) - visible = i_client->_bind( val = layout->visible + visible = i_client->_bind( val = -visible tab = mo_layout_obj->ms_data-t_layout tab_index = index ) enabled = abap_false ). From e199399fcd0ecdc22a03bb45436164ee6d5bb242 Mon Sep 17 00:00:00 2001 From: Viktor Hoffmann Date: Thu, 26 Mar 2026 13:54:56 +0000 Subject: [PATCH 3/3] Update -Downward compatibility --- src/z2ui5_cl_demo_app_348.clas.abap | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/z2ui5_cl_demo_app_348.clas.abap b/src/z2ui5_cl_demo_app_348.clas.abap index 84534614..b5ebbaad 100644 --- a/src/z2ui5_cl_demo_app_348.clas.abap +++ b/src/z2ui5_cl_demo_app_348.clas.abap @@ -129,6 +129,7 @@ CLASS z2ui5_cl_demo_app_348 IMPLEMENTATION. METHOD xml_form. FIELD-SYMBOLS TYPE z2ui5_cl_demo_app_333=>ty_s_layout. + FIELD-SYMBOLS TYPE any. FIELD-SYMBOLS TYPE any. DATA(form) = i_page->simple_form( editable = abap_true @@ -142,7 +143,9 @@ CLASS z2ui5_cl_demo_app_348 IMPLEMENTATION. index = index + 1. - ASSIGN COMPONENT -name OF STRUCTURE i_data->* TO . + ASSIGN i_data->* TO . + + ASSIGN COMPONENT -name OF STRUCTURE TO . IF IS NOT ASSIGNED. RETURN.