Various bug fixes (#1243)

This commit is contained in:
abapsheep 2024-07-02 13:17:50 +02:00 committed by GitHub
parent 62b2f195e4
commit c83ac391eb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 104 additions and 51 deletions

View File

@ -49,7 +49,7 @@ CLASS z2ui5_cl_util_api DEFINITION
CLASS-METHODS rtti_get_t_ddic_fixed_values
IMPORTING
val TYPE data
rollname TYPE string
langu TYPE clike DEFAULT sy-langu
RETURNING
VALUE(result) TYPE ty_t_fix_val ##NEEDED.
@ -878,30 +878,39 @@ CLASS z2ui5_cl_util_api IMPLEMENTATION.
METHOD rtti_get_t_ddic_fixed_values.
* DATA(lo_ele) = CAST cl_abap_elemdescr( cl_abap_typedescr=>describe_by_data( val ) ).
*
* DATA lv_langu TYPE c LENGTH 1.
* lv_langu = langu.
*
* lo_ele->get_ddic_fixed_values(
* EXPORTING
* p_langu = lv_langu
* RECEIVING
* p_fixed_values = DATA(lt_values)
* EXCEPTIONS
* not_found = 1
* no_ddic_type = 2
* OTHERS = 3 ).
*
* LOOP AT lt_values REFERENCE INTO DATA(lr_fix).
*
* INSERT VALUE #(
* low = lr_fix->low
* high = lr_fix->high
* descr = lr_fix->ddtext
* ) INTO TABLE result.
*
* ENDLOOP.
IF rollname IS INITIAL.
RETURN.
ENDIF.
TRY.
cl_abap_typedescr=>describe_by_name( EXPORTING p_name = rollname
RECEIVING p_descr_ref = DATA(typedescr)
EXCEPTIONS type_not_found = 1
OTHERS = 2 ).
IF sy-subrc <> 0.
RETURN.
ENDIF.
DATA(elemdescr) = CAST cl_abap_elemdescr( typedescr ).
elemdescr->get_ddic_fixed_values( EXPORTING p_langu = langu
RECEIVING p_fixed_values = DATA(lt_values)
EXCEPTIONS not_found = 1
no_ddic_type = 2
OTHERS = 3 ).
LOOP AT lt_values REFERENCE INTO DATA(lr_fix).
INSERT VALUE #( low = lr_fix->low
high = lr_fix->high
descr = lr_fix->ddtext )
INTO TABLE result.
ENDLOOP.
CATCH cx_root.
ENDTRY.
ENDMETHOD.

View File

@ -394,7 +394,7 @@ CLASS z2ui5_cl_xml_view_cc IMPLEMENTATION.
( n = `device_browser` v = device_browser )
( n = `device_phone` v = device_phone )
( n = `device_desktop` v = device_desktop )
( n = `device_table` v = device_tablet )
( n = `device_tablet` v = device_tablet )
( n = `device_combi` v = device_combi )
( n = `device_height` v = device_height )
( n = `device_width` v = device_width ) )

View File

@ -76,6 +76,10 @@ CLASS z2ui5_cl_pop_f4_help IMPLEMENTATION.
on_init( ).
IF mv_check_tab IS INITIAL.
RETURN.
ENDIF.
render_view( ).
ENDIF.
@ -90,6 +94,10 @@ CLASS z2ui5_cl_pop_f4_help IMPLEMENTATION.
get_dfies( ).
IF mv_check_tab IS INITIAL.
RETURN.
ENDIF.
create_objects( ).
prefill_inputs( ).
@ -375,7 +383,10 @@ CLASS z2ui5_cl_pop_f4_help IMPLEMENTATION.
READ TABLE t_dfies REFERENCE INTO DATA(dfies) WITH KEY fieldname = mv_field.
IF sy-subrc <> 0.
RETURN.
client->popup_destroy( ).
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
ENDIF.
IF dfies->checktable IS INITIAL.

View File

@ -59,6 +59,7 @@ CLASS z2ui5_cl_pop_layout_v2 DEFINITION
CLASS-DATA ui_table TYPE control VALUE 'ui.Table' ##NO_TEXT.
CLASS-DATA m_table TYPE control VALUE 'm.Table' ##NO_TEXT.
CLASS-DATA others TYPE control VALUE '' ##NO_TEXT.
DATA mt_controls TYPE ty_t_controls.
DATA mt_Head TYPE ty_t_layo.
@ -77,7 +78,7 @@ CLASS z2ui5_cl_pop_layout_v2 DEFINITION
DATA mt_comps TYPE ty_t_positions.
DATA mt_sub_cols TYPE ty_t_sub_columns.
DATA mt_sub_cols_tmp TYPE ty_t_sub_columns.
DATA mv_rerender type abap_bool.
DATA mv_rerender TYPE abap_bool.
CLASS-METHODS on_event_layout
IMPORTING
@ -173,6 +174,7 @@ CLASS z2ui5_cl_pop_layout_v2 DEFINITION
METHODS render_add_subcolumn.
METHODS on_event_subcoloumns.
METHODS check_rerender_necessary.
CLASS-METHODS get_relative_name_of_table
IMPORTING
@ -260,9 +262,9 @@ CLASS z2ui5_cl_pop_layout_v2 IMPLEMENTATION.
( control = ui_table attribute = 'ALTERNATIVE_TEXT' )
( control = ui_table attribute = 'HALIGN' )
( control = ui_table attribute = 'WIDTH' )
( control = `` attribute = 'VISIBLE' )
( control = `` attribute = 'SEQUENCE' )
( control = `` attribute = 'ALTERNATIVE_TEXT' ) ).
( control = others attribute = 'VISIBLE' )
( control = others attribute = 'SEQUENCE' )
( control = others attribute = 'ALTERNATIVE_TEXT' ) ).
ENDMETHOD.
@ -404,10 +406,10 @@ CLASS z2ui5_cl_pop_layout_v2 IMPLEMENTATION.
text = ` `
)->button( text = 'Close'
icon = 'sap-icon://sys-cancel-2'
press = client->_event( 'CLOSE' )
press = client->_event( 'EDIT_CLOSE' )
)->button( text = 'Okay'
icon = 'sap-icon://accept'
press = client->_event( 'OKAY' )
press = client->_event( 'EDIT_OKAY' )
)->button( text = 'Save'
press = client->_event( 'EDIT_SAVE' )
icon = 'sap-icon://save'
@ -439,13 +441,22 @@ CLASS z2ui5_cl_pop_layout_v2 IMPLEMENTATION.
render_delete( ).
WHEN 'OKAY'.
WHEN 'EDIT_OKAY'.
LOOP AT ms_layout-t_layout REFERENCE INTO DATA(layout).
layout->tlabel = set_text( layout->* ).
layout->alternative_text = to_upper( layout->alternative_text ).
ENDLOOP.
ms_layout-t_layout = sort_by_seqence( ms_layout-t_layout ).
check_rerender_necessary( ).
client->popup_destroy( ).
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
WHEN 'CLOSE'.
WHEN 'EDIT_CLOSE'.
client->popup_destroy( ).
@ -467,6 +478,8 @@ CLASS z2ui5_cl_pop_layout_v2 IMPLEMENTATION.
save_layout( ).
check_rerender_necessary( ).
client->popup_destroy( ).
client->nav_app_leave( client->get_app( client->get( )-s_draft-id_prev_app_stack ) ).
@ -1166,7 +1179,6 @@ CLASS z2ui5_cl_pop_layout_v2 IMPLEMENTATION.
ENDMETHOD.
METHOD set_text.
IF layout-alternative_text IS INITIAL.
result = z2ui5_cl_stmpncfctn_api=>rtti_get_data_element_texts( CONV #( layout-rollname ) )-long.
ELSE.
@ -1246,7 +1258,7 @@ CLASS z2ui5_cl_pop_layout_v2 IMPLEMENTATION.
WHEN 'CALL_SUBCOLUMN'.
DATA(arg) = client->get( )-t_event_arg.
mv_active_SUBCOLumn = VALUE #( arg[ 1 ] OPTIONAL ).
mv_active_subcolumn = VALUE #( arg[ 1 ] OPTIONAL ).
READ TABLE ms_layout-t_layout REFERENCE INTO DATA(layout) WITH KEY fname = mv_active_subcolumn.
IF sy-subrc <> 0.
@ -1256,7 +1268,6 @@ CLASS z2ui5_cl_pop_layout_v2 IMPLEMENTATION.
mt_comps = ms_layout-t_layout.
mt_sub_cols = layout->t_sub_col.
mt_sub_cols_tmp = mt_sub_cols.
clear mv_rerender.
render_add_subcolumn( ).
@ -1276,10 +1287,6 @@ CLASS z2ui5_cl_pop_layout_v2 IMPLEMENTATION.
layout->t_sub_col = mt_sub_cols.
IF mt_sub_cols <> mt_sub_cols_tmp.
mv_rerender = abap_true.
endif.
client->popup_destroy( ).
init_edit( ).
@ -1322,4 +1329,31 @@ CLASS z2ui5_cl_pop_layout_v2 IMPLEMENTATION.
ENDMETHOD.
METHOD check_rerender_necessary.
CLEAR mv_rerender.
" Sequence and SubCols need rerendering
LOOP AT ms_layout-t_layout INTO DATA(layout).
READ TABLE ms_layout_tmp-t_layout INTO DATA(layout_tmp)
WITH KEY guid = layout-guid
pos_guid = layout-pos_guid.
IF sy-subrc = 0.
IF layout-sequence <> layout_tmp-sequence.
mv_rerender = abap_true.
RETURN.
ENDIF.
IF layout-t_sub_col <> layout_tmp-t_sub_col.
mv_rerender = abap_true.
RETURN.
ENDIF.
ENDIF.
ENDLOOP.
ENDMETHOD.
ENDCLASS.

View File

@ -3,7 +3,6 @@ CLASS z2ui5_cl_pop_transport DEFINITION
CREATE PUBLIC.
PUBLIC SECTION.
INTERFACES if_serializable_object.
INTERFACES z2ui5_if_app.
@ -17,8 +16,8 @@ CLASS z2ui5_cl_pop_transport DEFINITION
selkz TYPE abap_bool,
END OF ty_s_data.
DATA client TYPE REF TO z2ui5_if_client.
DATA mv_init TYPE abap_bool.
DATA client TYPE REF TO z2ui5_if_client.
DATA mv_init TYPE abap_bool.
DATA ms_transport TYPE ty_s_data.
CLASS-DATA mt_data TYPE STANDARD TABLE OF ty_s_data WITH EMPTY KEY.
@ -34,7 +33,6 @@ CLASS z2ui5_cl_pop_transport DEFINITION
is_transport TYPE ty_s_data.
PROTECTED SECTION.
CLASS-METHODS add_to_transport_onprem
IMPORTING
ir_data TYPE REF TO datA
@ -75,8 +73,6 @@ CLASS z2ui5_cl_pop_transport DEFINITION
METHODS get_tr_cloud.
PRIVATE SECTION.
ENDCLASS.
@ -230,6 +226,9 @@ CLASS z2ui5_cl_pop_transport IMPLEMENTATION.
DATA(r_e071k) = set_e071k( ir_data = ir_data
iv_tabname = iv_tabname
is_transport = is_transport ).
IF r_e071k->* IS INITIAL.
RETURN.
ENDIF.
DATA(r_e071) = set_e071( iv_tabname = iv_tabname
is_transport = is_transport ).
@ -458,9 +457,9 @@ CLASS z2ui5_cl_pop_transport IMPLEMENTATION.
ASSIGN iR_data->* TO <tab>.
IF <tab> IS INITIAL.
RETURN.
ENDIF.
* IF <tab> IS INITIAL.
* RETURN.
* ENDIF.
LOOP AT <tab> ASSIGNING <line>.