anchor.diff:          tadir_insert( iv_package ).
   
         CATCH cx_root INTO lx_error.
  -        lv_text = lx_error->get_text( ).
  -        zcx_abapgit_exception=>raise( lv_text ).
  +        zcx_abapgit_exception=>raise_with_text( lx_error ).
       ENDTRY.
   
     ENDMETHOD.
  
positive.code:     DATA: li_object_data  TYPE REF TO if_wb_object_data_model,
            li_srfc_persist TYPE REF TO if_wb_object_persist,
            lr_srfc_data    TYPE REF TO data,
            lx_error        TYPE REF TO cx_root,
            lv_text         TYPE string.
  
      FIELD-SYMBOLS: <lg_srfc_data> TYPE any,
                     <lg_any>       TYPE any.
  
  
      TRY.
          CREATE DATA lr_srfc_data TYPE ('UCONRFCSERV_COMPLETE').
  
negative.code: CLASS zcl_abapgit_object_srfc IMPLEMENTATION.
  
  
    METHOD constructor.
  
      DATA li_srfc_persist TYPE REF TO if_wb_object_persist.
  
      super->constructor(
        is_item     = is_item
        iv_language = iv_language ).
  
      TRY.
          CREATE OBJECT li_srfc_persist TYPE ('CL_UCONRFC_OBJECT_PERSIST').
        CATCH cx_root.
          zcx_abapgit_exception=>raise( 'Object type SRFC is not supported by this system' ).
      ENDTRY.
  
    ENDMETHOD.
  
  
    METHOD zif_abapgit_object~changed_by.
  
      DATA: li_object_data  TYPE REF TO if_wb_object_data_model,
            li_srfc_persist TYPE REF TO if_wb_object_persist,
            lr_srfc_data    TYPE REF TO data,
            lx_error        TYPE REF TO cx_root.
  
      FIELD-SYMBOLS: <lg_srfc_data> TYPE any,
                     <lg_any>       TYPE any.
  
      TRY.
          CREATE DATA lr_srfc_data TYPE ('UCONRFCSERV_COMPLETE').
          ASSIGN lr_srfc_data->* TO <lg_srfc_data>.
          ASSERT sy-subrc = 0.
  
          CREATE OBJECT li_srfc_persist TYPE ('CL_UCONRFC_OBJECT_PERSIST').
  
          li_srfc_persist->get(
            EXPORTING
              p_object_key  = |{ ms_item-obj_name }|
              p_version     = 'A'
            CHANGING
              p_object_data = li_object_data ).
  
          li_object_data->get_data( IMPORTING p_data = <lg_srfc_data> ).
  
          ASSIGN COMPONENT 'HEADER-CHANGEDBY' OF STRUCTURE <lg_srfc_data> TO <lg_any>.
          IF sy-subrc = 0 AND <lg_any> IS NOT INITIAL.
            rv_user = <lg_any>.
          ELSE.
            rv_user = c_user_unknown.
          ENDIF.
  
        CATCH cx_root INTO lx_error.
          zcx_abapgit_exception=>raise_with_text( lx_error ).
      ENDTRY.
  
    ENDMETHOD.
  
  
    METHOD zif_abapgit_object~delete.
  
      DATA: li_srfc_persist TYPE REF TO if_wb_object_persist,
            lx_error        TYPE REF TO cx_root.
  
      TRY.
          CREATE OBJECT li_srfc_persist TYPE ('CL_UCONRFC_OBJECT_PERSIST').
  
          li_srfc_persist->delete( p_object_key = |{ ms_item-obj_name }|
                                   p_version    = 'A' ).
  
        CATCH cx_root INTO lx_error.
          zcx_abapgit_exception=>raise_with_text( lx_error ).
      ENDTRY.
  
    ENDMETHOD.
  
  
    METHOD zif_abapgit_object~deserialize.
  
      DATA: li_srfc_persist TYPE REF TO if_wb_object_persist,
            li_object_data  TYPE REF TO if_wb_object_data_model,
            lr_srfc_data    TYPE REF TO data,
            lx_error        TYPE REF TO cx_root.
  
      FIELD-SYMBOLS: <lg_srfc_data> TYPE any,
                     <lg_any>       TYPE any.
  
      TRY.
          CREATE DATA lr_srfc_data TYPE ('UCONRFCSERV_COMPLETE').
          ASSIGN lr_srfc_data->* TO <lg_srfc_data>.
          ASSERT sy-subrc = 0.
  
          ASSIGN COMPONENT 'HEADER-CREATEDBY' OF STRUCTURE <lg_srfc_data> TO <lg_any>.
          IF sy-subrc = 0.
            <lg_any> = sy-uname.
  