mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 22:09:24 +08:00
Various bug fixes (#1243)
This commit is contained in:
parent
62b2f195e4
commit
c83ac391eb
|
@ -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.
|
||||
|
||||
|
|
|
@ -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 ) )
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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>.
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user