초보라 이런 쉬운 질문을 하네요.
TABLE CONTROL을 사용하여 화면에 data를 뿌려준후
뿌려진 데이터들 중에 하나를 선택하여 트랜잭션 코드를 태우려고 합니다 .
첫 필드에 mask라는 버튼이 있구요.
read를 이용하여 한줄이 나왔을때는 되는데..
여러건들이 뿌려지면 loop를 사용해야할 거 같아서 해봤는데
잘 안되네요..
방법좀 알려주세요.
초보라 이런 쉬운 질문을 하네요.
TABLE CONTROL을 사용하여 화면에 data를 뿌려준후
뿌려진 데이터들 중에 하나를 선택하여 트랜잭션 코드를 태우려고 합니다 .
첫 필드에 mask라는 버튼이 있구요.
read를 이용하여 한줄이 나왔을때는 되는데..
여러건들이 뿌려지면 loop를 사용해야할 거 같아서 해봤는데
잘 안되네요..
방법좀 알려주세요.
소스를 보여주시는게 더 좋을듯 싶은데요...table control에 대한 공부가 더 필요한것 같습니다.
우선 table control은 pbo pai 두개 다 돌개 되는데요 pbo에서는 table control를 보여주는 부분을 담당하구요.
pai 에서는 table control를 변환된 내용을 저장해서 인터널테이블 담게되는 역활을 담당하게 되죠.
질문중에 mask라고 하셨는데요.(보통 mark를 많이 사용 )
mark 했던 row들은 대게 인터널 테이블 mark칼럼에 'X' 값으로 저장되겠죠..
그렇게 되면 트랜잭션 코드에서 mark = 'X'인 값에 대해서 처리하면 되는거죠.
루프를 돌리수도 있고 read를 통해서 작업할 수도 있구요..무엇을 구현할려는가에 따라서 다를것 같구요..
예를 들어 선택한 row를 삭제한다고 하면..
delete it_tab index mark = 'x'. 처리해 버리면 선택한 모든값을 날려버리겠죠..
설명이 부족하지만 개념만 이해하면 구현하기 쉬운것들입니다.
간단한 트랜잭션 코드입니다.
WHEN 'DELETE'.
READ TABLE tc_0101-cols INTO cols WITH KEY screen-input = '1'.
IF sy-subrc = 0.
DELETE gt_inputmass WHERE mark = 'X'.
ENDIF.