mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
DDLS, DCLS, DDLX: Improve Error handling
This commit is contained in:
parent
246b943b87
commit
2a11522598
|
@ -23,7 +23,8 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD zif_abapgit_object~delete.
|
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.
|
TRY.
|
||||||
CALL METHOD ('CL_ACM_DCL_HANDLER_FACTORY')=>('CREATE')
|
CALL METHOD ('CL_ACM_DCL_HANDLER_FACTORY')=>('CREATE')
|
||||||
|
@ -34,8 +35,9 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
|
||||||
EXPORTING
|
EXPORTING
|
||||||
iv_dclname = ms_item-obj_name.
|
iv_dclname = ms_item-obj_name.
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root INTO lx_error.
|
||||||
zcx_abapgit_exception=>raise( 'DCLS error' ).
|
zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( )
|
||||||
|
ix_previous = lx_error ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -43,8 +45,9 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD zif_abapgit_object~deserialize.
|
METHOD zif_abapgit_object~deserialize.
|
||||||
|
|
||||||
DATA: lr_data TYPE REF TO data,
|
DATA: lr_data TYPE REF TO data,
|
||||||
lo_dcl TYPE REF TO object.
|
lo_dcl TYPE REF TO object,
|
||||||
|
lx_error TYPE REF TO cx_root.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <lg_data> TYPE any,
|
FIELD-SYMBOLS: <lg_data> TYPE any,
|
||||||
<lg_field> TYPE any.
|
<lg_field> TYPE any.
|
||||||
|
@ -78,8 +81,9 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
|
||||||
|
|
||||||
tadir_insert( iv_package ).
|
tadir_insert( iv_package ).
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root INTO lx_error.
|
||||||
zcx_abapgit_exception=>raise( 'DCLS error' ).
|
zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( )
|
||||||
|
ix_previous = lx_error ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
zcl_abapgit_objects_activation=>add_item( ms_item ).
|
zcl_abapgit_objects_activation=>add_item( ms_item ).
|
||||||
|
@ -89,7 +93,8 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD zif_abapgit_object~exists.
|
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.
|
TRY.
|
||||||
CALL METHOD ('CL_ACM_DCL_HANDLER_FACTORY')=>('CREATE')
|
CALL METHOD ('CL_ACM_DCL_HANDLER_FACTORY')=>('CREATE')
|
||||||
|
@ -102,8 +107,9 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
|
||||||
RECEIVING
|
RECEIVING
|
||||||
rv_exists = rv_bool.
|
rv_exists = rv_bool.
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root INTO lx_error.
|
||||||
rv_bool = abap_false.
|
zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( )
|
||||||
|
ix_previous = lx_error ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -138,8 +144,9 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD zif_abapgit_object~serialize.
|
METHOD zif_abapgit_object~serialize.
|
||||||
|
|
||||||
DATA: lr_data TYPE REF TO data,
|
DATA: lr_data TYPE REF TO data,
|
||||||
lo_dcl TYPE REF TO object.
|
lo_dcl TYPE REF TO object,
|
||||||
|
lx_error TYPE REF TO cx_root.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <lg_data> TYPE any,
|
FIELD-SYMBOLS: <lg_data> TYPE any,
|
||||||
<lg_field> TYPE any.
|
<lg_field> TYPE any.
|
||||||
|
@ -189,8 +196,9 @@ CLASS zcl_abapgit_object_dcls IMPLEMENTATION.
|
||||||
io_xml->add( iv_name = 'DCLS'
|
io_xml->add( iv_name = 'DCLS'
|
||||||
ig_data = <lg_data> ).
|
ig_data = <lg_data> ).
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root INTO lx_error.
|
||||||
zcx_abapgit_exception=>raise( 'DCLS error' ).
|
zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( )
|
||||||
|
ix_previous = lx_error ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
|
@ -13,13 +13,14 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION.
|
CLASS zcl_abapgit_object_ddls IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD open_adt_stob.
|
METHOD open_adt_stob.
|
||||||
|
|
||||||
DATA: lr_data TYPE REF TO data.
|
DATA: lr_data TYPE REF TO data,
|
||||||
DATA: lo_ddl TYPE REF TO object.
|
lo_ddl TYPE REF TO object,
|
||||||
|
lx_error TYPE REF TO cx_root.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <lt_ddnames> TYPE STANDARD TABLE.
|
FIELD-SYMBOLS: <lt_ddnames> TYPE STANDARD TABLE.
|
||||||
FIELD-SYMBOLS: <lt_entity_view> TYPE STANDARD TABLE.
|
FIELD-SYMBOLS: <lt_entity_view> TYPE STANDARD TABLE.
|
||||||
|
@ -66,8 +67,9 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION.
|
||||||
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root INTO lx_error.
|
||||||
zcx_abapgit_exception=>raise( 'DDLS Jump Error' ).
|
zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( )
|
||||||
|
ix_previous = lx_error ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -76,7 +78,8 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION.
|
||||||
METHOD zif_abapgit_object~changed_by.
|
METHOD zif_abapgit_object~changed_by.
|
||||||
|
|
||||||
DATA: lo_ddl TYPE REF TO object,
|
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: <lg_data> TYPE any,
|
FIELD-SYMBOLS: <lg_data> TYPE any,
|
||||||
<lg_field> TYPE any.
|
<lg_field> TYPE any.
|
||||||
|
@ -102,7 +105,9 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION.
|
||||||
IF sy-subrc = 0.
|
IF sy-subrc = 0.
|
||||||
rv_user = <lg_field>.
|
rv_user = <lg_field>.
|
||||||
ENDIF.
|
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.
|
ENDTRY.
|
||||||
|
|
||||||
IF rv_user IS INITIAL.
|
IF rv_user IS INITIAL.
|
||||||
|
@ -119,7 +124,8 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD zif_abapgit_object~delete.
|
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')
|
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')
|
CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~DELETE')
|
||||||
EXPORTING
|
EXPORTING
|
||||||
name = ms_item-obj_name.
|
name = ms_item-obj_name.
|
||||||
CATCH cx_root.
|
CATCH cx_root INTO lx_error.
|
||||||
zcx_abapgit_exception=>raise( 'DDLS error deleting' ).
|
zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( )
|
||||||
|
ix_previous = lx_error ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -139,8 +146,9 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD zif_abapgit_object~deserialize.
|
METHOD zif_abapgit_object~deserialize.
|
||||||
|
|
||||||
DATA: lo_ddl TYPE REF TO object,
|
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: <lg_data> TYPE any,
|
FIELD-SYMBOLS: <lg_data> TYPE any,
|
||||||
<lg_field> TYPE any.
|
<lg_field> TYPE any.
|
||||||
|
@ -172,8 +180,10 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION.
|
||||||
objectname = ms_item-obj_name
|
objectname = ms_item-obj_name
|
||||||
devclass = iv_package
|
devclass = iv_package
|
||||||
prid = 0.
|
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.
|
ENDTRY.
|
||||||
|
|
||||||
zcl_abapgit_objects_activation=>add_item( ms_item ).
|
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,
|
DATA: lo_ddl TYPE REF TO object,
|
||||||
lr_data TYPE REF TO data,
|
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: <lg_data> TYPE any,
|
FIELD-SYMBOLS: <lg_data> TYPE any,
|
||||||
<lg_field> TYPE any,
|
<lg_field> TYPE any,
|
||||||
|
@ -271,8 +282,9 @@ CLASS ZCL_ABAPGIT_OBJECT_DDLS IMPLEMENTATION.
|
||||||
get_state = 'A'
|
get_state = 'A'
|
||||||
IMPORTING
|
IMPORTING
|
||||||
ddddlsrcv_wa = <lg_data>.
|
ddddlsrcv_wa = <lg_data>.
|
||||||
CATCH cx_root.
|
CATCH cx_root INTO lx_error.
|
||||||
zcx_abapgit_exception=>raise( 'DDLS error reading' ).
|
zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( )
|
||||||
|
ix_previous = lx_error ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
APPEND 'AS4USER' TO lt_clr_comps.
|
APPEND 'AS4USER' TO lt_clr_comps.
|
||||||
|
|
|
@ -80,6 +80,8 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD get_persistence.
|
METHOD get_persistence.
|
||||||
|
|
||||||
|
DATA: lx_error TYPE REF TO cx_root.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
IF mo_persistence IS NOT BOUND.
|
IF mo_persistence IS NOT BOUND.
|
||||||
|
|
||||||
|
@ -88,8 +90,9 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
|
||||||
|
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
CATCH cx_root.
|
CATCH cx_root INTO lx_error.
|
||||||
zcx_abapgit_exception=>raise( `DDLX not supported` ).
|
zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( )
|
||||||
|
ix_previous = lx_error ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ri_persistence = mo_persistence.
|
ri_persistence = mo_persistence.
|
||||||
|
@ -111,7 +114,6 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
|
||||||
|
|
||||||
DATA: lv_object_key TYPE seu_objkey,
|
DATA: lv_object_key TYPE seu_objkey,
|
||||||
li_data_model TYPE REF TO if_wb_object_data_model,
|
li_data_model TYPE REF TO if_wb_object_data_model,
|
||||||
lv_text TYPE string,
|
|
||||||
lx_error TYPE REF TO cx_root.
|
lx_error TYPE REF TO cx_root.
|
||||||
|
|
||||||
|
|
||||||
|
@ -124,8 +126,8 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
|
||||||
p_version = swbm_version_active ).
|
p_version = swbm_version_active ).
|
||||||
|
|
||||||
CATCH cx_root INTO lx_error.
|
CATCH cx_root INTO lx_error.
|
||||||
lv_text = lx_error->get_text( ).
|
zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( )
|
||||||
zcx_abapgit_exception=>raise( lv_text ).
|
ix_previous = lx_error ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -135,7 +137,6 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
|
||||||
|
|
||||||
DATA: li_data_model TYPE REF TO if_wb_object_data_model,
|
DATA: li_data_model TYPE REF TO if_wb_object_data_model,
|
||||||
lr_data TYPE REF TO data,
|
lr_data TYPE REF TO data,
|
||||||
lv_text TYPE string,
|
|
||||||
lx_error TYPE REF TO cx_root.
|
lx_error TYPE REF TO cx_root.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <lg_data> TYPE any,
|
FIELD-SYMBOLS: <lg_data> TYPE any,
|
||||||
|
@ -170,8 +171,8 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
|
||||||
get_persistence( )->save( li_data_model ).
|
get_persistence( )->save( li_data_model ).
|
||||||
|
|
||||||
CATCH cx_root INTO lx_error.
|
CATCH cx_root INTO lx_error.
|
||||||
lv_text = lx_error->get_text( ).
|
zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( )
|
||||||
zcx_abapgit_exception=>raise( lv_text ).
|
ix_previous = lx_error ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -208,6 +209,14 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
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.
|
METHOD zif_abapgit_object~jump.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
@ -227,7 +236,6 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
|
||||||
li_data_model TYPE REF TO if_wb_object_data_model,
|
li_data_model TYPE REF TO if_wb_object_data_model,
|
||||||
li_persistence TYPE REF TO if_wb_object_persist,
|
li_persistence TYPE REF TO if_wb_object_persist,
|
||||||
lr_data TYPE REF TO data,
|
lr_data TYPE REF TO data,
|
||||||
lv_text TYPE string,
|
|
||||||
lx_error TYPE REF TO cx_root.
|
lx_error TYPE REF TO cx_root.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <lg_data> TYPE any,
|
FIELD-SYMBOLS: <lg_data> TYPE any,
|
||||||
|
@ -269,17 +277,9 @@ CLASS zcl_abapgit_object_ddlx IMPLEMENTATION.
|
||||||
ig_data = <lg_data> ).
|
ig_data = <lg_data> ).
|
||||||
|
|
||||||
CATCH cx_root INTO lx_error.
|
CATCH cx_root INTO lx_error.
|
||||||
lv_text = lx_error->get_text( ).
|
zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( )
|
||||||
zcx_abapgit_exception=>raise( lv_text ).
|
ix_previous = lx_error ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
ENDMETHOD.
|
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.
|
ENDCLASS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user