anchor.diff:      serialize_texts( io_xml ).
   
     ENDMETHOD.
  +
  +  METHOD delete_msgid.
  +
  +    delete_documentation( iv_message_id ).
  +
  +    DELETE FROM t100a WHERE arbgb = iv_message_id.
  +    IF sy-subrc = 0 OR sy-subrc = 4.
  +      CALL FUNCTION 'RS_TREE_OBJECT_PLACEMENT'
  +        EXPORTING
  +          object    = iv_message_id
  +          operation = 'DELETE'
  +          program   = space
  +          type      = 'CN'.
  +      DELETE FROM t100o WHERE arbgb = iv_message_id.
  +      DELETE FROM t100t WHERE arbgb = iv_message_id.    "#EC CI_NOFIRST
  +      DELETE FROM t100u WHERE arbgb = iv_message_id.
  +      DELETE FROM t100x WHERE arbgb = iv_message_id.
  +      DELETE FROM t100 WHERE arbgb = iv_message_id.
  +    ENDIF.
  +
  +
  +  ENDMETHOD.
  +
  +
  +  METHOD free_access_permission.
  +    CALL FUNCTION 'RS_ACCESS_PERMISSION'
  +      EXPORTING
  +        mode         = 'FREE'
  +        object       = i_message_id
  +        object_class = 'T100'.
  +  ENDMETHOD.
  +
  +
  +  METHOD delete_documentation.
  +    DATA: lv_key_s TYPE dokhl-object.
  +
  +    CLEAR lv_key_s.
  +    CALL FUNCTION 'DOCU_OBJECT_NAME_CONCATENATE'
  +      EXPORTING
  +        docu_id  = 'NA'
  +        element  = iv_message_id
  +        addition = '   '
  +      IMPORTING
  +        object   = lv_key_s
  +      EXCEPTIONS
  +        OTHERS   = 0.
  +
  +    CALL FUNCTION 'DOKU_DELETE_ALL'
  +      EXPORTING
  +        doku_id                        = 'NA'
  +        doku_object                    = lv_key_s
  +        generic_use                    = 'X'
  +        suppress_authority             = space
  +        suppress_enqueue               = space
  +        suppress_transport             = space
  +      EXCEPTIONS
  +        header_without_text            = 01
  +        index_without_header           = 02
  +        no_authority_for_devclass_xxxx = 03
  +        no_docu_found                  = 04
  +        object_is_already_enqueued     = 05
  +        object_is_enqueued_by_corr     = 06
  +        user_break                     = 07.
  +
  +  ENDMETHOD.
  +
   ENDCLASS.
  
positive.code:       serialize_longtexts_msag
          IMPORTING it_t100 TYPE zcl_abapgit_object_msag=>tty_t100
                    io_xml  TYPE REF TO zcl_abapgit_xml_output
          RAISING   zcx_abapgit_exception.
  
  ENDCLASS.
  
  
  
  CLASS ZCL_ABAPGIT_OBJECT_MSAG IMPLEMENTATION.
  
  
    METHOD deserialize_texts.
  
negative.code: 
  
    METHOD zif_abapgit_object~delete.
      DATA: lv_t100a          TYPE t100a,
            lv_frozen         TYPE flag,
            lv_message_id     TYPE arbgb,
            lv_access_granted TYPE abap_bool.
  
  * parameter SUPPRESS_DIALOG doesnt exist in all versions of FM RS_DELETE_MESSAGE_ID
  * replaced with a copy
      lv_message_id = ms_item-obj_name.
      IF ms_item-obj_name EQ space.
        zcx_abapgit_exception=>raise( 'Error from (copy of) RS_DELETE_MESSAGE_ID' )."blank message id
      ENDIF.
  
      SELECT SINGLE * FROM t100a INTO lv_t100a WHERE arbgb = ms_item-obj_name.
      IF sy-subrc NE 0.
        zcx_abapgit_exception=>raise( 'Error from (copy of) RS_DELETE_MESSAGE_ID' )."not found
      ENDIF.
  
      CLEAR lv_frozen.
      CALL FUNCTION 'RS_ACCESS_PERMISSION'
        EXPORTING
          authority_check = 'X'
          global_lock     = 'X'
          mode            = 'MODIFY'
          object          = lv_message_id
          object_class    = 'T100'
        IMPORTING
          frozen          = lv_frozen
        EXCEPTIONS
          OTHERS          = 1.
  
      IF sy-subrc NE 0 OR lv_frozen NE space.
        zcx_abapgit_exception=>raise( 'Error from (copy of) RS_DELETE_MESSAGE_ID' )."can't access
      ENDIF.
  
      lv_access_granted = abap_true.
  
      CALL FUNCTION 'RS_CORR_INSERT'
        EXPORTING
          global_lock        = 'X'
          object             = lv_message_id
          object_class       = 'MSAG'
          mode               = 'D'
        EXCEPTIONS
          cancelled          = 01
          permission_failure = 02.
  
      IF sy-subrc NE 0.
        IF lv_access_granted = abap_true.
          free_access_permission( lv_message_id ).
        ENDIF.
        zcx_abapgit_exception=>raise( 'Error from (copy of) RS_DELETE_MESSAGE_ID' )."can't access
      ENDIF.
  
      delete_msgid( lv_message_id ).
  
      IF lv_access_granted = abap_true.
        free_access_permission( lv_message_id ).
      ENDIF.
  
    ENDMETHOD.
  