SAP 사용할 수 있는 권한이 없는 트랜잭션(T-code) 실행 방법 2가지

SAP 시스템에는 수 많은 트랜잭션코드가 존재합니다.

SAP 시스템의 모든 업무 처리는 이 트랜잭션코드를 실행해서 작업하게 됩니다.
트랜잭션코드는 SAP 시스템의 프로그램을 실행하는 명령어 입니다.

SAP 사용자는 자신의 업무에 맞게 트랜잭션코드에 대한 권한을 부여 받아 사용하게 됩니다.

영업(SD), 생산(PP), 구매(MM), 회계(FI,CO) 등 담당 업무에 따라 관련 된 트랜잭션코드에 대한 권한을 부여 받고, 반대로 업무와 연관성이 없는 트랜잭션코드는 권한을 주지 않음으로써 불필요한 사용자가 잘못 된 트랜잭션을 처리하는 오류를 예방할 수 있게 됩니다.

간혹 업무를 하다 보면 권한이 없는 트랜잭션을 실행해야 할 경우가 생깁니다.
이럴 경우 권한 관리 담당자에게 요청해서 권한을 부여 받아야 하는데, 회사 정책 상 권한 요청 및 부여를 까다롭게 관리하는 곳이 많습니다.

이럴 경우 약간의 우회 방법으로 권한이 없는 트랜잭션코드를 실행하는 방법이 있습니다.

SAP 사용할 수 있는 권한이 없는 트랜잭션(T-code) 실행 방법 2가지에 대해 알아보겠습니다.

두 가지 방법 모두 Function 모듈을 사용하는 방법입니다. 따라서 최소한 SE37(Function Builder) 권한은 가지고 있어야 사용 가능한 방법입니다.

▼ 아래 화면은 권한이 없는 트랜잭션을 실행했을 때 나타나는 오류 메시지 입니다.

  • You are not authorized to use transaction xxxx
  • 트랜잭션 xxxx을(를) 사용할 수 있는 권한이 없습니다.
SAP 사용할 수 있는 권한이 없는 트랜잭션(T-code) 실행 방법

SAP 권한이 없는 트랜잭션 실행 방법 1 – RS_HDSYS_CALL_TC_VARIANT

▶ SAP에서 권한이 없는 트랜잭션코드(T-code)를 실행하는 방법 중에 Function 모듈 ‘RS_HDSYS_CALL_TC_VARIANT‘를 사용하여 트랜잭션코드를 실행하는 방법입니다.

1. Function 모듈을 사용하기 위해 먼저 트랜잭션코드 SE37(Function Builder) 화면을 엽니다.

2. Function Module에 ‘RS_HDSYS_CALL_TC_VARIANT‘ 입력하고 실행 버튼을 클릭해서 Function 모듈을 실행합니다.

SAP 사용할 수 있는 권한이 없는 트랜잭션(T-code) 실행 방법 2가지 1

3. 권한이 없는 트랜잭션코드를 매개변수 TCODE에 입력합니다. 여기서는 테스트로 ‘RZ11’ 트랜잭션코드를 입력하였습니다.

4. 매개변수 AUTHORITY_CHECK값에 ‘X’를 지우고 공백으로 만듭니다.
‘X’ 값을 지움으로 해서 권한 체크를 하지 않고 TCODE가 실행됩니다.

5. 이 상태에서 실행 버튼을 클릭합니다. 이게 끝입니다.

SAP 사용할 수 있는 권한이 없는 트랜잭션(T-code) 실행 방법 2가지 2

6. RZ11에 대한 권한이 없음에도 불구하고 트랜잭션이 잘 실행되는 것을 확인할 수 있습니다.

SAP 사용할 수 있는 권한이 없는 트랜잭션(T-code) 실행 방법 2가지 3

SAP 권한이 없는 트랜잭션 실행 방법 1 – C14Z_TRANSACTION_CALL

▶ SAP에서 권한이 없는 트랜잭션코드(T-code)를 실행하는 방법 중에 Function 모듈 ‘C14Z_TRANSACTION_CALL‘를 사용하여 트랜잭션코드를 실행하는 방법입니다.

1. Function 모듈을 사용하기 위해 먼저 트랜잭션코드 SE37(Function Builder) 화면을 엽니다.

2. Function Module에 ‘C14Z_TRANSACTION_CALL‘ 입력하고 ‘Display‘ 버튼을 클릭해서 Function 모듈의 소스를 조회 모드로 진입합니다.

SAP 사용할 수 있는 권한이 없는 트랜잭션(T-code) 실행 방법 2가지 4

3. 아래 보이는 화면과 같이 44번 라인세션 중단점(Breakpoint)을 설정합니다.

4. 중단점을 설정했다면 ②번 실행(F8) 버튼을 클릭합니다. 그럼 Function 모듈이 실행됩니다.

SAP 사용할 수 있는 권한이 없는 트랜잭션(T-code) 실행 방법 2가지 5

5. ①번의 매개변수 I_TCODE 에 권한이 없는 트랜잭션코드를 입력합니다. 여기서는 테스트로 ‘RZ11’ 트랜잭션코드를 입력하였습니다.

6. ②번의 실행 버튼을 클릭합니다.

SAP 사용할 수 있는 권한이 없는 트랜잭션(T-code) 실행 방법 2가지 6

7. Function 모듈이 실행되다가 앞에서 설정한 중단점에서 실행이 멈추고 Debugger Session이 열리게 됩니다.

8. 44번 라인의 SY-SUBRC를 두 번 클릭해 줍니다. 그럼 아래 Variable의 Val.2가 표시되는 것을 볼 수 있습니다.

  • AUTHORITY_CHECK_TCODE‘는 매개변수로 입력 받은 트랜잭션에 대한 권한이 있는지 체크하는 Function 입니다.
  • 권한이 있는 경우 SY-SUBRC에 1 값이 들어오고, 권한이 없는 경우 SY-SUBRC에 2 값이 들어옵니다.

9. Val. 값을 변경하기 위해 ②번으로 표시된 Change 버튼을 클릭합니다.

SAP 사용할 수 있는 권한이 없는 트랜잭션(T-code) 실행 방법 2가지 7

10. Val. 값을 1로 입력하고 엔터(Enter)를 눌러 SY-SUBRC 값을 1로 변경합니다.

SAP 사용할 수 있는 권한이 없는 트랜잭션(T-code) 실행 방법 2가지 8

11. SY-SUBRC 값을 1로 변경했다면 이제 Function 모듈을 계속 실행하면 됩니다. F8를 눌러 계속 실행하면 됩니다.

12. 그럼 권한이 없는 트랜잭션이 실행되는 것을 확인할 수 있습니다.

마무리

사실 권한이 없는 트랜잭션은 이용하지 않는 것이 제일 좋습니다.
굳이 방법을 우회하면서까지 트랜잭션을 실행하는 것은 결코 좋은 방법이 아닙니다.
꼭 필요한 트랜잭션은 정상적인 절차를 통해 권한을 요청하고 부여 받아 사용하는 것을 권해드립니다.

여기서 설명한 두 가지 방법 모두 ‘SE37‘이라는 Function Builder에 대한 권한이 있어야 가능한 작업입니다.
SE37은 주로 ABAP 개발자에게만 권한이 부여되는 트랜잭션코드이기에 일반 사용자에는 권한이 없을 가능성이 높습니다.

하지만 이런 방법으로 권한이 없는 트랜잭션을 실행할 수 있다는 것을 알고 있는 것도 나중에 도움이 되리라 생각됩니다.





이 글이 도움이 되었기를 바랍니다. ^-^
댓글로 흔적을 남겨 주세요.

답글 남기기