SAP_ABAP 프로그램 구조 (이벤트)
2021. 10. 25. 15:22ㆍSAP_ABAP
728x90
*이벤트 기능
- INITIALIZATION : SELECTION SCREEN 화면이 열리기 전에 화면 필드 값을 초기화하는데 사용.
- AT SELECTION-SCREEN : 값을 SELECTION-SCREEN에 입력하기 전/후에 작동.
- START-OF-SELECTION : 사용자가 실행 버튼(F8)을 클릭하면 DB에서 값을 읽어온다. <SELECT>
- END-OF-SELECTION
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
*&---------------------------------------------------------------------*
*& Report ZCCC
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
INCLUDE ZCCCTOP . " Global Data
INCLUDE ZCCCSCR.
INCLUDE ZCCCO01 . " PBO-Modules
INCLUDE ZCCCI01 . " PAI-Modules
INCLUDE ZCCCF01 . " FORM-Routines
*----------------------------------------------------------------------*
" INITIALIZATION (DEFAULT VALUE)
*----------------------------------------------------------------------*
INITIALIZATION. PERFORM ATTACHED_DOC.
*----------------------------------------------------------------------*
" AT SELECTION-SCREEN (SCREEN EVENT)
* 회면에서 값 검색
*----------------------------------------------------------------------*
*초기화된 p_b에 회사코드 선언..... AT SELECTION-SCREEN -> 변수지정
AT SELECTION-SCREEN. PERFORM AT_SELECTION_SCREEN.
AT SELECTION-SCREEN OUTPUT.
PERFORM AT_SELECTION_SCREEN_OUTPUT.
*----------------------------------------------------------------------*
" START-OF-SELECTION (READ AN ENTRY)
*----------------------------------------------------------------------*
*실행 구문
START-OF-SELECTION.
PERFORM start_of_selection.
*----------------------------------------------------------------------*
" END-OF-SELECTION (DISPLAY)
*----------------------------------------------------------------------*
END-OF-SELECTION.
PERFORM end_of_selection.
|
cs |
1. INITIALIZATION : 이벤트 중 프로그램을 실행했을 때 가장 먼저 수행.
- SELECTION-SCREEN이 조회되기 전에 작동하므로 변수에 초깃값을 지정 할 때 사용.
2. AT SELECTION-SCREEN : SELECTION-SCREEN에서 Input Field의 값이 번동되었을 때 실행되는 이벤트.
- INITIALIZATION 과 START-OF-SELECTION 사이에 수행, 사용자 액션에 대해 반응하고, 화면 필드 조절
- AT SELECTION-SCREEN ON <FIELD>
- SELECTION-SCREEN에서 전달되는 특정 필드에 대해 수행, 오류가 발생하면 해당 필드는 다시 값을 입력받도록 커서가 위치한다.
- AT SELECTION-SCREEN OUTPUT
- 화면의 LAYOUT 속성 설정
- AT SELECTION-SCREEN ON END OF
- 하한/ 상한값, 미입력 값 등을 체크할 때 사용
- AT SELECTION-SCREEN ON <FIELD>
3. START-OF-SELECTION : SQL 수행, CLEAR, REFRESH 구문 등 로직 상의 준비 작업 후 수행.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
*&---------------------------------------------------------------------*
*& Form START_OF_SELECTION
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
********** 테이블 초기화
FORM start_of_selection .
REFRESH gt_outtab.
*--------------------------------------------------------------------*
" 구분."
*--------------------------------------------------------------------*
****** 체크 박스의 파라미터 저장
PERFORM set_sec_class.
*--------------------------------------------------------------------*
" 보유원장 + 관리 원장 내역 추출."
*--------------------------------------------------------------------*
******** sql로 파라미터에 해당하는 값 추출
PERFORM get_data_from_tab.
*--------------------------------------------------------------------*
" 출력 데이터 구성."
*--------------------------------------------------------------------*
PERFORM arrage_output_data.
ENDFORM.
|
cs |
4. END-OF-SELECTION 실행 환경에서 호출되는 마지막 이벤트로서
- SELECT 구문에서 조회 후 데이터를 Write 하기 전에 수행, 인터널 테이블에 저장된 데이터를 변형하는 작업 수행
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
*&---------------------------------------------------------------------*
*& Form end_of_selection
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM end_of_selection .
***** call_screen -> 공통모듈
PERFORM call_screen TABLES gt_outtab
USING '0100'.
ENDFORM.
|
cs |
728x90
'SAP_ABAP' 카테고리의 다른 글
SAP_ABAP Module Pool Program(모듈 풀)_1 (0) | 2021.10.26 |
---|---|
SAP_ABAP Calling Program (0) | 2021.10.26 |
SAP_ABAP 구현 (0) | 2021.10.25 |
SAP/ABAP - Report program 만들기 (0) | 2021.10.25 |
1. Easy ABAP 2.0 (0) | 2021.10.05 |