Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 70 additions & 35 deletions src/z2ui5_cl_demo_app_348.clas.abap
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -28,6 +29,8 @@ CLASS z2ui5_cl_demo_app_348 IMPLEMENTATION.

METHOD z2ui5_if_app~main.

FIELD-SYMBOLS <row> TYPE z2ui5_t_01.

IF client->check_on_init( ).

get_data( ).
Expand All @@ -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.

Expand All @@ -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(<val>).
* IF <val> <> ms_struc.
* client->message_toast_display( 'ERROR - mo_layout_obj_2->mr_data <> ms_data!' ).
* ENDIF.
ASSIGN mo_layout_obj->mr_data->* TO <row>.
IF <row> <> ms_struc.
client->message_toast_display( 'ERROR - mo_layout_obj->mr_data->* <> ms_struc!' ).
ENDIF.

client->view_model_update( ).

Expand All @@ -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.
Expand All @@ -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(<value>).
* " assign component layout->name of structure ms_struc to field-symbol(<value>).
* IF <value> IS NOT ASSIGNED.
* RETURN.
* ENDIF.
*
* DATA(line) = form->label( wrapping = abap_false
* text = layout->name ).
*
* line->input( value = i_client->_bind( <value> )
* visible = i_client->_bind( val = layout->visible
* tab = mo_layout_obj->ms_data-t_layout
* tab_index = index )
* enabled = abap_false ).
* ENDLOOP.
*
FIELD-SYMBOLS <layout> TYPE z2ui5_cl_demo_app_333=>ty_s_layout.
FIELD-SYMBOLS <data> TYPE any.
FIELD-SYMBOLS <value> 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 <layout>.

index = index + 1.

ASSIGN i_data->* TO <data>.

ASSIGN COMPONENT <layout>-name OF STRUCTURE <data> TO <value>.

IF <value> IS NOT ASSIGNED.
RETURN.
ENDIF.

DATA(line) = form->label( wrapping = abap_false
text = <layout>-name ).

line->input( value = i_client->_bind( <value> )
visible = i_client->_bind( val = <layout>-visible
tab = mo_layout_obj->ms_data-t_layout
tab_index = index )
enabled = abap_false ).
ENDLOOP.

ENDMETHOD.

ENDCLASS.
Loading