SM30 维护自定义表权限限制

http://blog.chinaunix.net/uid-8527621-id-2030150.html

 

FORM form_25.
  DATA: actvt(2) TYPE c,
        wa_vim TYPE vimsellist.
 
  CHECK <vim_auth_sellist>IS ASSIGNED.
  READ TABLE <vim_auth_sellist>INTO wa_vim WITH KEY ('VIEWFIELD') = 'EKORG'.
  CHECK sy-subrc = 0.
 
  CASE vim_auth_action.
    WHEN 'U'.
      actvt = '01'.
    WHEN OTHERS.
      actvt = '03'.
  ENDCASE.
 
  AUTHORITY-CHECK OBJECT 'M_BEST_EKO'
          ID 'ACTVT' FIELD actvt
          ID 'EKORG' FIELD wa_vim-value.
 
  vim_auth_rc = 0 .
  vim_auth_msgid = 'OO'.
  vim_auth_msgno = 000 .
 
  CASE sy-subrc.
    WHEN 0.
    WHEN 4.
      AUTHORITY-CHECK OBJECT 'M_BEST_EKO'
              ID 'ACTVT' FIELD '03'
              ID 'EKORG' FIELD wa_vim-value.
      IF sy-subrc = 0.
        CONCATENATE '對採購組織' wa_vim-value '只有顯示的權限!' INTO vim_auth_msgv1 .
        vim_auth_rc = 4.
      ELSE.
        CONCATENATE '沒有對採購組織' wa_vim-value '的權限!' INTO vim_auth_msgv1 .
        vim_auth_rc = 8.
      ENDIF.
    WHEN OTHERS.
      CONCATENATE '沒有對採購組織' wa_vim-value '的權限!' INTO vim_auth_msgv1 .
      vim_auth_rc = 8.
  ENDCASE.
ENDFORM.                                                    "form_25
posted @ 2017-11-15 13:58  以成Ronny  阅读(1416)  评论(0)    收藏  举报