SAP/Function

Call Transaction 권한 체크

그녀는애교쟁이 2014. 7. 29. 13:31
반응형

  Call Transaction 은 프로그램 상에서 tcode를 호출하는데 많이 사용된다. 그런데 이게 문제가 있는게 시스템상에 권한을 등록해도 프로그램 실행 권한이 있다면 그냥 무시하고 tcode 를 실행해버리는 단점이 있다. 그래서 Call Transaction 에 권한 체크 기능이 필요하다면 아래와 같은 Standard Function 을 사용하면 된다.





FORM call_transaction  USING    tcode.

  DATA : l_tcode  LIKE  tstc-tcode.

  CLEAR l_tcode.

  l_tcode = tcode.

  CALL FUNCTION 'AUTHORITY_CHECK_TCODE'
    EXPORTING
      tcode  = l_tcode
    EXCEPTIONS
      ok     = 1
      not_ok = 2
      OTHERS = 3.

  IF sy-subrc <> 0.
    IF sy-subrc EQ 1.
      CALL TRANSACTION l_tcode.
    ELSE.
      MESSAGE s000 DISPLAY LIKE 'E' WITH text-e00. " Error
    ENDIF.
  ENDIF.

ENDFORM.                    " CALL_TRANSACTION



Authority_check_tcode 로 권한을 체크 한다음 거기에 나오는 sy-subrc 의 값을 가지고 구분하여 Call Transaction 을 실행하면 되겠다.


- 끗 -