728x90
반응형
인터널 테이블이란 ?
디비에서 가져온 데이터를 테이블 단위로 프로그램에서 핸들링 하기 위해서 사용하는 버퍼같은 테이블이다.
DB에 자주 접근할수록 퍼포먼스가 안좋아지기 때문에 인터널 테이블을 사용한다.
최초 접근할때 한번에 DB단에서 어플리케이션 단으로 데이터를 모두 가져오고
어플리케이션단에서 처리할 수 있도록 한다.
데이터 선언 방법
먼저 데이터 오브젝트에는 3가지가 있다.
data변수, Work area, Internal table.
DATA변수가 한칸이면, WORK AREA는 한줄, Internal table은 여러줄이다.
그래서 이 세가지는 선언하는 방법이 모두 다르다.
1) DATA변수 선언하는법
2) 구조체(WA) 선언하는법
3) 인터널테이블(INT) 선언하는법
인터널테이블을 사용해보자.
1) sflight를 참조한 인터널테이블1에 데이터를 넣고
2) 인터널테이블1의 데이터를 인터널테이블2로 옮긴 후
3) 인터널테이블2의 3번째줄을 WA2에 넣어라.
* 데이터 선언
DATA: ITAB1 TYPE TABLE OF SFLIGHT,
ITAB2 LIKE ITAB1,
WA1 LIKE LINE OF ITAB1,
WA2 LIKE WA1.
* 데이터 쿼리
SELECT * FROM SFLIGHT
INTO TABLE ITAB1.
* 데이터 가공
LOOP AT ITAB1 INTO WA1.
APPEND WA1 TO ITAB2.
ENDLOOP.
"만약 인터널 테이블의 구조가 같다면 이렇게 데이터를 옮겨도 된다.
* ITAB2 = ITAB1.
* MOVE ITAB2 TO ITAB1.
* MOVE CORRESPONDING ITAB1 TO ITAB2
* APPEND WA1 TO ITAB2.
READ TABLE ITAB2 INTO WA2 INDEX 3.
"구문 뒤에 WITH TABLE KEY CARRID = 'AA'.를 넣어주면 테이블키가 AA인것을 가져오라는 조건문도 줄 수 있다.
cl_demo_output=>display( wa2 ).
"write문 대신 이구문을 사용하면 필드이름을 하나하나 입력하지않아도 라인에 해당하는 값을 출력한다.
결과
728x90
반응형
'ABAP' 카테고리의 다른 글
Maintanence View 유지보수 뷰 (0) | 2023.01.24 |
---|---|
Table, data element, domain (0) | 2023.01.24 |
Structure (0) | 2023.01.24 |
Function 생성해보기 (0) | 2023.01.24 |
날짜 관련 Function (0) | 2023.01.24 |
댓글