예전에 kms님이 올리신글과 댓글을 보고 참고를 했는데 해결이 안되어서 질문올립니다.
kms님이 올리신글 인용하겠습니다.
**************************************************************************************************************
|
***************************************************************************************************************
합계를 더블클릭하면 모든 데이터를 가지고 와서 하단에 alv로 보여줘야 하는데 그게 잘 안되네요.
조언좀 부탁드립니다.
댓글 3
-
SAP폐인
2009.02.06 23:02
합계데이터는 아마 internal table에서 가지고 있지 않은 데이터로 ALV 표시할 때 layout에서 설정으로 표시하신 것 같다고 판단됩니다만. 이 경우에는 해당 row에 데이터가 당연히 없기 때문에 커서위치나 다른걸로 유저가 찍은 위치를 판단하셔서 팝업을 띄우든가 해야할 것으로 생각됩니다. -
포로리
2009.02.09 21:07
네 SAP폐인님의 말씀처럼 합계필드는 실제 인터널테이블에 없는값입니다.
해당 더블클릭이벤트가 발생시 선택된 필드명과 선택된 라인 인덱스번호가 넘어가게 되는데
합계를 더블클릭시 인터널테이블에서 존재하지 않는 정보이므로 인덱스 0이 전송됩니다.
따라서 더블클릭 이벤트핸들러에서 (PERFORM double_click)
이 인덱스번호로 인터널테이블에서 값을 읽으려고 한다면 덤프가 뜰것입니다.
e_row의 rowtype에 일반 필드를 더블클릭했을때는 유형값이 안들어가고
index에 선택한 row의 번호가 들어옵니다.
하지만 서브토탈을 더블클릭했을경우
rowtype에는 'S 0101 0000000001' 값이 들어오며
토탈을 더블클릭했을경우
rowtype에는 'T 0100 0000000001' 값이 들어옵니다.
이 유형을 기준으로 판단하여 인터널테이블의 값들의 합계를 내서
원하는 필드에 출력을 해주면될것 같습니다.
-
이노펠리스
2009.02.13 17:42
네.. SAP폐인님 포로리님 답변 감사합니다. ^^