스크린도 1000번 밖에 없어서 pbo pbi도 정의되어있지 않습니다.
선택 초과해제, 선택 완료체크, 등등의 버튼을 사용자 아이디에 따라 보이고 안보이게 하고 싶은데
방법이 있을까요?
임의로 PF-STATUS를 정의해서 넣어봤는데도 안 먹습니다.
스크린도 1000번 밖에 없어서 pbo pbi도 정의되어있지 않습니다.
선택 초과해제, 선택 완료체크, 등등의 버튼을 사용자 아이디에 따라 보이고 안보이게 하고 싶은데
방법이 있을까요?
임의로 PF-STATUS를 정의해서 넣어봤는데도 안 먹습니다.
해당 프로그램이 1000번 스크린 밖에 없으면 기존 Function ALV 로 구현되어 있는 것 같습니다.
REUSE_ALV_GRID_DISPLAY 또는 REUSE_ALV_GRID_DISPLAY_LVC Function 을 사용하고 있을 것 같은데요.
IT_EVENTS 테이블에 임의로 생성한 FORM문을 PF_STATUS_SET 이벤트를 재정의하도록 넣어 주셔야 합니다.
DATA: LT_EVNT TYPE SLIS_ALV_EVENT OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = LT_EVNT[]
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2.
LOOP AT LT_EVNT.
CASE LT_EVNT-NAME.
WHEN 'PF_STATUS_SET'.
LT_EVNT-FORM = 'PF_STATUS_SET_RE'. <-- 재정의한 FORM 문
ENDCASE.
MODIFY LT_EVNT.
ENDLOOP.
"CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' 도 동일
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
IT_EVENTS = LT_EVNT[] <-- 재정의 이벤트
TABLES
T_OUTTAB = GT_DATA[]
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
*&---------------------------------------------------------------------*
*& Form PF_STATUS_SET_RE
*&---------------------------------------------------------------------*
FORM PF_STATUS_SET_RE USING PT_EXTAB TYPE SLIS_T_EXTAB.
APPEND 'ELIN' TO PT_EXTAB.
SET PF-STATUS 'STANDARD_FULLSCREEN' EXCLUDING PT_EXTAB.
ENDFORM.