간단한 AVL 레포트를 출력할 수 있는 sample을 구글링하여 수정해서 사용해 보자!


해당 sample을 TABLES부터 ENDFORM까지 복사하여
SE80에 Z로 시작하는 프로그램을 만든 뒤 붙여넣기한다.
sample에 있는 ekko 테이블은 구매 오더 테이블인데,
우리 실습 환경에는 내장되어 있지 않기 때문에
SCARR 테이블로 수정하여 출력하는 프로그램을 만들어보겠다.

SCARR테이블에 있는 구조와 동일하게 선언해준다.
TYPE-POOLS에 slis는 출력에 필요한 기능을 사용한다는건데,
생략해도 된다.

위에 만들어 놓은 t_scarr구조와 동일한 테이블을
TYPE (STANDARD) TABLE OF로 생성하고 it_scarr로 선언해준다.

fieldcatalog는 행과 테이블이 동시에 생성되는
WITH HEADER LINE구조로 선언한다.
PERFORM 구문은 서브루틴이라고도 불리며,
FORM과 ENDFORM 사이에 실행 소스를 묶어놓는다.
PERFORM 구문의 네이밍은 보기만 해도
이게 어떤 기능을 하는지 유추할 수 있게 쓰는 게 좋다.

해당 구문을 더블 클릭으로 들어가 SQL문을 수정해준다.
SELECT부문 scarr테이블의 5개 필드로 수정
불러올 테이블 ekko → scarr로 수정
선언부에 동일한 구조로 만들어 놓은 it_scarr로 수정한다.
컬럼별로 어떻게 출력해줄지 정의해준다.

APPEND를 쓰기위해 위에서 fieldcatalog를
WITH HEADER LINE구조로 선언했다.
테이블의 옵션을 정의하는 부분

gd_layout-no_input → 편집을 못하게, 입력하지 못하게 막는 옵션
gd_layout-colwidth_optimize → 넓이 최적화를 해주는 옵션
gd_layout-zebra → 한줄 진하게 한줄연하게 해주는 옵션
필요한 옵션에 'X'을 입력하면 활성화된다. (소문자 x는 인식못함)

콜펑션 부분, 이 구문으로 출력이 가능하게 된다.
EXPORTING에 있는 값을 받아서 출력한다.

TABLES부분 it_scarr로 수정하고 엑티브(CTRL+F3)시킨다.
오류가 없으면 레포트이름 옆에 Inactive → Active로 변한다.

엑티브가 잘 되었다면 실행버튼 또는 F9를 눌러서 출력해보자

출력성공!