본문 바로가기

Language/ABAP

[ABAP] Dynamic Selection Screen Function Key

프로그램을 개발하다 보면 하나의 프로그램에서 여러 개의 트랜잭션을 사용하는 경우가 있다.

이럴 때 T-CODE에 따라 Selection Screen의 Function Key를 다르게 보여주기도 한다.

 

엑셀 업로드 프로그램을 만든다 가정해 보자.

하나의 프로그램에 트랜잭션을 2개 만들어두고 Selection Screen에 Function Key를 2개 만든다.

Initialization Event에서 위에서 선언한 Function Key의 아이콘과 이름을 지정한다.

이를 실행해 보면

이렇게 두 가지 양식을 다운로드할 수 있는 아이콘이 생성된 것을 확인할 수 있다.

 

그렇다면 이렇게 생성된 아이콘을 T-CODE별로 해당하는 아이콘만 나타낼 수 있도록 한다면

SELECTION-SCREEN OUTPUT EVENT에서 아래와 같이 코드를 작성할 수 있다.

 

생성 T-CODE일 때에는 생성양식만 보이고,

 

변경 T-CODE일 때에는 변경양식만 보이는 것을 확인할 수 있다.

 

참고 데모 프로그램 : DEMO_SEL_SCREEN_STATUS

 

보너스로,,

INITIALIZATION EVENT에서 T-CODE에 따라 타이틀을 변경해 주면 1000번 스크린의 타이틀도 T-CODE에 따라 다르게 나타난다.