[ABAP] PARAMETER - SALV
parameter 사용
1 REPORT zclass_001 MESSAGE-ID zfi00.
2
3 TABLES: sflight.
4
5 PARAMETERS: p_carrid LIKE sflight-carrid.
5
7 DATA: gt_list TYPE TABLE OF sflight WITH HEADER LINE.
8
9 //SALV 변수 선언
10 data: gr_table type ref to cl_salv_table.
11
12 START-OF-SELECTION.
13 PERFORM select_data.
14 CHECK NOT GT_LIST[] IS INITIAL.
15 PERFORM display_data.
16
17 FORM select_data .
18
19 DATA: LV_CNT LIKE SY-TABIX. "TABIX :시스템에서 라인수 나오는것
20
21 SELECT *
22 FROM sflight
23 INTO CORRESPONDING FIELDS OF TABLE gt_list
24 WHERE carrid = p_carrid.
25
26
27 IF SY-SUBRC = 0.
28 LV_CNT = LINES( GT_LIST ).
29 MESSAGE S010 WITH LV_CNT.
30 ELSE.
31 MESSAGE E004.
32 ENDIF.
33 ENDFORM.
32
33 FORM display_data .
34 call method cl_salv_table=>factory
35 importing
36 r_salv_table = gr_table
37 changing
38 t_table = gt_list[].
39
40 *... Display table
41 gr_table->display( ).
42
43 ENDFORM.
-
MESSAGE-ID : REPORT프로그램의 첫줄. REPORT 옆에 사용할 수 있는건 MESSAGE-ID밖에 없음.
REPORT 프로그램명 MESSAGE-ID 메세지유지보수 프로그램명>
- TABLES: SELECT사용하거나, 선언할 때 사용할 TABLE 선언.
일반 PARAMETER같은걸 사용할땐 TABLES로 선언하지 않아도 되지만, SELECT-OPTION 사용하려면 TABLES 무조건 선언해줘야 함.
-
PARAMETERS: Possible Entry 생성. 선택하여 select할때 값을 조건값으로 넣을 수 있음.
PARAMETERS: <사용할 PARAMETER명> LIKE <TABLE명-FIELD명>
PARAMETER을 넣으면 실행화면에서 나타나는 단어를 설정할 수 있음. SE80 코딩화면에서 위 텍스트 기호를 누르면 아래와 같은 화면이 나타남.
선택텍스트에서 DICTIONARY 참조를 누른 후 ENTER를 누르면 TABLES로 선언한 테이블의 DATA ELEMENT에서 필드라벨에 설정해놓은 값이 텍스트에 입력이됨.
-
WITH HEADER LINE: STRUCTURE가 하나 더 붙어있는 형태. WITH HEADER LINE이 없으면 STRUCTURE을 하나 더 선언해야함.
디버깅을 해보면 위의 이미지처럼 WITH HEADER LINE으로 선언을 한다면 GT_LIST HEADER(모자모양)가 같이 생성되고, WITH HEADER LINE을 없이 선언하면 GT_LIST2같이 STRUCTURE만 생성됨.
-
START-OF-SELECTION
선언부분과 PERFORM부분을 구분지을때 사용함. 대부분 윗부분은 지역변수, 아랫부분은 PERFORM 등등... -
33-43줄
SALV사용하는 구문.
SE80 접속 후, PACKAGE -> SALV_OM_OBJECTS 입력하면 많은 테이블이 나오지만 SALV_LEARN_MAP_TABLE_1 요거 참조함.
Author And Source
이 문제에 관하여([ABAP] PARAMETER - SALV), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dooooohyem/ABAP-PARAMETER-SALV저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)