mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 02:58:20 +08:00
refactoring toolbox (#1735)
This commit is contained in:
parent
ba1e7ed9b7
commit
c3b2b8b12f
|
@ -1,6 +1,6 @@
|
||||||
CLASS z2ui5_cl_util DEFINITION
|
CLASS z2ui5_cl_util DEFINITION
|
||||||
PUBLIC
|
PUBLIC
|
||||||
INHERITING FROM z2ui5_cl_abap_api
|
INHERITING FROM z2ui5_cl_util_abap
|
||||||
CREATE PUBLIC.
|
CREATE PUBLIC.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
@ -96,7 +96,7 @@ CLASS z2ui5_cl_util DEFINITION
|
||||||
rollname TYPE clike
|
rollname TYPE clike
|
||||||
langu TYPE clike DEFAULT sy-langu
|
langu TYPE clike DEFAULT sy-langu
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE z2ui5_cl_abap_api=>ty_t_fix_val ##NEEDED.
|
VALUE(result) TYPE z2ui5_cl_util_abap=>ty_t_fix_val ##NEEDED.
|
||||||
|
|
||||||
CLASS-METHODS source_get_method2
|
CLASS-METHODS source_get_method2
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -1244,10 +1244,10 @@ CLASS z2ui5_cl_util IMPLEMENTATION.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
CALL METHOD z2ui5_cl_srt_typedescr=>('CREATE_BY_DATA_OBJECT')
|
CALL METHOD z2ui5_cl_srt_typedescr=>('CREATE_BY_DATA_OBJECT')
|
||||||
EXPORTING
|
EXPORTING
|
||||||
data_object = data
|
data_object = data
|
||||||
RECEIVING
|
RECEIVING
|
||||||
srtti = srtti.
|
srtti = srtti.
|
||||||
|
|
||||||
CALL TRANSFORMATION id SOURCE srtti = srtti dobj = data RESULT XML result.
|
CALL TRANSFORMATION id SOURCE srtti = srtti dobj = data RESULT XML result.
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
CLASS z2ui5_cl_abap_api DEFINITION
|
CLASS z2ui5_cl_util_abap DEFINITION
|
||||||
PUBLIC
|
PUBLIC
|
||||||
CREATE PUBLIC.
|
CREATE PUBLIC.
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ CLASS z2ui5_cl_abap_api DEFINITION
|
||||||
high TYPE string,
|
high TYPE string,
|
||||||
descr TYPE string,
|
descr TYPE string,
|
||||||
END OF ty_s_fix_val.
|
END OF ty_s_fix_val.
|
||||||
TYPES ty_t_fix_val TYPE STANDARD TABLE OF ty_s_fix_val WITH EMPTY KEY.
|
TYPES ty_t_fix_val TYPE STANDARD TABLE OF ty_s_fix_val WITH DEFAULT KEY.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_s_dfies,
|
BEGIN OF ty_s_dfies,
|
||||||
|
@ -70,7 +70,7 @@ CLASS z2ui5_cl_abap_api DEFINITION
|
||||||
nohistory TYPE c LENGTH 1,
|
nohistory TYPE c LENGTH 1,
|
||||||
ampmformat TYPE c LENGTH 1,
|
ampmformat TYPE c LENGTH 1,
|
||||||
END OF ty_s_dfies,
|
END OF ty_s_dfies,
|
||||||
ty_t_dfies TYPE STANDARD TABLE OF ty_s_dfies WITH EMPTY KEY.
|
ty_t_dfies TYPE STANDARD TABLE OF ty_s_dfies WITH DEFAULT KEY.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
BEGIN OF ty_s_data_element_text,
|
BEGIN OF ty_s_data_element_text,
|
||||||
|
@ -180,7 +180,7 @@ CLASS z2ui5_cl_abap_api DEFINITION
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
CLASS z2ui5_cl_util_abap IMPLEMENTATION.
|
||||||
METHOD context_check_abap_cloud.
|
METHOD context_check_abap_cloud.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
@ -202,10 +202,14 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
ddlanguage TYPE c LENGTH 1,
|
ddlanguage TYPE c LENGTH 1,
|
||||||
ddtext TYPE c LENGTH 60,
|
ddtext TYPE c LENGTH 60,
|
||||||
END OF fixvalue.
|
END OF fixvalue.
|
||||||
TYPES fixvalues TYPE STANDARD TABLE OF fixvalue WITH EMPTY KEY.
|
TYPES fixvalues TYPE STANDARD TABLE OF fixvalue WITH DEFAULT KEY.
|
||||||
DATA lt_values TYPE fixvalues.
|
DATA lt_values TYPE fixvalues.
|
||||||
|
|
||||||
DATA(lv_langu) = ' '.
|
DATA lv_langu TYPE c LENGTH 1.
|
||||||
|
DATA temp1 LIKE LINE OF lt_values.
|
||||||
|
DATA lr_fix LIKE REF TO temp1.
|
||||||
|
DATA temp2 TYPE z2ui5_cl_util_abap=>ty_s_fix_val.
|
||||||
|
lv_langu = ' '.
|
||||||
lv_langu = langu.
|
lv_langu = langu.
|
||||||
|
|
||||||
CALL METHOD elemdescr->('GET_DDIC_FIXED_VALUES')
|
CALL METHOD elemdescr->('GET_DDIC_FIXED_VALUES')
|
||||||
|
@ -215,11 +219,16 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
no_ddic_type = 2
|
no_ddic_type = 2
|
||||||
OTHERS = 3.
|
OTHERS = 3.
|
||||||
|
|
||||||
LOOP AT lt_values REFERENCE INTO DATA(lr_fix).
|
|
||||||
|
|
||||||
INSERT VALUE #( low = lr_fix->low
|
|
||||||
high = lr_fix->high
|
LOOP AT lt_values REFERENCE INTO lr_fix.
|
||||||
descr = lr_fix->ddtext )
|
|
||||||
|
|
||||||
|
CLEAR temp2.
|
||||||
|
temp2-low = lr_fix->low.
|
||||||
|
temp2-high = lr_fix->high.
|
||||||
|
temp2-descr = lr_fix->ddtext.
|
||||||
|
INSERT temp2
|
||||||
INTO TABLE result.
|
INTO TABLE result.
|
||||||
|
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
@ -227,17 +236,21 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD conv_decode_x_base64.
|
METHOD conv_decode_x_base64.
|
||||||
|
DATA lv_web_http_name TYPE c LENGTH 19.
|
||||||
|
DATA classname TYPE c LENGTH 15.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
DATA(lv_web_http_name) = 'CL_WEB_HTTP_UTILITY'.
|
|
||||||
|
lv_web_http_name = 'CL_WEB_HTTP_UTILITY'.
|
||||||
CALL METHOD (lv_web_http_name)=>('DECODE_X_BASE64')
|
CALL METHOD (lv_web_http_name)=>('DECODE_X_BASE64')
|
||||||
EXPORTING encoded = val
|
EXPORTING encoded = val
|
||||||
RECEIVING decoded = result.
|
RECEIVING decoded = result.
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
|
|
||||||
DATA(classname) = 'CL_HTTP_UTILITY'.
|
|
||||||
|
classname = 'CL_HTTP_UTILITY'.
|
||||||
CALL METHOD (classname)=>('DECODE_X_BASE64')
|
CALL METHOD (classname)=>('DECODE_X_BASE64')
|
||||||
EXPORTING encoded = val
|
EXPORTING encoded = val
|
||||||
RECEIVING decoded = result.
|
RECEIVING decoded = result.
|
||||||
|
@ -247,17 +260,21 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD conv_encode_x_base64.
|
METHOD conv_encode_x_base64.
|
||||||
|
DATA lv_web_http_name TYPE c LENGTH 19.
|
||||||
|
DATA classname TYPE c LENGTH 15.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
DATA(lv_web_http_name) = 'CL_WEB_HTTP_UTILITY'.
|
|
||||||
|
lv_web_http_name = 'CL_WEB_HTTP_UTILITY'.
|
||||||
CALL METHOD (lv_web_http_name)=>('ENCODE_X_BASE64')
|
CALL METHOD (lv_web_http_name)=>('ENCODE_X_BASE64')
|
||||||
EXPORTING unencoded = val
|
EXPORTING unencoded = val
|
||||||
RECEIVING encoded = result.
|
RECEIVING encoded = result.
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
|
|
||||||
DATA(classname) = 'CL_HTTP_UTILITY'.
|
|
||||||
|
classname = 'CL_HTTP_UTILITY'.
|
||||||
CALL METHOD (classname)=>('ENCODE_X_BASE64')
|
CALL METHOD (classname)=>('ENCODE_X_BASE64')
|
||||||
EXPORTING unencoded = val
|
EXPORTING unencoded = val
|
||||||
RECEIVING encoded = result.
|
RECEIVING encoded = result.
|
||||||
|
@ -269,9 +286,12 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
METHOD conv_get_string_by_xstring.
|
METHOD conv_get_string_by_xstring.
|
||||||
|
|
||||||
DATA conv TYPE REF TO object.
|
DATA conv TYPE REF TO object.
|
||||||
|
DATA conv_codepage TYPE c LENGTH 21.
|
||||||
|
DATA conv_in_class TYPE c LENGTH 18.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
DATA(conv_codepage) = 'CL_ABAP_CONV_CODEPAGE'.
|
|
||||||
|
conv_codepage = 'CL_ABAP_CONV_CODEPAGE'.
|
||||||
CALL METHOD (conv_codepage)=>create_in
|
CALL METHOD (conv_codepage)=>create_in
|
||||||
RECEIVING instance = conv.
|
RECEIVING instance = conv.
|
||||||
|
|
||||||
|
@ -281,7 +301,8 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
|
|
||||||
DATA(conv_in_class) = 'CL_ABAP_CONV_IN_CE'.
|
|
||||||
|
conv_in_class = 'CL_ABAP_CONV_IN_CE'.
|
||||||
CALL METHOD (conv_in_class)=>create
|
CALL METHOD (conv_in_class)=>create
|
||||||
EXPORTING encoding = 'UTF-8'
|
EXPORTING encoding = 'UTF-8'
|
||||||
RECEIVING conv = conv.
|
RECEIVING conv = conv.
|
||||||
|
@ -296,9 +317,12 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
METHOD conv_get_xstring_by_string.
|
METHOD conv_get_xstring_by_string.
|
||||||
|
|
||||||
DATA conv TYPE REF TO object.
|
DATA conv TYPE REF TO object.
|
||||||
|
DATA conv_codepage TYPE c LENGTH 21.
|
||||||
|
DATA conv_out_class TYPE c LENGTH 19.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
DATA(conv_codepage) = 'CL_ABAP_CONV_CODEPAGE'.
|
|
||||||
|
conv_codepage = 'CL_ABAP_CONV_CODEPAGE'.
|
||||||
CALL METHOD (conv_codepage)=>create_out
|
CALL METHOD (conv_codepage)=>create_out
|
||||||
RECEIVING instance = conv.
|
RECEIVING instance = conv.
|
||||||
|
|
||||||
|
@ -308,7 +332,8 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
|
|
||||||
DATA(conv_out_class) = 'CL_ABAP_CONV_OUT_CE'.
|
|
||||||
|
conv_out_class = 'CL_ABAP_CONV_OUT_CE'.
|
||||||
CALL METHOD (conv_out_class)=>create
|
CALL METHOD (conv_out_class)=>create
|
||||||
EXPORTING encoding = 'UTF-8'
|
EXPORTING encoding = 'UTF-8'
|
||||||
RECEIVING conv = conv.
|
RECEIVING conv = conv.
|
||||||
|
@ -326,13 +351,23 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
FIELD-SYMBOLS <any> TYPE any.
|
FIELD-SYMBOLS <any> TYPE any.
|
||||||
DATA lt_source TYPE string_table.
|
DATA lt_source TYPE string_table.
|
||||||
DATA lt_string TYPE string_table.
|
DATA lt_string TYPE string_table.
|
||||||
|
DATA lv_class TYPE string.
|
||||||
|
DATA lv_method TYPE string.
|
||||||
|
DATA xco_cp_abap TYPE c LENGTH 11.
|
||||||
|
DATA lv_name TYPE c LENGTH 13.
|
||||||
|
DATA lv_check_method LIKE abap_false.
|
||||||
|
DATA lv_source LIKE LINE OF lt_source.
|
||||||
|
DATA lv_source_upper TYPE string.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
DATA(lv_class) = to_upper( iv_classname ).
|
|
||||||
DATA(lv_method) = to_upper( iv_methodname ).
|
|
||||||
|
|
||||||
DATA(xco_cp_abap) = 'XCO_CP_ABAP'.
|
lv_class = to_upper( iv_classname ).
|
||||||
|
|
||||||
|
lv_method = to_upper( iv_methodname ).
|
||||||
|
|
||||||
|
|
||||||
|
xco_cp_abap = 'XCO_CP_ABAP'.
|
||||||
CALL METHOD (xco_cp_abap)=>('CLASS')
|
CALL METHOD (xco_cp_abap)=>('CLASS')
|
||||||
EXPORTING iv_name = lv_class
|
EXPORTING iv_name = lv_class
|
||||||
RECEIVING ro_class = object.
|
RECEIVING ro_class = object.
|
||||||
|
@ -353,7 +388,8 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
|
|
||||||
DATA(lv_name) = 'CL_OO_FACTORY'.
|
|
||||||
|
lv_name = 'CL_OO_FACTORY'.
|
||||||
CALL METHOD (lv_name)=>('CREATE_INSTANCE')
|
CALL METHOD (lv_name)=>('CREATE_INSTANCE')
|
||||||
RECEIVING result = object.
|
RECEIVING result = object.
|
||||||
|
|
||||||
|
@ -364,9 +400,12 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
CALL METHOD object->('IF_OO_CLIF_SOURCE~GET_SOURCE')
|
CALL METHOD object->('IF_OO_CLIF_SOURCE~GET_SOURCE')
|
||||||
IMPORTING source = lt_source.
|
IMPORTING source = lt_source.
|
||||||
|
|
||||||
DATA(lv_check_method) = abap_false.
|
|
||||||
LOOP AT lt_source INTO DATA(lv_source).
|
lv_check_method = abap_false.
|
||||||
DATA(lv_source_upper) = to_upper( lv_source ).
|
|
||||||
|
LOOP AT lt_source INTO lv_source.
|
||||||
|
|
||||||
|
lv_source_upper = to_upper( lv_source ).
|
||||||
|
|
||||||
IF lv_source_upper CS `ENDMETHOD`.
|
IF lv_source_upper CS `ENDMETHOD`.
|
||||||
lv_check_method = abap_false.
|
lv_check_method = abap_false.
|
||||||
|
@ -407,12 +446,24 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
DATA clsname TYPE c LENGTH 30.
|
DATA clsname TYPE c LENGTH 30.
|
||||||
DATA END OF ls_clskey.
|
DATA END OF ls_clskey.
|
||||||
DATA class TYPE REF TO data.
|
DATA class TYPE REF TO data.
|
||||||
|
DATA xco_cp_abap TYPE c LENGTH 11.
|
||||||
|
DATA temp3 TYPE z2ui5_cl_util_abap=>ty_t_classes.
|
||||||
|
DATA implementation_name LIKE LINE OF lt_implementation_names.
|
||||||
|
DATA temp4 LIKE LINE OF temp3.
|
||||||
|
DATA lv_fm TYPE string.
|
||||||
|
DATA type TYPE c LENGTH 12.
|
||||||
|
FIELD-SYMBOLS <class> TYPE data.
|
||||||
|
DATA temp5 LIKE LINE OF lt_impl.
|
||||||
|
DATA lr_impl LIKE REF TO temp5.
|
||||||
|
FIELD-SYMBOLS <description> TYPE any.
|
||||||
|
DATA temp6 TYPE z2ui5_cl_util_abap=>ty_s_class_descr.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
ls_clskey-clsname = val.
|
ls_clskey-clsname = val.
|
||||||
|
|
||||||
DATA(xco_cp_abap) = 'XCO_CP_ABAP'.
|
|
||||||
|
xco_cp_abap = 'XCO_CP_ABAP'.
|
||||||
CALL METHOD (xco_cp_abap)=>interface
|
CALL METHOD (xco_cp_abap)=>interface
|
||||||
EXPORTING iv_name = ls_clskey-clsname
|
EXPORTING iv_name = ls_clskey-clsname
|
||||||
RECEIVING ro_interface = obj.
|
RECEIVING ro_interface = obj.
|
||||||
|
@ -432,15 +483,23 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
CALL METHOD obj->('IF_XCO_INTF_IMPLEMENTATIONS~GET_NAMES')
|
CALL METHOD obj->('IF_XCO_INTF_IMPLEMENTATIONS~GET_NAMES')
|
||||||
RECEIVING rt_names = lt_implementation_names.
|
RECEIVING rt_names = lt_implementation_names.
|
||||||
|
|
||||||
result = VALUE #( FOR implementation_name IN lt_implementation_names
|
|
||||||
( classname = implementation_name
|
CLEAR temp3.
|
||||||
description = rtti_get_class_descr_on_cloud( implementation_name ) ) ).
|
|
||||||
|
LOOP AT lt_implementation_names INTO implementation_name.
|
||||||
|
|
||||||
|
temp4-classname = implementation_name.
|
||||||
|
temp4-description = rtti_get_class_descr_on_cloud( implementation_name ).
|
||||||
|
INSERT temp4 INTO TABLE temp3.
|
||||||
|
ENDLOOP.
|
||||||
|
result = temp3.
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
|
|
||||||
ls_key-intkey = val.
|
ls_key-intkey = val.
|
||||||
|
|
||||||
DATA(lv_fm) = `SEO_INTERFACE_IMPLEM_GET_ALL`.
|
|
||||||
|
lv_fm = `SEO_INTERFACE_IMPLEM_GET_ALL`.
|
||||||
CALL FUNCTION lv_fm
|
CALL FUNCTION lv_fm
|
||||||
EXPORTING intkey = ls_key
|
EXPORTING intkey = ls_key
|
||||||
IMPORTING impkeys = lt_impl
|
IMPORTING impkeys = lt_impl
|
||||||
|
@ -450,11 +509,15 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
DATA(type) = 'SEOC_CLASS_R'.
|
|
||||||
CREATE DATA class TYPE (type).
|
|
||||||
ASSIGN class->* TO FIELD-SYMBOL(<class>).
|
|
||||||
|
|
||||||
LOOP AT lt_impl REFERENCE INTO DATA(lr_impl).
|
type = 'SEOC_CLASS_R'.
|
||||||
|
CREATE DATA class TYPE (type).
|
||||||
|
|
||||||
|
ASSIGN class->* TO <class>.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
LOOP AT lt_impl REFERENCE INTO lr_impl.
|
||||||
|
|
||||||
CLEAR <class>.
|
CLEAR <class>.
|
||||||
|
|
||||||
|
@ -465,15 +528,19 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
EXPORTING clskey = ls_clskey
|
EXPORTING clskey = ls_clskey
|
||||||
IMPORTING class = <class>.
|
IMPORTING class = <class>.
|
||||||
|
|
||||||
|
|
||||||
ASSIGN
|
ASSIGN
|
||||||
COMPONENT 'DESCRIPT'
|
COMPONENT 'DESCRIPT'
|
||||||
OF STRUCTURE <class>
|
OF STRUCTURE <class>
|
||||||
TO FIELD-SYMBOL(<description>).
|
TO <description>.
|
||||||
ASSERT sy-subrc = 0.
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
|
|
||||||
|
CLEAR temp6.
|
||||||
|
temp6-classname = lr_impl->clsname.
|
||||||
|
temp6-description = <description>.
|
||||||
INSERT
|
INSERT
|
||||||
VALUE #( classname = lr_impl->clsname
|
temp6
|
||||||
description = <description> )
|
|
||||||
INTO TABLE result.
|
INTO TABLE result.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
@ -494,25 +561,41 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
END OF ddic.
|
END OF ddic.
|
||||||
DATA exists TYPE abap_bool.
|
DATA exists TYPE abap_bool.
|
||||||
|
|
||||||
DATA(data_element_name) = i_data_element_name.
|
DATA data_element_name LIKE i_data_element_name.
|
||||||
|
DATA temp7 TYPE REF TO cl_abap_structdescr.
|
||||||
|
DATA struct_desrc LIKE temp7.
|
||||||
|
FIELD-SYMBOLS <ddic> TYPE data.
|
||||||
|
DATA lo_typedescr TYPE REF TO cl_abap_typedescr.
|
||||||
|
DATA temp8 TYPE REF TO cl_abap_datadescr.
|
||||||
|
DATA data_descr LIKE temp8.
|
||||||
|
DATA xco_cp_abap_dictionary TYPE c LENGTH 22.
|
||||||
|
data_element_name = i_data_element_name.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
cl_abap_typedescr=>describe_by_name( 'T100' ).
|
cl_abap_typedescr=>describe_by_name( 'T100' ).
|
||||||
|
|
||||||
DATA(struct_desrc) = CAST cl_abap_structdescr( cl_abap_structdescr=>describe_by_name( 'DFIES' ) ).
|
|
||||||
|
temp7 ?= cl_abap_structdescr=>describe_by_name( 'DFIES' ).
|
||||||
|
|
||||||
|
struct_desrc = temp7.
|
||||||
|
|
||||||
CREATE DATA ddic_ref TYPE HANDLE struct_desrc.
|
CREATE DATA ddic_ref TYPE HANDLE struct_desrc.
|
||||||
ASSIGN ddic_ref->* TO FIELD-SYMBOL(<ddic>).
|
|
||||||
|
ASSIGN ddic_ref->* TO <ddic>.
|
||||||
ASSERT sy-subrc = 0.
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
|
|
||||||
cl_abap_elemdescr=>describe_by_name( EXPORTING p_name = data_element_name
|
cl_abap_elemdescr=>describe_by_name( EXPORTING p_name = data_element_name
|
||||||
RECEIVING p_descr_ref = DATA(lo_typedescr)
|
RECEIVING p_descr_ref = lo_typedescr
|
||||||
EXCEPTIONS OTHERS = 1 ).
|
EXCEPTIONS OTHERS = 1 ).
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
DATA(data_descr) = CAST cl_abap_datadescr( lo_typedescr ).
|
|
||||||
|
temp8 ?= lo_typedescr.
|
||||||
|
|
||||||
|
data_descr = temp8.
|
||||||
|
|
||||||
CALL METHOD data_descr->('GET_DDIC_FIELD')
|
CALL METHOD data_descr->('GET_DDIC_FIELD')
|
||||||
RECEIVING p_flddescr = <ddic>
|
RECEIVING p_flddescr = <ddic>
|
||||||
|
@ -523,7 +606,7 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ddic = CORRESPONDING #( <ddic> ).
|
MOVE-CORRESPONDING <ddic> TO ddic.
|
||||||
result-header = ddic-reptext.
|
result-header = ddic-reptext.
|
||||||
result-short = ddic-scrtext_s.
|
result-short = ddic-scrtext_s.
|
||||||
result-medium = ddic-scrtext_m.
|
result-medium = ddic-scrtext_m.
|
||||||
|
@ -531,7 +614,8 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
TRY.
|
TRY.
|
||||||
DATA(xco_cp_abap_dictionary) = 'XCO_CP_ABAP_DICTIONARY'.
|
|
||||||
|
xco_cp_abap_dictionary = 'XCO_CP_ABAP_DICTIONARY'.
|
||||||
CALL METHOD (xco_cp_abap_dictionary)=>('DATA_ELEMENT')
|
CALL METHOD (xco_cp_abap_dictionary)=>('DATA_ELEMENT')
|
||||||
EXPORTING iv_name = data_element_name
|
EXPORTING iv_name = data_element_name
|
||||||
RECEIVING ro_data_element = data_element.
|
RECEIVING ro_data_element = data_element.
|
||||||
|
@ -567,17 +651,21 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
METHOD uuid_get_c22.
|
METHOD uuid_get_c22.
|
||||||
|
|
||||||
DATA lv_uuid TYPE c LENGTH 22.
|
DATA lv_uuid TYPE c LENGTH 22.
|
||||||
|
DATA lv_classname TYPE string.
|
||||||
|
DATA lv_fm TYPE string.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
DATA(lv_classname) = `CL_SYSTEM_UUID`.
|
|
||||||
|
lv_classname = `CL_SYSTEM_UUID`.
|
||||||
CALL METHOD (lv_classname)=>if_system_uuid_static~create_uuid_c22
|
CALL METHOD (lv_classname)=>if_system_uuid_static~create_uuid_c22
|
||||||
RECEIVING uuid = lv_uuid.
|
RECEIVING uuid = lv_uuid.
|
||||||
|
|
||||||
CATCH cx_sy_dyn_call_illegal_class.
|
CATCH cx_sy_dyn_call_illegal_class.
|
||||||
|
|
||||||
DATA(lv_fm) = `GUID_CREATE`.
|
|
||||||
|
lv_fm = `GUID_CREATE`.
|
||||||
CALL FUNCTION lv_fm
|
CALL FUNCTION lv_fm
|
||||||
IMPORTING ev_guid_22 = lv_uuid.
|
IMPORTING ev_guid_22 = lv_uuid.
|
||||||
|
|
||||||
|
@ -610,17 +698,21 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD uuid_get_c32.
|
METHOD uuid_get_c32.
|
||||||
DATA lv_uuid TYPE c LENGTH 32.
|
DATA lv_uuid TYPE c LENGTH 32.
|
||||||
|
DATA lv_classname TYPE string.
|
||||||
|
DATA lv_fm TYPE string.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
DATA(lv_classname) = `CL_SYSTEM_UUID`.
|
|
||||||
|
lv_classname = `CL_SYSTEM_UUID`.
|
||||||
CALL METHOD (lv_classname)=>if_system_uuid_static~create_uuid_c32
|
CALL METHOD (lv_classname)=>if_system_uuid_static~create_uuid_c32
|
||||||
RECEIVING uuid = lv_uuid.
|
RECEIVING uuid = lv_uuid.
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
|
|
||||||
DATA(lv_fm) = `GUID_CREATE`.
|
|
||||||
|
lv_fm = `GUID_CREATE`.
|
||||||
CALL FUNCTION lv_fm
|
CALL FUNCTION lv_fm
|
||||||
IMPORTING ev_guid_32 = lv_uuid.
|
IMPORTING ev_guid_32 = lv_uuid.
|
||||||
|
|
||||||
|
@ -638,10 +730,12 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
DATA obj TYPE REF TO object.
|
DATA obj TYPE REF TO object.
|
||||||
DATA content TYPE REF TO object.
|
DATA content TYPE REF TO object.
|
||||||
DATA lv_classname TYPE c LENGTH 30.
|
DATA lv_classname TYPE c LENGTH 30.
|
||||||
|
DATA xco_cp_abap TYPE c LENGTH 11.
|
||||||
|
|
||||||
lv_classname = i_classname.
|
lv_classname = i_classname.
|
||||||
|
|
||||||
DATA(xco_cp_abap) = 'XCO_CP_ABAP'.
|
|
||||||
|
xco_cp_abap = 'XCO_CP_ABAP'.
|
||||||
CALL METHOD (xco_cp_abap)=>('CLASS')
|
CALL METHOD (xco_cp_abap)=>('CLASS')
|
||||||
EXPORTING iv_name = lv_classname
|
EXPORTING iv_name = lv_classname
|
||||||
RECEIVING ro_class = obj.
|
RECEIVING ro_class = obj.
|
||||||
|
@ -663,14 +757,30 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
FIELD-SYMBOLS <dfies> TYPE STANDARD TABLE.
|
FIELD-SYMBOLS <dfies> TYPE STANDARD TABLE.
|
||||||
FIELD-SYMBOLS <line> TYPE any.
|
FIELD-SYMBOLS <line> TYPE any.
|
||||||
|
|
||||||
DATA(comps) = VALUE cl_abap_structdescr=>component_table( ).
|
DATA temp9 TYPE cl_abap_structdescr=>component_table.
|
||||||
DATA(lo_struct) = CAST cl_abap_structdescr( cl_abap_structdescr=>describe_by_name( 'DFIES' ) ).
|
DATA comps LIKE temp9.
|
||||||
|
DATA temp10 TYPE REF TO cl_abap_structdescr.
|
||||||
|
DATA lo_struct LIKE temp10.
|
||||||
|
DATA new_struct_desc TYPE REF TO cl_abap_structdescr.
|
||||||
|
DATA new_table_desc TYPE REF TO cl_abap_tabledescr.
|
||||||
|
DATA comp LIKE LINE OF comps.
|
||||||
|
FIELD-SYMBOLS <value> TYPE any.
|
||||||
|
FIELD-SYMBOLS <value_dest> TYPE any.
|
||||||
|
CLEAR temp9.
|
||||||
|
|
||||||
|
comps = temp9.
|
||||||
|
|
||||||
|
temp10 ?= cl_abap_structdescr=>describe_by_name( 'DFIES' ).
|
||||||
|
|
||||||
|
lo_struct = temp10.
|
||||||
comps = lo_struct->get_components( ).
|
comps = lo_struct->get_components( ).
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
DATA(new_struct_desc) = cl_abap_structdescr=>create( comps ).
|
|
||||||
DATA(new_table_desc) = cl_abap_tabledescr=>create( p_line_type = new_struct_desc
|
new_struct_desc = cl_abap_structdescr=>create( comps ).
|
||||||
|
|
||||||
|
new_table_desc = cl_abap_tabledescr=>create( p_line_type = new_struct_desc
|
||||||
p_table_kind = cl_abap_tabledescr=>tablekind_std ).
|
p_table_kind = cl_abap_tabledescr=>tablekind_std ).
|
||||||
|
|
||||||
CREATE DATA dfies TYPE HANDLE new_table_desc.
|
CREATE DATA dfies TYPE HANDLE new_table_desc.
|
||||||
|
@ -682,7 +792,7 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
IF tabname IS INITIAL.
|
IF tabname IS INITIAL.
|
||||||
|
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_abap_api
|
RAISE EXCEPTION TYPE z2ui5_cx_util_error
|
||||||
EXPORTING val = `RTTI_BY_NAME_TAB_INITIAL`.
|
EXPORTING val = `RTTI_BY_NAME_TAB_INITIAL`.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -691,14 +801,17 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
LOOP AT <dfies> ASSIGNING <line>.
|
LOOP AT <dfies> ASSIGNING <line>.
|
||||||
|
|
||||||
LOOP AT comps INTO DATA(comp).
|
|
||||||
|
|
||||||
ASSIGN COMPONENT comp-name OF STRUCTURE <line> TO FIELD-SYMBOL(<value>).
|
LOOP AT comps INTO comp.
|
||||||
|
|
||||||
|
|
||||||
|
ASSIGN COMPONENT comp-name OF STRUCTURE <line> TO <value>.
|
||||||
IF <value> IS NOT ASSIGNED.
|
IF <value> IS NOT ASSIGNED.
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ASSIGN COMPONENT comp-name OF STRUCTURE s_dfies TO FIELD-SYMBOL(<value_dest>).
|
|
||||||
|
ASSIGN COMPONENT comp-name OF STRUCTURE s_dfies TO <value_dest>.
|
||||||
IF <value_dest> IS NOT ASSIGNED.
|
IF <value_dest> IS NOT ASSIGNED.
|
||||||
CONTINUE.
|
CONTINUE.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -849,7 +962,7 @@ CLASS z2ui5_cl_abap_api IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD rtti_get_t_dfies_by_table_name.
|
METHOD rtti_get_t_dfies_by_table_name.
|
||||||
|
|
||||||
IF context_check_abap_cloud( ).
|
IF context_check_abap_cloud( ) IS NOT INITIAL.
|
||||||
result = rtti_get_t_attri_on_cloud( table_name ).
|
result = rtti_get_t_attri_on_cloud( table_name ).
|
||||||
ELSE.
|
ELSE.
|
||||||
result = rtti_get_t_attri_on_prem( table_name ).
|
result = rtti_get_t_attri_on_prem( table_name ).
|
|
@ -3,14 +3,13 @@
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||||
<asx:values>
|
<asx:values>
|
||||||
<VSEOCLASS>
|
<VSEOCLASS>
|
||||||
<CLSNAME>Z2UI5_CL_ABAP_API</CLSNAME>
|
<CLSNAME>Z2UI5_CL_UTIL_ABAP</CLSNAME>
|
||||||
<LANGU>E</LANGU>
|
<LANGU>E</LANGU>
|
||||||
<DESCRIPT>abap api</DESCRIPT>
|
<DESCRIPT>abap api</DESCRIPT>
|
||||||
<STATE>1</STATE>
|
<STATE>1</STATE>
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
<FIXPT>X</FIXPT>
|
<FIXPT>X</FIXPT>
|
||||||
<UNICODE>X</UNICODE>
|
<UNICODE>X</UNICODE>
|
||||||
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
|
|
||||||
</VSEOCLASS>
|
</VSEOCLASS>
|
||||||
</asx:values>
|
</asx:values>
|
||||||
</asx:abap>
|
</asx:abap>
|
|
@ -1,4 +1,4 @@
|
||||||
CLASS z2ui5_cl_abap_api_http DEFINITION PUBLIC.
|
CLASS z2ui5_cl_util_abap_http DEFINITION PUBLIC.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
@ -6,14 +6,14 @@ CLASS z2ui5_cl_abap_api_http DEFINITION PUBLIC.
|
||||||
IMPORTING
|
IMPORTING
|
||||||
server TYPE REF TO object
|
server TYPE REF TO object
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_abap_api_http.
|
VALUE(result) TYPE REF TO z2ui5_cl_util_abap_http.
|
||||||
|
|
||||||
CLASS-METHODS factory_cloud
|
CLASS-METHODS factory_cloud
|
||||||
IMPORTING
|
IMPORTING
|
||||||
req TYPE REF TO object
|
req TYPE REF TO object
|
||||||
res TYPE REF TO object
|
res TYPE REF TO object
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(result) TYPE REF TO z2ui5_cl_abap_api_http.
|
VALUE(result) TYPE REF TO z2ui5_cl_util_abap_http.
|
||||||
|
|
||||||
METHODS get_header_field
|
METHODS get_header_field
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -67,7 +67,7 @@ CLASS z2ui5_cl_abap_api_http DEFINITION PUBLIC.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cl_abap_api_http IMPLEMENTATION.
|
CLASS z2ui5_cl_util_abap_http IMPLEMENTATION.
|
||||||
METHOD delete_response_cookie.
|
METHOD delete_response_cookie.
|
||||||
|
|
||||||
DATA(lv_val) = CONV string( val ).
|
DATA(lv_val) = CONV string( val ).
|
|
@ -3,9 +3,9 @@
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||||
<asx:values>
|
<asx:values>
|
||||||
<VSEOCLASS>
|
<VSEOCLASS>
|
||||||
<CLSNAME>Z2UI5_CL_ABAP_API_HTTP</CLSNAME>
|
<CLSNAME>Z2UI5_CL_UTIL_ABAP_HTTP</CLSNAME>
|
||||||
<LANGU>E</LANGU>
|
<LANGU>E</LANGU>
|
||||||
<DESCRIPT>http server</DESCRIPT>
|
<DESCRIPT>abap api</DESCRIPT>
|
||||||
<STATE>1</STATE>
|
<STATE>1</STATE>
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
<FIXPT>X</FIXPT>
|
<FIXPT>X</FIXPT>
|
|
@ -1,67 +0,0 @@
|
||||||
CLASS ltcl_test DEFINITION FINAL
|
|
||||||
FOR TESTING RISK LEVEL HARMLESS DURATION SHORT.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
|
||||||
METHODS test_func_get_uuid_32 FOR TESTING RAISING cx_static_check.
|
|
||||||
METHODS test_func_get_uuid_22 FOR TESTING RAISING cx_static_check.
|
|
||||||
METHODS test_encoding FOR TESTING RAISING cx_static_check.
|
|
||||||
METHODS test_element_text FOR TESTING RAISING cx_static_check.
|
|
||||||
METHODS test_classes_impl_intf FOR TESTING RAISING cx_static_check.
|
|
||||||
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_test IMPLEMENTATION.
|
|
||||||
METHOD test_func_get_uuid_32.
|
|
||||||
|
|
||||||
DATA(lv_uuid) = z2ui5_cl_abap_api=>uuid_get_c32( ).
|
|
||||||
cl_abap_unit_assert=>assert_not_initial( lv_uuid ).
|
|
||||||
cl_abap_unit_assert=>assert_equals( exp = strlen( lv_uuid )
|
|
||||||
act = 32 ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD test_func_get_uuid_22.
|
|
||||||
|
|
||||||
DATA(lv_uuid) = z2ui5_cl_abap_api=>uuid_get_c22( ).
|
|
||||||
cl_abap_unit_assert=>assert_not_initial( lv_uuid ).
|
|
||||||
cl_abap_unit_assert=>assert_equals( exp = strlen( lv_uuid )
|
|
||||||
act = 22 ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD test_encoding.
|
|
||||||
|
|
||||||
DATA(lv_string) = `my string`.
|
|
||||||
DATA(lv_xstring) = z2ui5_cl_abap_api=>conv_get_xstring_by_string( lv_string ).
|
|
||||||
DATA(lv_string2) = z2ui5_cl_abap_api=>conv_encode_x_base64( lv_xstring ).
|
|
||||||
DATA(lv_xstring2) = z2ui5_cl_abap_api=>conv_decode_x_base64( lv_string2 ).
|
|
||||||
DATA(lv_string3) = z2ui5_cl_abap_api=>conv_get_string_by_xstring( lv_xstring2 ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals( exp = lv_string
|
|
||||||
act = lv_string3 ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD test_element_text.
|
|
||||||
|
|
||||||
IF sy-sysid = 'ABC'.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
DATA(ls_result) = z2ui5_cl_abap_api=>rtti_get_data_element_texts( `UNAME` ).
|
|
||||||
cl_abap_unit_assert=>assert_not_initial( ls_result ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD test_classes_impl_intf.
|
|
||||||
|
|
||||||
IF sy-sysid = 'ABC'.
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
DATA(mt_classes) = z2ui5_cl_abap_api=>rtti_get_classes_impl_intf( `IF_SERIALIZABLE_OBJECT` ).
|
|
||||||
cl_abap_unit_assert=>assert_not_initial( mt_classes ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
|
|
@ -1,57 +0,0 @@
|
||||||
CLASS z2ui5_cx_abap_api DEFINITION
|
|
||||||
PUBLIC
|
|
||||||
INHERITING FROM cx_no_check FINAL
|
|
||||||
CREATE PUBLIC.
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
|
|
||||||
DATA:
|
|
||||||
BEGIN OF ms_error,
|
|
||||||
x_root TYPE REF TO cx_root,
|
|
||||||
* uuid TYPE string,
|
|
||||||
text TYPE string,
|
|
||||||
END OF ms_error.
|
|
||||||
|
|
||||||
METHODS constructor
|
|
||||||
IMPORTING
|
|
||||||
val TYPE any OPTIONAL
|
|
||||||
!previous TYPE REF TO cx_root OPTIONAL
|
|
||||||
PREFERRED PARAMETER val.
|
|
||||||
|
|
||||||
METHODS if_message~get_text REDEFINITION.
|
|
||||||
|
|
||||||
PROTECTED SECTION.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
CLASS z2ui5_cx_abap_api IMPLEMENTATION.
|
|
||||||
METHOD constructor ##ADT_SUPPRESS_GENERATION.
|
|
||||||
|
|
||||||
super->constructor( previous = previous ).
|
|
||||||
CLEAR textid.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
ms_error-x_root ?= val.
|
|
||||||
CATCH cx_root.
|
|
||||||
ms_error-text = val.
|
|
||||||
ENDTRY.
|
|
||||||
* ms_error-uuid = z2ui5_cl_util=>uuid_get_c32( ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD if_message~get_text.
|
|
||||||
|
|
||||||
IF ms_error-x_root IS NOT INITIAL.
|
|
||||||
result = ms_error-x_root->get_text( ).
|
|
||||||
DATA(error) = abap_true.
|
|
||||||
ELSEIF ms_error-text IS NOT INITIAL.
|
|
||||||
result = ms_error-text.
|
|
||||||
error = abap_true.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
result = COND #( WHEN error = abap_true AND result IS INITIAL THEN `unknown error` ELSE result ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
|
|
@ -1,23 +0,0 @@
|
||||||
CLASS ltcl_unit_test DEFINITION FINAL
|
|
||||||
FOR TESTING RISK LEVEL DANGEROUS DURATION SHORT.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
|
||||||
METHODS test_raise FOR TESTING RAISING cx_static_check.
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ltcl_unit_test IMPLEMENTATION.
|
|
||||||
METHOD test_raise.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
|
|
||||||
RAISE EXCEPTION TYPE z2ui5_cx_abap_api
|
|
||||||
EXPORTING val = `this is an error text`.
|
|
||||||
|
|
||||||
CATCH z2ui5_cx_abap_api INTO DATA(lx).
|
|
||||||
cl_abap_unit_assert=>assert_equals( exp = `this is an error text`
|
|
||||||
act = lx->get_text( ) ).
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
|
|
@ -1,18 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
|
||||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
|
||||||
<asx:values>
|
|
||||||
<VSEOCLASS>
|
|
||||||
<CLSNAME>Z2UI5_CX_ABAP_API</CLSNAME>
|
|
||||||
<LANGU>E</LANGU>
|
|
||||||
<DESCRIPT>abap api exception</DESCRIPT>
|
|
||||||
<CATEGORY>40</CATEGORY>
|
|
||||||
<STATE>1</STATE>
|
|
||||||
<CLSCCINCL>X</CLSCCINCL>
|
|
||||||
<FIXPT>X</FIXPT>
|
|
||||||
<UNICODE>X</UNICODE>
|
|
||||||
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
|
|
||||||
</VSEOCLASS>
|
|
||||||
</asx:values>
|
|
||||||
</asx:abap>
|
|
||||||
</abapGit>
|
|
|
@ -37,7 +37,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS Z2UI5_CL_CORE_SRV_JSON IMPLEMENTATION.
|
CLASS z2ui5_cl_core_srv_json IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD model_front_to_back.
|
METHOD model_front_to_back.
|
||||||
|
@ -163,25 +163,24 @@ CLASS Z2UI5_CL_CORE_SRV_JSON IMPLEMENTATION.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
DATA(lo_comp) = result-s_front-o_comp_data.
|
DATA(lo_comp) = result-s_front-o_comp_data.
|
||||||
result-s_control-app_start = lo_comp->get( `/startupParameters/app_start/1` ).
|
DATA(lv_app_start) = lo_comp->get( `/startupParameters/app_start/1` ).
|
||||||
|
|
||||||
|
result-s_control-app_start = lv_app_start.
|
||||||
result-s_control-app_start = z2ui5_cl_util=>c_trim_upper( result-s_control-app_start ).
|
result-s_control-app_start = z2ui5_cl_util=>c_trim_upper( result-s_control-app_start ).
|
||||||
CATCH cx_root.
|
CATCH cx_root.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
try.
|
TRY.
|
||||||
" result-s_control-app_start_draft = z2ui5_cl_util=>c_trim_upper(
|
DATA(lv_hash) = result-s_front-hash.
|
||||||
" z2ui5_cl_util=>url_param_get( val = `z2ui5-xapp-state`
|
SPLIT lv_hash AT '&/' INTO DATA(lv_dummy) lv_hash.
|
||||||
" url = result-s_front-search ) ).
|
IF lv_hash IS INITIAL.
|
||||||
data(lv_hash) = result-s_front-hash.
|
|
||||||
split lv_hash at '&/' into data(lv_dummy) lv_hash.
|
|
||||||
if lv_hash is initial.
|
|
||||||
lv_hash = result-s_front-hash+2.
|
lv_hash = result-s_front-hash+2.
|
||||||
endif.
|
ENDIF.
|
||||||
result-s_control-app_start_draft = z2ui5_cl_util=>c_trim_upper(
|
result-s_control-app_start_draft = z2ui5_cl_util=>c_trim_upper(
|
||||||
z2ui5_cl_util=>url_param_get( val = `z2ui5-xapp-state`
|
z2ui5_cl_util=>url_param_get( val = `z2ui5-xapp-state`
|
||||||
url = lv_hash ) ).
|
url = lv_hash ) ).
|
||||||
catch cx_root.
|
CATCH cx_root.
|
||||||
endtry.
|
ENDTRY.
|
||||||
IF result-s_control-app_start IS NOT INITIAL.
|
IF result-s_control-app_start IS NOT INITIAL.
|
||||||
IF result-s_control-app_start(1) = `-`.
|
IF result-s_control-app_start(1) = `-`.
|
||||||
REPLACE FIRST OCCURRENCE OF `-` IN result-s_control-app_start WITH `/`.
|
REPLACE FIRST OCCURRENCE OF `-` IN result-s_control-app_start WITH `/`.
|
||||||
|
|
|
@ -69,7 +69,7 @@ CLASS z2ui5_cl_http_handler DEFINITION
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
CLASS-DATA so_sticky_handler TYPE REF TO z2ui5_cl_core_handler.
|
CLASS-DATA so_sticky_handler TYPE REF TO z2ui5_cl_core_handler.
|
||||||
|
|
||||||
DATA mo_server TYPE REF TO z2ui5_cl_abap_api_http.
|
DATA mo_server TYPE REF TO z2ui5_cl_util_abap_http.
|
||||||
|
|
||||||
DATA ms_req TYPE z2ui5_if_core_types=>ty_s_http_req.
|
DATA ms_req TYPE z2ui5_if_core_types=>ty_s_http_req.
|
||||||
DATA ms_res TYPE z2ui5_if_core_types=>ty_s_http_res.
|
DATA ms_res TYPE z2ui5_if_core_types=>ty_s_http_res.
|
||||||
|
@ -109,7 +109,7 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION.
|
||||||
result = NEW #( ).
|
result = NEW #( ).
|
||||||
|
|
||||||
IF server IS BOUND.
|
IF server IS BOUND.
|
||||||
result->mo_server = z2ui5_cl_abap_api_http=>factory( server ).
|
result->mo_server = z2ui5_cl_util_abap_http=>factory( server ).
|
||||||
ELSEIF req IS BOUND AND res IS BOUND.
|
ELSEIF req IS BOUND AND res IS BOUND.
|
||||||
result = factory_cloud( req = req
|
result = factory_cloud( req = req
|
||||||
res = res ).
|
res = res ).
|
||||||
|
@ -122,7 +122,7 @@ CLASS z2ui5_cl_http_handler IMPLEMENTATION.
|
||||||
METHOD factory_cloud.
|
METHOD factory_cloud.
|
||||||
|
|
||||||
result = NEW #( ).
|
result = NEW #( ).
|
||||||
result->mo_server = z2ui5_cl_abap_api_http=>factory_cloud( req = req
|
result->mo_server = z2ui5_cl_util_abap_http=>factory_cloud( req = req
|
||||||
res = res ).
|
res = res ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user