Report program

콩이·2020년 8월 23일
0

ABAP

목록 보기
1/1

report program을 실행하였을때, 프로그램의 흐름은 각각의 이벤트를 통해 통제된다.
이벤트 블록은 사용자 액션에 의해 발생하는 이벤트에 의해 호출된다.

DATA : gt_sflight TYPE TABLE OF sflight,
gs_sflight TYPE sflight.
SELECT-OPTIONS s_carrid FOR gs_sflight-carrid. "data를 선언함.

▶값을 입력받을 수 있는 화면이 생성된다.

SELECTION SCREEN : 조회 조건 값을 입력받을 수 있는 화면.
INPUT 필드와 같이 선택 조건을 입력할 수 있는 화면 제공.

SELECT-OPTIONS : 2개의 INPUT 필드를 통해 다양한 조건 값을 입력받을 수 있다.
RANGE 변수와 같은 이터널 테이블을 가지고 있다.
인터널 테이블의 형태라 APPEND 구문으로 DATA를 추가시켜야한다.
DATA 할당과 APPEND는 같이 움직임

INITIALIZATION : SELECTION SCREEN 화면이 열리기 전에 화면 필드 값을 초기화 하는데 주로 사용.
필드는 초기화, DEFAULT, GUI STATUS, TITLEBAR 을 세팅

INITIALIZATION.
P_1 = 'AA'.

AT SELECTION-SCREEN : 사용자가 SELECTION SCREEN에 값을 입력하기 전/후에 작동된다.
사용자 액션에 대한 반응하고, 화면 필드를 조절한다.

▶ 항공사 ID에 'AA'외의 값을 입력하면, 에러 메세지를 출력함.

TABLES : scarr. 
SELECT-OPTIONS : s_carrid FOR scarr-carrid. 
AT SELECTION-SCREEN ON S_carrid.
IF s_carrid-low NE 'AA' .
MESSAGE 'IT IS DDANG' TYPE 'E' 
ENDIF.

START-OF-SELECTION : 사용자가 실행버튼(F8)을 클릭하면 DB에서 값을 읽어온다.
일반적으로 SELECT 구문이 사용되는 블록이다. (SQL)

SELECT carrid connid
FROM sflight
INTO CORRESPONDING FIELDS OF TABLE gt_sflight
WHERE carrid IN s_carrid.

END-OF-SELECTION : DATA를 읽은 후의 작업을 수행하는 블록이다.
화면에 WRITE하기 전에 수행된다.
인터널 테이블에 저장된 DATA들을 변형하는 작업.

LOOP AT gt_sflight INTO gs_sflight.
WRITE: / gs_sflight-carrid, gs_sflight-connid.
ENDLOOP.
INITIALIZATION. "이벤트
s_carrid-sign = 'I'.
s_carrid-option = 'EQ'.
s_carrid-low = 'AA'.
APPEND s_carrid.

START-OF-SELECTION.
SELECT carrid connid
FROM sflight
INTO CORRESPONDING FIELDS OF TABLE gt_sflight
WHERE carrid IN s_carrid.

END-OF-SELECTION.
LOOP AT gt_sflight INTO gs_sflight.
WRITE: / gs_sflight-carrid, gs_sflight-connid.
ENDLOOP.

profile
有志竟成

0개의 댓글