refactoring view local impl

This commit is contained in:
19ddb071-87e3-4bdd-9eee-59bb460e1d62 2023-06-15 17:39:52 +00:00
parent dd821818d3
commit 29db57d38e

View File

@ -1,71 +1,52 @@
CLASS lcl_utility DEFINITION INHERITING FROM cx_no_check.
PUBLIC SECTION.
CLASS-METHODS get_json_boolean
IMPORTING
val TYPE any
RETURNING
VALUE(result) TYPE string.
CLASS-METHODS get_json_boolean
IMPORTING val TYPE any
RETURNING VALUE(result) TYPE string.
CLASS-METHODS check_is_boolean
IMPORTING
val TYPE any
RETURNING
VALUE(result) TYPE abap_bool.
IMPORTING val TYPE any
RETURNING VALUE(result) TYPE abap_bool.
CLASS-METHODS get_classname_by_ref
IMPORTING
in TYPE REF TO object
RETURNING
VALUE(result) TYPE string.
IMPORTING in TYPE REF TO object
RETURNING VALUE(result) TYPE string.
CLASS-METHODS get_replace
IMPORTING
iv_val TYPE clike
iv_begin TYPE clike
iv_end TYPE clike
iv_replace TYPE clike DEFAULT ''
RETURNING
VALUE(result) TYPE string.
PROTECTED SECTION.
PRIVATE SECTION.
CLASS-METHODS get_replace
IMPORTING iv_val TYPE clike
iv_begin TYPE clike
iv_end TYPE clike
iv_replace TYPE clike DEFAULT ''
RETURNING VALUE(result) TYPE string.
ENDCLASS.
CLASS lcl_utility IMPLEMENTATION.
METHOD get_replace.
METHOD get_replace.
result = iv_val.
SPLIT result AT iv_begin INTO DATA(lv_1) DATA(lv_2).
SPLIT lv_2 AT iv_end INTO DATA(lv_dummy) DATA(lv_4).
IF lv_4 IS NOT INITIAL.
result = lv_1 && iv_replace && lv_4.
ENDIF.
ENDMETHOD.
METHOD get_classname_by_ref.
DATA(lv_classname) = cl_abap_classdescr=>get_class_name( in ).
result = substring_after( val = lv_classname sub = `\CLASS=` ).
ENDMETHOD.
METHOD get_json_boolean.
IF check_is_boolean( val ).
result = COND #( WHEN val = abap_true THEN `true` ELSE `false` ).
ELSE.
result = val.
ENDIF.
ENDMETHOD.
METHOD check_is_boolean.
METHOD check_is_boolean.
TRY.
DATA(lo_ele) = CAST cl_abap_elemdescr( cl_abap_elemdescr=>describe_by_data( val ) ).
CASE lo_ele->get_relative_name( ).
@ -74,7 +55,5 @@ CLASS lcl_utility IMPLEMENTATION.
ENDCASE.
CATCH cx_root.
ENDTRY.
ENDMETHOD.
ENDCLASS.