상황 : 라디오 버튼에 따라 조회화면, 업로드 화면이 보여진다.
조회 화면에는 REFH버튼을, 업로드 화면에는 SAVE 버튼을 나누어
보여지고 싶다.
MODULE SET_STATUS_0100 OUTPUT.
DATA : LT_FCODE TYPE TABLE OF SY-UCOMM,
LV_TTEXT TYPE CUA_TIT_TX.
CLEAR : LV_TTEXT, LT_FCODE.
IF TEXT-H01 IS INITIAL ##TEXT_POOL .
PERFORM READ_PROG_DESC USING SY-CPROG
CHANGING LV_TTEXT.
ELSE.
LV_TTEXT = TEXT-H01 ##TEXT_POOL.
ENDIF.
IF P_SEARCH = 'X'.
APPEND 'SAVE' TO LT_FCODE.
ELSEIF P_UPLOAD = 'X'.
APPEND 'REFH' TO LT_FCODE.
ENDIF.
SET PF-STATUS 'S0100' EXCLUDING LT_FCODE[].
SET TITLEBAR 'T0100' WITH LV_TTEXT.
ENDMODULE.
이 화면은 PBO 화면이다. (화면이 로드될 때 실행되는 이벤트)
'LT_FCODE'는 기능 코드(Function Code)를 저장할 내부 테이블
화면에서 제외할 버튼을 지정하는데 사용
'LV_TTEXT'는 제목 텍스트를 저장할 변수
CLEAR 초기화를 하는 이유는 이전 데이터가 남아 있지 않도록 하기 위함
'TEXT-H01'이 비어 있는지 확인 이후 READ_PROG_DESC 폼을 호출하여 SY-CPROG 프로그램의 설명을 읽고, 이를 LV_TTEXT에 저장
##TEXT_POOL 주석은 프로그램에서 메시지 클래스를 사용한다는 의미