diff --git a/src/z2ui5_cl_demo_app_348.clas.abap b/src/z2ui5_cl_demo_app_348.clas.abap index f3786b21..b5ebbaad 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,54 @@ 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. -* + 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 + layout = `ResponsiveGridLayout` + adjustlabelspan = abap_true + )->content( `form` ). + + DATA(index) = 0. + + LOOP AT mo_layout_obj->ms_data-t_layout ASSIGNING . + + index = index + 1. + + ASSIGN i_data->* TO . + + ASSIGN COMPONENT -name OF STRUCTURE TO . + + IF IS NOT ASSIGNED. + RETURN. + ENDIF. + + DATA(line) = form->label( wrapping = abap_false + text = -name ). + + line->input( value = i_client->_bind( ) + visible = i_client->_bind( val = -visible + tab = mo_layout_obj->ms_data-t_layout + tab_index = index ) + enabled = abap_false ). + ENDLOOP. + ENDMETHOD. ENDCLASS.