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
70 changes: 15 additions & 55 deletions src/z2ui5_cl_demo_app_328.clas.abap
Original file line number Diff line number Diff line change
Expand Up @@ -4,46 +4,43 @@ CLASS z2ui5_cl_demo_app_328 DEFINITION PUBLIC.
INTERFACES z2ui5_if_app.

DATA mt_table TYPE REF TO data.
DATA mt_comp TYPE cl_abap_structdescr=>component_table.
DATA mo_table_obj TYPE REF TO z2ui5_cl_demo_app_329.

DATA client TYPE REF TO z2ui5_if_client.
METHODS ui5_view_display
IMPORTING
client TYPE REF TO z2ui5_if_client.

PROTECTED SECTION.
METHODS get_data.

PRIVATE SECTION.
METHODS ui5_view_display.
ENDCLASS.


CLASS z2ui5_cl_demo_app_328 IMPLEMENTATION.

METHOD z2ui5_if_app~main.

me->client = client.

IF client->check_on_init( ).

get_data( ).

mo_table_obj = z2ui5_cl_demo_app_329=>factory( mt_table ).
mt_table = z2ui5_cl_util=>rtti_create_tab_by_name( 'Z2UI5_T_01' ).
FIELD-SYMBOLS <table> TYPE STANDARD TABLE.
ASSIGN mt_table->* TO <table>.

ui5_view_display( ).
SELECT * FROM z2ui5_t_01
INTO CORRESPONDING FIELDS OF TABLE @<table>
UP TO 1 ROWS.

mo_table_obj = z2ui5_cl_demo_app_329=>factory( mt_table ).
ui5_view_display( client ).
RETURN.
ENDIF.

CASE client->get( )-event.

WHEN 'BACK'.
client->nav_app_leave( ).

WHEN 'SELECTION_CHANGE' OR 'GO'.

WHEN 'GO'.
IF mt_table->* <> mo_table_obj->mr_data->*.
client->message_toast_display( 'Error - MT_TABLE <> MO_TABLE_OBJ->MR_TABLE_DATA' ).
ENDIF.

ENDCASE.

ENDMETHOD.
Expand All @@ -58,18 +55,13 @@ CLASS z2ui5_cl_demo_app_328 IMPLEMENTATION.
press = client->_event( 'GO' )
type = 'Success' ).

DATA(table) = page->table( growing = 'true'
width = 'auto'
items = client->_bind( mt_table->* )
mode = 'MultiSelect'
selectionchange = client->_event( 'SELECTION_CHANGE' ) ).
DATA(table) = page->table( client->_bind( mt_table->* ) ).

DATA(columns) = table->columns( ).
DATA(mt_comp) = z2ui5_cl_util=>rtti_get_t_attri_by_table_name( 'Z2UI5_T_01' ).

LOOP AT mt_comp INTO DATA(comp) WHERE name CP `ID*`.

columns->column( )->text( comp-name ).

ENDLOOP.

DATA(cells) = columns->get_parent( )->items(
Expand All @@ -85,36 +77,4 @@ CLASS z2ui5_cl_demo_app_328 IMPLEMENTATION.

ENDMETHOD.

METHOD get_data.
DATA selkz TYPE abap_bool.

FIELD-SYMBOLS <table> TYPE STANDARD TABLE.

mt_comp = z2ui5_cl_util=>rtti_get_t_attri_by_table_name( 'Z2UI5_T_01' ).

APPEND LINES OF VALUE cl_abap_structdescr=>component_table(
( name = 'SELKZ'
type = CAST #( cl_abap_datadescr=>describe_by_data( selkz ) ) ) ) TO mt_comp.

TRY.

DATA(new_struct_desc) = cl_abap_structdescr=>create( mt_comp ).

DATA(new_table_desc) = cl_abap_tabledescr=>create( p_line_type = new_struct_desc
p_table_kind = cl_abap_tabledescr=>tablekind_std ).

CREATE DATA mt_table TYPE HANDLE new_table_desc.

ASSIGN mt_table->* TO <table>.

SELECT * FROM z2ui5_t_01
INTO CORRESPONDING FIELDS OF TABLE @<table>
UP TO 10 ROWS.

CATCH cx_root.

ENDTRY.

ENDMETHOD.

ENDCLASS.