mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 02:58:20 +08:00
58 lines
1.2 KiB
ABAP
58 lines
1.2 KiB
ABAP
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.
|