SAP/ABAP

ABAP Report 프로그램 실행시 Tcode 체크

그녀는애교쟁이 2014. 11. 17. 17:17
반응형

Report 프로그램을 개발하다 보면 SE38 이나 SE80 등으로 Report를 실행 할 수 있다. 물론 사용자들에게는 SE38, SE80 권한을 잘 안주기 때문에 실행할 일이 별로 없긴하지만 그래도 레포트 프로그램 하나에 두개의 Tcode 를 줘서 구분하여 만든 프로그램에서는 Tcode로 만 실행하게 하는 방법이 필요하다. 


의외로 간단하게 적용이 가능하다. Report 프로그램 실행하면 제일 먼저 실행되는 Initialization 부분에 SY-TCODE 를 체크하여 원하는 Tcode 가 아닐 경우 프로그램을 종료하면 된다. ( 메시지 추가도 가능하다.) 아래 코드 중에 Leave Program 을 사용하면 프로그램이 실행은 되지만 1000번 화면으로 가지 못하고 메시지가 출력되면서 종료된다.


*&---------------------------------------------------------------------*
INITIALIZATION.
*&---------------------------------------------------------------------*
  IF SY-TCODE NE 'zfir0001' AND SY-TCODE NE 'zfir0002'.
    MESSAGE S000 DISPLAY LIKE 'E' WITH TEXT-E03. " TEXT-E03 : Tcode로 실행하시기 바랍니다.
    LEAVE PROGRAM.
  ENDIF.




SE38 에서 Report 실행시 메시지가 출력되며 프로그램이 종료된다.