mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-30 09:06:16 +08:00
binding fixes (#513)
* small adjustments * update binding * bugfix binding
This commit is contained in:
parent
c8df128bbc
commit
038ab40b94
|
@ -59,12 +59,18 @@ CLASS z2ui5_cl_fw_binding DEFINITION
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE ty_t_attri.
|
VALUE(result) TYPE ty_t_attri.
|
||||||
|
|
||||||
|
CLASS-DATA sv_uuid TYPE i.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
|
|
||||||
METHODS bind_local
|
METHODS bind_local
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE string.
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
|
METHODS get_uuid
|
||||||
|
RETURNING
|
||||||
|
VALUE(result) TYPE string.
|
||||||
|
|
||||||
METHODS get_t_attri_by_dref
|
METHODS get_t_attri_by_dref
|
||||||
IMPORTING
|
IMPORTING
|
||||||
val TYPE clike
|
val TYPE clike
|
||||||
|
@ -80,8 +86,8 @@ CLASS z2ui5_cl_fw_binding DEFINITION
|
||||||
METHODS get_t_attri_by_oref
|
METHODS get_t_attri_by_oref
|
||||||
IMPORTING
|
IMPORTING
|
||||||
val TYPE clike OPTIONAL
|
val TYPE clike OPTIONAL
|
||||||
check_temp type abap_bool DEFAULT abap_false
|
check_temp TYPE abap_bool DEFAULT abap_false
|
||||||
PREFERRED PARAMETER val
|
PREFERRED PARAMETER val
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE ty_t_attri.
|
VALUE(result) TYPE ty_t_attri.
|
||||||
|
|
||||||
|
@ -168,8 +174,8 @@ CLASS z2ui5_cl_fw_binding IMPLEMENTATION.
|
||||||
* DELETE lt_attri2 WHERE visibility <> cl_abap_classdescr=>public OR is_interface = abap_true.
|
* DELETE lt_attri2 WHERE visibility <> cl_abap_classdescr=>public OR is_interface = abap_true.
|
||||||
|
|
||||||
LOOP AT lt_attri2 INTO DATA(ls_attri2)
|
LOOP AT lt_attri2 INTO DATA(ls_attri2)
|
||||||
where visibility = cl_abap_classdescr=>public
|
WHERE visibility = cl_abap_classdescr=>public
|
||||||
and is_interface = abap_false.
|
AND is_interface = abap_false.
|
||||||
DATA(ls_attri) = CORRESPONDING ty_s_attri( ls_attri2 ).
|
DATA(ls_attri) = CORRESPONDING ty_s_attri( ls_attri2 ).
|
||||||
ls_attri-check_temp = check_temp.
|
ls_attri-check_temp = check_temp.
|
||||||
IF val IS NOT INITIAL.
|
IF val IS NOT INITIAL.
|
||||||
|
@ -287,12 +293,19 @@ CLASS z2ui5_cl_fw_binding IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD get_uuid.
|
||||||
|
|
||||||
|
sv_uuid = sv_uuid + 1.
|
||||||
|
result = z2ui5_cl_fw_utility=>c_trim( CONV string( sv_uuid ) ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD bind_local.
|
METHOD bind_local.
|
||||||
|
|
||||||
FIELD-SYMBOLS <any> TYPE any.
|
FIELD-SYMBOLS <any> TYPE any.
|
||||||
ASSIGN mr_data->* TO <any>.
|
ASSIGN mr_data->* TO <any>.
|
||||||
DATA(lv_id) = z2ui5_cl_fw_utility=>func_get_uuid_22( ).
|
DATA(lv_id) = get_uuid( ).
|
||||||
|
"z2ui5_cl_fw_utility=>func_get_uuid_22( ).
|
||||||
INSERT VALUE #( name = lv_id
|
INSERT VALUE #( name = lv_id
|
||||||
data_stringify = z2ui5_cl_fw_utility=>trans_json_any_2( mr_data )
|
data_stringify = z2ui5_cl_fw_utility=>trans_json_any_2( mr_data )
|
||||||
bind_type = cs_bind_type-one_time )
|
bind_type = cs_bind_type-one_time )
|
||||||
|
@ -328,7 +341,8 @@ CLASS z2ui5_cl_fw_binding IMPLEMENTATION.
|
||||||
|
|
||||||
result = COND #( WHEN mv_type = cs_bind_type-two_way THEN `/` && cv_model_edit_name && `/` ELSE `/` ) && bind->name_front.
|
result = COND #( WHEN mv_type = cs_bind_type-two_way THEN `/` && cv_model_edit_name && `/` ELSE `/` ) && bind->name_front.
|
||||||
IF strlen( result ) > 30.
|
IF strlen( result ) > 30.
|
||||||
bind->name_front = z2ui5_cl_fw_utility=>func_get_uuid_22( ).
|
* bind->name_front = z2ui5_cl_fw_utility=>func_get_uuid_22( ).
|
||||||
|
bind->name_front = get_uuid( ).
|
||||||
result = COND #( WHEN mv_type = cs_bind_type-two_way THEN `/` && cv_model_edit_name && `/` ELSE `/` ) && bind->name_front.
|
result = COND #( WHEN mv_type = cs_bind_type-two_way THEN `/` && cv_model_edit_name && `/` ELSE `/` ) && bind->name_front.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -371,8 +385,8 @@ CLASS z2ui5_cl_fw_binding IMPLEMENTATION.
|
||||||
DATA(lt_dissolve) = VALUE ty_t_attri( ).
|
DATA(lt_dissolve) = VALUE ty_t_attri( ).
|
||||||
|
|
||||||
LOOP AT mt_attri REFERENCE INTO DATA(lr_attri)
|
LOOP AT mt_attri REFERENCE INTO DATA(lr_attri)
|
||||||
WHERE type_kind = cl_abap_classdescr=>typekind_struct1
|
WHERE ( type_kind = cl_abap_classdescr=>typekind_struct1
|
||||||
OR type_kind = cl_abap_classdescr=>typekind_struct2
|
OR type_kind = cl_abap_classdescr=>typekind_struct2 )
|
||||||
AND check_dissolved = abap_false.
|
AND check_dissolved = abap_false.
|
||||||
|
|
||||||
lr_attri->check_dissolved = abap_true.
|
lr_attri->check_dissolved = abap_true.
|
||||||
|
@ -396,9 +410,15 @@ CLASS z2ui5_cl_fw_binding IMPLEMENTATION.
|
||||||
|
|
||||||
DATA(lt_attri) = get_t_attri_by_dref( lr_bind->name ).
|
DATA(lt_attri) = get_t_attri_by_dref( lr_bind->name ).
|
||||||
lr_bind->check_dissolved = abap_true.
|
lr_bind->check_dissolved = abap_true.
|
||||||
|
IF lt_attri IS INITIAL.
|
||||||
|
CONTINUE.
|
||||||
|
ENDIF.
|
||||||
INSERT LINES OF lt_attri INTO TABLE lt_dissolve.
|
INSERT LINES OF lt_attri INTO TABLE lt_dissolve.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
IF lt_attri IS INITIAL.
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
set_attri_ready( REF #( lt_dissolve ) ).
|
set_attri_ready( REF #( lt_dissolve ) ).
|
||||||
INSERT LINES OF lt_dissolve INTO TABLE mt_attri.
|
INSERT LINES OF lt_dissolve INTO TABLE mt_attri.
|
||||||
|
|
||||||
|
@ -439,6 +459,9 @@ CLASS z2ui5_cl_fw_binding IMPLEMENTATION.
|
||||||
INSERT LINES OF lt_attri INTO TABLE lt_dissolve.
|
INSERT LINES OF lt_attri INTO TABLE lt_dissolve.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
IF lt_attri IS INITIAL.
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
set_attri_ready( REF #( lt_dissolve ) ).
|
set_attri_ready( REF #( lt_dissolve ) ).
|
||||||
INSERT LINES OF lt_dissolve INTO TABLE mt_attri.
|
INSERT LINES OF lt_dissolve INTO TABLE mt_attri.
|
||||||
|
|
||||||
|
|
|
@ -176,16 +176,15 @@ CLASS z2ui5_cl_fw_db IMPLEMENTATION.
|
||||||
lo_app = CAST object( ls_db-app ).
|
lo_app = CAST object( ls_db-app ).
|
||||||
LOOP AT ls_db-t_attri REFERENCE INTO DATA(lr_attri) WHERE type_kind = cl_abap_classdescr=>typekind_dref.
|
LOOP AT ls_db-t_attri REFERENCE INTO DATA(lr_attri) WHERE type_kind = cl_abap_classdescr=>typekind_dref.
|
||||||
|
|
||||||
DATA(lv_assign) = 'LO_APP->' && lr_attri->name.
|
DATA(lv_assign) = 'LO_APP->' && lr_attri->name && `->*`.
|
||||||
FIELD-SYMBOLS <attri> TYPE any.
|
FIELD-SYMBOLS <attri> TYPE any.
|
||||||
FIELD-SYMBOLS <deref_attri> TYPE any.
|
|
||||||
ASSIGN (lv_assign) TO <attri>.
|
ASSIGN (lv_assign) TO <attri>.
|
||||||
ASSIGN <attri>->* TO <deref_attri>.
|
IF sy-subrc <> 0.
|
||||||
|
CONTINUE.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
lr_attri->data_rtti = z2ui5_cl_fw_utility=>rtti_xml_get_by_data( <deref_attri> ).
|
lr_attri->data_rtti = z2ui5_cl_fw_utility=>rtti_xml_get_by_data( <attri> ).
|
||||||
CLEAR <deref_attri>.
|
|
||||||
CLEAR <attri>.
|
CLEAR <attri>.
|
||||||
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
result = z2ui5_cl_fw_utility=>trans_xml_any_2( ls_db ).
|
result = z2ui5_cl_fw_utility=>trans_xml_any_2( ls_db ).
|
||||||
|
|
Loading…
Reference in New Issue
Block a user