Improve error handling of ttyp object handler (#2272)

* improve error handling of function modules

* fix abaplint errors

* refactor to hardcoded error strings

* refactor fm error handling to string templates

* removing msag class
This commit is contained in:
Andre Becker 2019-01-12 12:44:24 +01:00 committed by Lars Hvam
parent cb15695570
commit da600fa2d3

View File

@ -78,7 +78,7 @@ CLASS zcl_abapgit_object_ttyp IMPLEMENTATION.
object_not_specified = 3 object_not_specified = 3
permission_failure = 4. permission_failure = 4.
IF sy-subrc <> 0. IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( 'error from RS_DD_DELETE_OBJ, TTYP' ). zcx_abapgit_exception=>raise_t100( ).
ENDIF. ENDIF.
ENDMETHOD. ENDMETHOD.
@ -106,9 +106,11 @@ CLASS zcl_abapgit_object_ttyp IMPLEMENTATION.
EXCEPTIONS EXCEPTIONS
illegal_input = 1 illegal_input = 1
OTHERS = 2. OTHERS = 2.
IF sy-subrc <> 0. IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( 'error from DDIF_TTYP_GET' ). zcx_abapgit_exception=>raise_t100( ).
ENDIF. ENDIF.
IF ls_dd40v IS INITIAL. IF ls_dd40v IS INITIAL.
RETURN. " does not exist in system RETURN. " does not exist in system
ENDIF. ENDIF.
@ -135,8 +137,8 @@ CLASS zcl_abapgit_object_ttyp IMPLEMENTATION.
DATA: lv_name TYPE ddobjname, DATA: lv_name TYPE ddobjname,
lt_dd42v TYPE dd42v_tab, lt_dd42v TYPE dd42v_tab,
lt_dd43v TYPE dd43v_tab, lt_dd43v TYPE dd43v_tab,
ls_dd40v TYPE dd40v. ls_dd40v TYPE dd40v,
lv_msg TYPE string.
io_xml->read( EXPORTING iv_name = 'DD40V' io_xml->read( EXPORTING iv_name = 'DD40V'
CHANGING cg_data = ls_dd40v ). CHANGING cg_data = ls_dd40v ).
@ -163,8 +165,25 @@ CLASS zcl_abapgit_object_ttyp IMPLEMENTATION.
put_failure = 4 put_failure = 4
put_refused = 5 put_refused = 5
OTHERS = 6. OTHERS = 6.
IF sy-subrc <> 0. IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( 'error from DDIF_TTYP_PUT' ). lv_msg = |Error in DDIF_TTYP_PUT on object { lv_name }|.
CASE sy-subrc.
WHEN 1.
lv_msg = lv_msg && | (TTYP_NOT_FOUND)|.
WHEN 2.
lv_msg = lv_msg && | (NAME_INCONSISTENT)|.
WHEN 3.
lv_msg = lv_msg && | (TTYP_INCONSISTENT)|.
WHEN 4.
lv_msg = lv_msg && | (PUT_FAILURE)|.
WHEN 5.
lv_msg = lv_msg && | (PUT_REFUSED)|.
WHEN OTHERS.
ENDCASE.
zcx_abapgit_exception=>raise( iv_text = lv_msg ).
ENDIF. ENDIF.
zcl_abapgit_objects_activation=>add_item( ms_item ). zcl_abapgit_objects_activation=>add_item( ms_item ).