bugfix stringtable (#694)

This commit is contained in:
oblomov 2023-11-30 17:29:22 +01:00 committed by GitHub
parent fd09ca18ec
commit c7b0228b64
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,167 +1,167 @@
class Z2UI5_CL_UTIL_FUNC definition
public
create public .
CLASS z2ui5_cl_util_func DEFINITION
PUBLIC
CREATE PUBLIC .
public section.
PUBLIC SECTION.
class-methods APP_GET_URL_SOURCE_CODE
importing
!CLIENT type ref to Z2UI5_IF_CLIENT
returning
value(RESULT) type STRING .
class-methods APP_GET_URL
importing
!CLIENT type ref to Z2UI5_IF_CLIENT
value(CLASSNAME) type STRING optional
returning
value(RESULT) type STRING .
class-methods URL_PARAM_GET
importing
!VAL type STRING
!URL type STRING
returning
value(RESULT) type STRING .
class-methods URL_PARAM_CREATE_URL
importing
!T_PARAMS type Z2UI5_IF_CLIENT=>TY_T_NAME_VALUE
returning
value(RESULT) type STRING .
class-methods URL_PARAM_SET
importing
!URL type STRING
!NAME type STRING
!VALUE type STRING
returning
value(RESULT) type STRING .
class-methods RTTI_GET_CLASSNAME_BY_REF
importing
!IN type ref to OBJECT
returning
value(RESULT) type STRING .
class-methods X_CHECK_RAISE
importing
!V type CLIKE default `CX_SY_SUBRC`
!WHEN type ABAP_BOOL .
class-methods X_RAISE
importing
!V type CLIKE default `CX_SY_SUBRC`
preferred parameter V .
class-methods FUNC_GET_UUID_32
returning
value(RESULT) type STRING .
class-methods FUNC_GET_UUID_22
returning
value(RESULT) type STRING .
class-methods FUNC_GET_USER_TECH
returning
value(RESULT) type STRING .
class-methods TRANS_JSON_ANY_2
importing
!ANY type ANY
!PRETTY_NAME type CLIKE default /UI2/CL_JSON=>PRETTY_MODE-NONE
returning
value(RESULT) type STRING .
class-methods TRANS_XML_2_ANY
importing
!XML type CLIKE
exporting
!ANY type ANY .
class-methods TRANS_XML_ANY_2
importing
!ANY type ANY
returning
value(RESULT) type STRING
raising
CX_XSLT_SERIALIZATION_ERROR .
class-methods BOOLEAN_CHECK
importing
!VAL type ANY
returning
value(RESULT) type ABAP_BOOL .
class-methods BOOLEAN_ABAP_2_JSON
importing
!VAL type ANY
returning
value(RESULT) type STRING .
class-methods C_REPLACE_ASSIGN_STRUC
importing
!IV_ATTRI type CLIKE
returning
value(RV_ATTRI) type STRING .
class-methods TRANS_JSON_2_ANY
importing
!VAL type ANY
changing
!DATA type ANY .
class-methods TRANS_REF_TAB_2_TAB
importing
!IR_TAB_FROM type ref to DATA
exporting
!T_RESULT type STANDARD TABLE .
class-methods C_TRIM_UPPER
importing
!VAL type CLIKE
returning
value(RESULT) type STRING .
class-methods RTTI_XML_GET_BY_DATA
importing
!DATA type ANY
returning
value(RESULT) type STRING .
class-methods RTTI_XML_SET_TO_DATA
importing
!RTTI_DATA type CLIKE
exporting
!E_DATA type ref to DATA .
class-methods TIME_GET_TIMESTAMPL
returning
value(RESULT) type TIMESTAMPL .
class-methods TIME_SUBSTRACT_SECONDS
importing
!TIME type TIMESTAMPL
!SECONDS type I
returning
value(RESULT) type TIMESTAMPL .
class-methods C_TRIM
importing
!VAL type CLIKE
returning
value(RESULT) type STRING .
class-methods C_TRIM_LOWER
importing
!VAL type CLIKE
returning
value(RESULT) type STRING .
class-methods URL_PARAM_GET_TAB
importing
!I_VAL type CLIKE
returning
value(RT_PARAMS) type Z2UI5_IF_CLIENT=>TY_T_NAME_VALUE .
class-methods RTTI_GET_T_ATTRI_BY_OBJECT
importing
!VAL type ref to OBJECT
returning
value(RESULT) type ABAP_ATTRDESCR_TAB .
class-methods RTTI_GET_T_COMP_BY_STRUC
importing
!VAL type ANY
returning
value(RESULT) type CL_ABAP_STRUCTDESCR=>COMPONENT_TABLE .
class-methods RTTI_GET_TYPE_NAME
importing
!VAL type ANY
returning
value(RESULT) type STRING .
class-methods RTTI_CHECK_TYPE_KIND_DREF
importing
!VAL type ANY
returning
value(RESULT) type ABAP_BOOL .
class-methods RTTI_GET_TYPE_KIND
importing
!VAL type ANY
returning
value(RESULT) type STRING .
CLASS-METHODS app_get_url_source_code
IMPORTING
!client TYPE REF TO z2ui5_if_client
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS app_get_url
IMPORTING
!client TYPE REF TO z2ui5_if_client
VALUE(classname) TYPE string OPTIONAL
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS url_param_get
IMPORTING
!val TYPE string
!url TYPE string
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS url_param_create_url
IMPORTING
!t_params TYPE z2ui5_if_client=>ty_t_name_value
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS url_param_set
IMPORTING
!url TYPE string
!name TYPE string
!value TYPE string
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS rtti_get_classname_by_ref
IMPORTING
!in TYPE REF TO object
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS x_check_raise
IMPORTING
!v TYPE clike DEFAULT `CX_SY_SUBRC`
!when TYPE abap_bool .
CLASS-METHODS x_raise
IMPORTING
!v TYPE clike DEFAULT `CX_SY_SUBRC`
PREFERRED PARAMETER v .
CLASS-METHODS func_get_uuid_32
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS func_get_uuid_22
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS func_get_user_tech
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS trans_json_any_2
IMPORTING
!any TYPE any
!pretty_name TYPE clike DEFAULT /ui2/cl_json=>pretty_mode-none
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS trans_xml_2_any
IMPORTING
!xml TYPE clike
EXPORTING
!any TYPE any .
CLASS-METHODS trans_xml_any_2
IMPORTING
!any TYPE any
RETURNING
VALUE(result) TYPE string
RAISING
cx_xslt_serialization_error .
CLASS-METHODS boolean_check
IMPORTING
!val TYPE any
RETURNING
VALUE(result) TYPE abap_bool .
CLASS-METHODS boolean_abap_2_json
IMPORTING
!val TYPE any
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS c_replace_assign_struc
IMPORTING
!iv_attri TYPE clike
RETURNING
VALUE(rv_attri) TYPE string .
CLASS-METHODS trans_json_2_any
IMPORTING
!val TYPE any
CHANGING
!data TYPE any .
CLASS-METHODS trans_ref_tab_2_tab
IMPORTING
!ir_tab_from TYPE REF TO data
EXPORTING
!t_result TYPE STANDARD TABLE .
CLASS-METHODS c_trim_upper
IMPORTING
!val TYPE clike
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS rtti_xml_get_by_data
IMPORTING
!data TYPE any
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS rtti_xml_set_to_data
IMPORTING
!rtti_data TYPE clike
EXPORTING
!e_data TYPE REF TO data .
CLASS-METHODS time_get_timestampl
RETURNING
VALUE(result) TYPE timestampl .
CLASS-METHODS time_substract_seconds
IMPORTING
!time TYPE timestampl
!seconds TYPE i
RETURNING
VALUE(result) TYPE timestampl .
CLASS-METHODS c_trim
IMPORTING
!val TYPE clike
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS c_trim_lower
IMPORTING
!val TYPE clike
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS url_param_get_tab
IMPORTING
!i_val TYPE clike
RETURNING
VALUE(rt_params) TYPE z2ui5_if_client=>ty_t_name_value .
CLASS-METHODS rtti_get_t_attri_by_object
IMPORTING
!val TYPE REF TO object
RETURNING
VALUE(result) TYPE abap_attrdescr_tab .
CLASS-METHODS rtti_get_t_comp_by_struc
IMPORTING
!val TYPE any
RETURNING
VALUE(result) TYPE cl_abap_structdescr=>component_table .
CLASS-METHODS rtti_get_type_name
IMPORTING
!val TYPE any
RETURNING
VALUE(result) TYPE string .
CLASS-METHODS rtti_check_type_kind_dref
IMPORTING
!val TYPE any
RETURNING
VALUE(result) TYPE abap_bool .
CLASS-METHODS rtti_get_type_kind
IMPORTING
!val TYPE any
RETURNING
VALUE(result) TYPE string .
PROTECTED SECTION.
PRIVATE SECTION.
@ -169,14 +169,14 @@ ENDCLASS.
CLASS Z2UI5_CL_UTIL_FUNC IMPLEMENTATION.
CLASS z2ui5_cl_util_func IMPLEMENTATION.
METHOD app_get_url.
if classname is INITIAL.
classname = rtti_get_classname_by_ref( client->get( )-s_draft-app ).
endif.
IF classname IS INITIAL.
classname = rtti_get_classname_by_ref( client->get( )-s_draft-app ).
ENDIF.
DATA(lv_url) = to_lower( client->get( )-s_config-origin && client->get( )-s_config-pathname ) && `?`.
DATA(lt_param) = url_param_get_tab( client->get( )-s_config-search ).
@ -481,6 +481,13 @@ CLASS Z2UI5_CL_UTIL_FUNC IMPLEMENTATION.
CLEAR t_result.
DATA(lo_tab) = CAST cl_abap_tabledescr( cl_abap_datadescr=>describe_by_data( t_result ) ).
IF lo_tab->absolute_name = `\TYPE=STRING_TABLE`.
LOOP AT <lt_from> INTO DATA(lr_string).
ASSIGN lr_string->* TO FIELD-SYMBOL(<row_string>).
INSERT <row_string> INTO TABLE t_result.
ENDLOOP.
RETURN.
ENDIF.
DATA(lo_struc) = CAST cl_abap_structdescr( lo_tab->get_table_line_type( ) ).
DATA(lt_components) = lo_struc->get_components( ).