anchor.diff:              type      = 'CR'.
         ENDIF.
       ELSE.
  +      unlock( lv_paramid ).
         zcx_abapgit_exception=>raise_t100( ).
       ENDIF.
   
  -    CALL FUNCTION 'RS_ACCESS_PERMISSION'
  -      EXPORTING
  -        mode         = 'FREE'
  -        object       = lv_paramid
  -        object_class = 'PARA'.
  +    unlock( lv_paramid ).
   
     ENDMETHOD.
   
  
positive.code:     SELECT COUNT(*) FROM cross
        WHERE ( type = 'P' OR type = 'Q' ) AND name = lv_paramid.
      IF sy-subrc = 0.
        zcx_abapgit_exception=>raise( 'PARA: Parameter is still used' ).
      ELSE.
        SELECT COUNT(*) FROM dd04l BYPASSING BUFFER
          WHERE memoryid = lv_paramid
          AND as4local = 'A'.
        IF sy-subrc = 0.
          zcx_abapgit_exception=>raise( 'PARA: Parameter is still used' ).
        ENDIF.
      ENDIF.
  
negative.code: 
    PROTECTED SECTION.
    PRIVATE SECTION.
  
      METHODS unlock
        IMPORTING
          !iv_paramid TYPE memoryid .
  ENDCLASS.
  
  
  
  CLASS zcl_abapgit_object_para IMPLEMENTATION.
  
  
    METHOD unlock.
  
      CALL FUNCTION 'RS_ACCESS_PERMISSION'
        EXPORTING
          mode         = 'FREE'
          object       = iv_paramid
          object_class = 'PARA'.
  
    ENDMETHOD.
  
  
    METHOD zif_abapgit_object~changed_by.
  