안녕하세요!!
다름이 아니라 테이블컨트롤에서는 어떤 단가와수량을 곱해 총금액을 나타낼때
총금액을 닫아놓구 엔터치거나 저장시 총금액 이 나타나게 했었는데
alv에서는 어떻게 방법이 없을까요?
역시 단가랑 수량을 곱해 edit가 닫혀있는 총금액에 엔터를치면 곱해진 금액이 들어가게 로직을
짜고 싶은데 어디에 넣어야 할지모르겠어요!!
조언부탁드려요^^
행복한하루 되십쇼!!
댓글 8
-
genius
2008.04.11 01:57
-
activeman
2008.04.11 01:59
역시 같은 방법으로 해도 되지 않나요...
엔터키 칠때(물론 셀의 값을 변경할수 있어야 겠죠.안해도 상관은없습니다만) 값을 계산해서
인터널 테이블에 modify 해 주실수도 있고 아니면 메뉴에 버튼을 만들어서
클릭하면 자동으로 계산되게끔 해도 되겠는데요.
즐밥하세요.
-
genius
2008.04.11 03:02
엔터를 칠때 엔터를 쳤다는거를 어디서 어떻게 인식하는지요~~ㅜ.ㅜ
모르겠어용~
-
activeman
2008.04.11 03:34
status에서 추천된 기능키세팅에서 'F2'항목에 'pick'를 넣고 활성화 시키시면 됩니다...
그리고 user-command에서 'pick' 항목에 대한 정의를 주시면 됩니다. 이렇게 하시면 엔터키 칠때마다
'PICK' 라는 펑션코드가 먹히겠죠...
즐밥하세요..
-
genius
2008.04.11 17:52
ACTIVEMAN님 감사요~좋은거 배웠네요^^ -
genius
2008.04.11 18:26
헉 STATUS에 F2에 PICK넣고 했는데 디버깅도 안먹구요 안되네요~
제생각에도 될꺼라생각했는데 ~ㅜ.ㅜ
-
초보아밥퍼
2008.04.11 22:22
어떤 ALV 를 쓰느냐에 따라 다르겠죠.
요즘 쓰시는 OOP 개념의 ALV라면 ENTER에 대한 이벤트를 주셔야 합니다.
보통 ALV 이벤트를
CALL METHOD GCL_GRID->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_MODIFIED.
로 많이 주는데요~ ENTER KEY를 하시려면
CALL METHOD GCL_GRID->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_ENTER.
를 주셔야 합니다(다른설정 없어도 되요 ^^).
그러나 요것이 따로 TCODE화 되어있지 않기때문에 MC_EVT_ENTER의
설명을 보시면 기본값이 #EC NOTEXT 19로 설정되어있습니다.
그렇다면 보기 편하게 바꾸게 된다면...
DATA : AAA(5) TYPE C,
BBB(5) TYPE C,
CCC(5) TYPE C.
SPLIT OK_CODE AT '' INTO AAA BBB CCC.
IF CCC = '19'.
OK_CODE = 'ENTER'.
ENDIF.
이런식으로 ENTER로 변화하여 사용하시면 OK_CODE보기가 좋으실겁니다.
그럼 ENTER에 대한 OK_CODE 문만 적용하시면 문제 없을듯.
참고하세요 ^^;
-
genius
2008.04.11 22:42
좋은조언 감사드려요 초보아밥퍼님^^
참 역시 열려있는 모든곳에 데이터를 입력해야만 저장이 가능하도록 아니면 메세지를띠우려고하는데
이것역시 테이블컨트롤에서는 chain에 묶어 모듈에서 처리했었는데 alv에서는 어떻게 처리해야할까요?