diff --git a/src/objects/zcl_abapgit_object_dcls.clas.abap b/src/objects/zcl_abapgit_object_dcls.clas.abap index f66ab48c1..eff0f7425 100644 --- a/src/objects/zcl_abapgit_object_dcls.clas.abap +++ b/src/objects/zcl_abapgit_object_dcls.clas.abap @@ -23,7 +23,8 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION. METHOD zif_abapgit_object~delete. - DATA: lo_dcl TYPE REF TO object. + DATA: lo_dcl TYPE REF TO object, + lx_error TYPE REF TO cx_root. TRY. CALL METHOD ('CL_ACM_DCL_HANDLER_FACTORY')=>('CREATE') @@ -34,8 +35,9 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION. EXPORTING iv_dclname = ms_item-obj_name. - CATCH cx_root. - zcx_abapgit_exception=>raise( 'DCLS error' ). + CATCH cx_root INTO lx_error. + zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( ) + ix_previous = lx_error ). ENDTRY. ENDMETHOD. @@ -43,8 +45,9 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION. METHOD zif_abapgit_object~deserialize. - DATA: lr_data TYPE REF TO data, - lo_dcl TYPE REF TO object. + DATA: lr_data TYPE REF TO data, + lo_dcl TYPE REF TO object, + lx_error TYPE REF TO cx_root. FIELD-SYMBOLS: TYPE any, TYPE any. @@ -78,8 +81,9 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION. tadir_insert( iv_package ). - CATCH cx_root. - zcx_abapgit_exception=>raise( 'DCLS error' ). + CATCH cx_root INTO lx_error. + zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( ) + ix_previous = lx_error ). ENDTRY. zcl_abapgit_objects_activation=>add_item( ms_item ). @@ -89,7 +93,8 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION. METHOD zif_abapgit_object~exists. - DATA: lo_dcl TYPE REF TO object. + DATA: lo_dcl TYPE REF TO object, + lx_error TYPE REF TO cx_root. TRY. CALL METHOD ('CL_ACM_DCL_HANDLER_FACTORY')=>('CREATE') @@ -102,8 +107,9 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION. RECEIVING rv_exists = rv_bool. - CATCH cx_root. - rv_bool = abap_false. + CATCH cx_root INTO lx_error. + zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( ) + ix_previous = lx_error ). ENDTRY. ENDMETHOD. @@ -138,8 +144,9 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION. METHOD zif_abapgit_object~serialize. - DATA: lr_data TYPE REF TO data, - lo_dcl TYPE REF TO object. + DATA: lr_data TYPE REF TO data, + lo_dcl TYPE REF TO object, + lx_error TYPE REF TO cx_root. FIELD-SYMBOLS: TYPE any, TYPE any. @@ -189,8 +196,9 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION. io_xml->add( iv_name = 'DCLS' ig_data = ). - CATCH cx_root. - zcx_abapgit_exception=>raise( 'DCLS error' ). + CATCH cx_root INTO lx_error. + zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( ) + ix_previous = lx_error ). ENDTRY. ENDMETHOD. diff --git a/src/objects/zcl_abapgit_object_ddls.clas.abap b/src/objects/zcl_abapgit_object_ddls.clas.abap index df2643a55..d2fd3fd84 100644 --- a/src/objects/zcl_abapgit_object_ddls.clas.abap +++ b/src/objects/zcl_abapgit_object_ddls.clas.abap @@ -13,13 +13,14 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION. +CLASS zcl_abapgit_object_ddls IMPLEMENTATION. METHOD open_adt_stob. - DATA: lr_data TYPE REF TO data. - DATA: lo_ddl TYPE REF TO object. + DATA: lr_data TYPE REF TO data, + lo_ddl TYPE REF TO object, + lx_error TYPE REF TO cx_root. FIELD-SYMBOLS: TYPE STANDARD TABLE. FIELD-SYMBOLS: TYPE STANDARD TABLE. @@ -66,8 +67,9 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION. ENDIF. - CATCH cx_root. - zcx_abapgit_exception=>raise( 'DDLS Jump Error' ). + CATCH cx_root INTO lx_error. + zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( ) + ix_previous = lx_error ). ENDTRY. ENDMETHOD. @@ -76,7 +78,8 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION. METHOD zif_abapgit_object~changed_by. DATA: lo_ddl TYPE REF TO object, - lr_data TYPE REF TO data. + lr_data TYPE REF TO data, + lx_error TYPE REF TO cx_root. FIELD-SYMBOLS: TYPE any, TYPE any. @@ -102,7 +105,9 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION. IF sy-subrc = 0. rv_user = . ENDIF. - CATCH cx_root. + CATCH cx_root INTO lx_error. + zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( ) + ix_previous = lx_error ). ENDTRY. IF rv_user IS INITIAL. @@ -119,7 +124,8 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION. METHOD zif_abapgit_object~delete. - DATA: lo_ddl TYPE REF TO object. + DATA: lo_ddl TYPE REF TO object, + lx_error TYPE REF TO cx_root. CALL METHOD ('CL_DD_DDL_HANDLER_FACTORY')=>('CREATE') @@ -130,8 +136,9 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION. CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~DELETE') EXPORTING name = ms_item-obj_name. - CATCH cx_root. - zcx_abapgit_exception=>raise( 'DDLS error deleting' ). + CATCH cx_root INTO lx_error. + zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( ) + ix_previous = lx_error ). ENDTRY. ENDMETHOD. @@ -139,8 +146,9 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION. METHOD zif_abapgit_object~deserialize. - DATA: lo_ddl TYPE REF TO object, - lr_data TYPE REF TO data. + DATA: lo_ddl TYPE REF TO object, + lr_data TYPE REF TO data, + lx_error TYPE REF TO cx_root. FIELD-SYMBOLS: TYPE any, TYPE any. @@ -172,8 +180,10 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION. objectname = ms_item-obj_name devclass = iv_package prid = 0. - CATCH cx_root. - zcx_abapgit_exception=>raise( 'DDLS error writing TADIR' ). + + CATCH cx_root INTO lx_error. + zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( ) + ix_previous = lx_error ). ENDTRY. zcl_abapgit_objects_activation=>add_item( ms_item ). @@ -250,7 +260,8 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION. DATA: lo_ddl TYPE REF TO object, lr_data TYPE REF TO data, - lt_clr_comps TYPE STANDARD TABLE OF fieldname WITH DEFAULT KEY. + lt_clr_comps TYPE STANDARD TABLE OF fieldname WITH DEFAULT KEY, + lx_error TYPE REF TO cx_root. FIELD-SYMBOLS: TYPE any, TYPE any, @@ -271,8 +282,9 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION. get_state = 'A' IMPORTING ddddlsrcv_wa = . - CATCH cx_root. - zcx_abapgit_exception=>raise( 'DDLS error reading' ). + CATCH cx_root INTO lx_error. + zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( ) + ix_previous = lx_error ). ENDTRY. APPEND 'AS4USER' TO lt_clr_comps. diff --git a/src/objects/zcl_abapgit_object_ddlx.clas.abap b/src/objects/zcl_abapgit_object_ddlx.clas.abap index 6d96f3f10..83214a53d 100644 --- a/src/objects/zcl_abapgit_object_ddlx.clas.abap +++ b/src/objects/zcl_abapgit_object_ddlx.clas.abap @@ -80,6 +80,8 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION. METHOD get_persistence. + DATA: lx_error TYPE REF TO cx_root. + TRY. IF mo_persistence IS NOT BOUND. @@ -88,8 +90,9 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION. ENDIF. - CATCH cx_root. - zcx_abapgit_exception=>raise( `DDLX not supported` ). + CATCH cx_root INTO lx_error. + zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( ) + ix_previous = lx_error ). ENDTRY. ri_persistence = mo_persistence. @@ -111,7 +114,6 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION. DATA: lv_object_key TYPE seu_objkey, li_data_model TYPE REF TO if_wb_object_data_model, - lv_text TYPE string, lx_error TYPE REF TO cx_root. @@ -124,8 +126,8 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION. p_version = swbm_version_active ). CATCH cx_root INTO lx_error. - lv_text = lx_error->get_text( ). - zcx_abapgit_exception=>raise( lv_text ). + zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( ) + ix_previous = lx_error ). ENDTRY. ENDMETHOD. @@ -135,7 +137,6 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION. DATA: li_data_model TYPE REF TO if_wb_object_data_model, lr_data TYPE REF TO data, - lv_text TYPE string, lx_error TYPE REF TO cx_root. FIELD-SYMBOLS: TYPE any, @@ -170,8 +171,8 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION. get_persistence( )->save( li_data_model ). CATCH cx_root INTO lx_error. - lv_text = lx_error->get_text( ). - zcx_abapgit_exception=>raise( lv_text ). + zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( ) + ix_previous = lx_error ). ENDTRY. ENDMETHOD. @@ -208,6 +209,14 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION. ENDMETHOD. + METHOD zif_abapgit_object~is_locked. + + rv_is_locked = exists_a_lock_entry_for( iv_lock_object = 'ESDICT' + iv_argument = |{ ms_item-obj_type }{ ms_item-obj_name }| ). + + ENDMETHOD. + + METHOD zif_abapgit_object~jump. TRY. @@ -227,7 +236,6 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION. li_data_model TYPE REF TO if_wb_object_data_model, li_persistence TYPE REF TO if_wb_object_persist, lr_data TYPE REF TO data, - lv_text TYPE string, lx_error TYPE REF TO cx_root. FIELD-SYMBOLS: TYPE any, @@ -269,17 +277,9 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION. ig_data = ). CATCH cx_root INTO lx_error. - lv_text = lx_error->get_text( ). - zcx_abapgit_exception=>raise( lv_text ). + zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( ) + ix_previous = lx_error ). ENDTRY. ENDMETHOD. - - METHOD zif_abapgit_object~is_locked. - - rv_is_locked = exists_a_lock_entry_for( iv_lock_object = 'ESDICT' - iv_argument = |{ ms_item-obj_type }{ ms_item-obj_name }| ). - - ENDMETHOD. - ENDCLASS.