anchor.diff:          canceled_in_corr        = 10
           undefined_error         = 11
           OTHERS                  = 12.
  -    IF sy-subrc <> 0 AND sy-subrc <> 1 AND sy-subrc <> 3.
  -* todo, change description
  -      zcx_abapgit_exception=>raise( |error from RS_FUNCTION_POOL_INSERT, code: { sy-subrc }| ).
  -    ENDIF.
  +
  +    CASE sy-subrc.
  +      WHEN 0.
  +        " Everything is ok
  +      WHEN 1 OR 3.
  +        " If the function group exists we need to manually update the short text
  +        update_func_group_short_text( iv_group      = lv_group
  +                                      iv_short_text = lv_stext ).
  +      WHEN OTHERS.
  +        zcx_abapgit_exception=>raise( |error from RS_FUNCTION_POOL_INSERT, code: { sy-subrc }| ).
  +    ENDCASE.
   
     ENDMETHOD.                    "deserialize_xml
   
  
positive.code:         zcx_abapgit_exception .
      METHODS get_abap_version
        IMPORTING
          !io_xml                TYPE REF TO zcl_abapgit_xml_input
        RETURNING
          VALUE(rv_abap_version) TYPE progdir-uccheck
        RAISING
          zcx_abapgit_exception .
  ENDCLASS.
  
  
  
  CLASS ZCL_ABAPGIT_OBJECT_FUGR IMPLEMENTATION.
  
  
    METHOD are_exceptions_class_based.
  
negative.code:     ENDIF.
  
    ENDMETHOD.                    "serialize
  
    METHOD update_func_group_short_text.
  
      " We update the short text directly.
      " SE80 does the same in
      "   Program SAPLSEUF / LSEUFF07
      "   FORM GROUP_CHANGE
  
      UPDATE tlibt SET areat = iv_short_text
                   WHERE spras = sy-langu
                   AND   area  = iv_group.
  
    ENDMETHOD.
  
  ENDCLASS.
  