안녕하세요~
오늘도 문의글 올립니다~
ALV GRID에서 이벤트로 버튼을 추가하였습니다..
이 버튼을 비활성 시킬수있나요?
예를들어서..
버튼을 " 수정 " / " 저장 " 이렇게 2개 추가를 하고
첨에 조회햇을때는 " 수정 " 버튼은 활성
" 저장 " 버튼은 비활성
수정버튼을 누른 후 " 수정 " " 저장 " 모두 활성
가능 할까요? 가능할꺼같은데..
방법 아시는 분은 조언 부탁드립니다~
좋은 오후 되시어요~
댓글 5
-
기쁨
2010.11.17 15:44
-
맹꽁이
2010.11.17 16:17
앗 ~ 아녀 GRID METHOD를 이용해서 뿌렸어요~
버튼은 EVENT 안에서 추가해준거구염
-
기쁨
2010.11.17 17:22
QNA 검색해보니 아래와 같은 답변이 있습니다. 도움이 될까 붙여넣습니다.(비안개님 답변)
안녕하세요... 쪽지로 답변드립니다.
Reuse ALV에서 저장 후에 저장 버튼 비활성 시키는 방법 중...
1. 저장버튼을 누르면 작업이 수행되고 작업 완료 후에는 저장버튼을 비활성 시키고 싶은데요..
답변은
REUSE_ALV_GRID_DISPLAY 을 사용하신거 같은데...
SLIS_T_EVENT_EXIT 라는 속성(이벤트 후 처리) 값이 있습니다.
사용법은
DATA:
GT_ALV_EVENT_EXIT TYPE SLIS_T_EVENT_EXIT. "글로벌
로직
DATA:
LS_EVENT_EXIT TYPE SLIS_EVENT_EXIT.
REFRESH GT_ALV_EVENT_EXIT.
* 이벤트 UCOMM(OK_CODE)값 세팅
LS_EVENT_EXIT-UCOMM = 'SAVE'.
* 처리전
*LS_EVENT_EXIT-BEFORE = 'X'.
* 처리후
LS_EVENT_EXIT-AFTER = 'X'.
APPEND LS_EVENT_EXIT TO GT_ALV_EVENT_EXIT.
CLEAR LS_EVENT_EXIT.
위의 값은 처리전을 'X'로 주면 처리하기 전에 미리 작성한 로직을 태우고 처리후를 'X'로 주면 처리 후 미리 작성한 로직을 태웁니다.
미리 만든 로직은 USER_COMMAND 이벤트로 갑니다.
REUSE_ALV_GRID_DISPLAY 중 EXPORTING 데이터 중
IT_EVENT_EXIT에 GT_ALV_EVENT_EXIT를 주시면 됩니다.
위의 처리를 하려면 USER_COMMAND 이벤트를 정의를 하셔야 합니다.
그럼 USER_COMMAND 파트에서 코드가 'SAVE'일 때 STATUS값을 다시 설정해주시면 됩니다.
-
맑은하늘
2010.11.18 07:57
toolbar 이벤트로 버튼을 추가하셨다면,
해당 펑션의 stb_toolbar-disabled = 'X' 로 주시면 비활성화 될거예요.
-
맹꽁이
2010.11.18 12:32
하늘님 감사합니다.
이제 버튼 선택시 다시 이벤트 값들을 받아서
stb_toolbar-disabled = ' ' 로 만들어주는 방법을 고민해야겠어요
감사합니당~
스크린을 사용해서 그린 그리신것 같은데요.
module status_0100 output.
IF gv_aft = 'S'. " 수정버튼눌렀을때 값셋팅해서
set pf-status '0100'.
ELSE.
set pf-status '0100' excluding 'SAVE'.
ENDIF.
이렇게 하면 되지 않을까요.