Table control을 통해 인터널 테이블에 담겨있는 데이터를 목록으로 출력하려면 몇 가지 필수적으로 입력해야 할 소스가 있다.
PROCESS BEFORE OUPUT에 입력해야 하는 코드
ITAB과 Table control의 Screen Table간 일치하는 필드의 데이터가 자동으로 복사된다.
루핑은 1:1 1:2 1:3 2:1 2:2.. 병렬로 이루어진다.
LOOP AT itab WITH CONTROL tc
CURSOR tc-current_line.
ENDLOOP.
이 방법은 ITAB과 같은 인터널 테이블 없이 처리하려고 할 때 사용.
화면에 나타나는 필드의 값과 프로그램에 정의된 필드를 일치시킨다. 이때 ABAP의 필드는 인터널 테이블에 선언된 필드가 아닌, 일반변수나 Structure 필드.
<action>
공간에는 row 단위로 스크린과 프로그램에 정의된 필드를 서로 일치시키는 소스코드가 필요.
LOOP WITH CONTROL <Table control>
'<action>'
ENDLOOP.
PROCESS AFTER INPUT에 입력해야 하는 코드
LOOP AT itab.
CHAIN.
FIELD : itab-field1, itab-field2, itab-field3, itab-field4, itab-field5.
MODULE modify_itab ON CHAN-REQUEST.
ENDCHAIN.
ENDLOOP.
Table control에서 수정된 필드가 위치하는 라인의 데이터로 itab을 수정하는 내용.
PBO에서 itab과 Table control의 데이터 위치 구조를 맞추어 주어서 구조는 동일하다.
MODULE modify_itab INPUT.
MODIFY itab INDEX tc-current_line.
ENDMODULE.
PBO에서 init 부에 해당 소스코드 입력.
DESCRIBE TABLE itab LINES tc-line.