ABAP
에서만 사용하는 SQL데이터베이스 데이터를 조작할 수 있는 ABAP 명령어로 구성
💡 [ SQL - SELECT ]
SELECT [필드명]
: 모든 필드의 데이터를 가져올 땐 " * " 사용
INTO TABLE [테이블명]
: 데이터를 넣을 테이블을 넣는다.
❗ 반드시 필드 순서를 맞춰야함.
FROM [테이블명]
: 데이터를 가져올 테이블을 넣는다.
WHERE (조건)
: 가져올 데이터들의 조건을 선택할 때 사용.⭐ SELECT 문을 사용한 뒤
sy-subrc
를 통해 데이터를 가져왔는지 검증한다.
💡 [ INTO TABLE / INTO CORRESPONDING FIELDS OF TABLE ]
INTO TABLE [테이블명]
→ INTO TABLE 은 SELECT 하려는 DB Table 의 필드 순서와 레코드를 받는
ITAB 의 필드 순서와 타입이 모두 동일하다고 가정 하 에 레코드를 append 한다.
INTO CORRESPONDING FIELDS OF TABLE [테이블명]
→ ITAB 의 필드명 맞춰서 데이터를 넣어준다.
💡 [ SELECT 실습 ]
[ 문제 ]
[ 코드 ]
DATA : BEGIN OF gs_material, matnr TYPE zc526t0004-matnr, mtart TYPE zc526t0004-mtart, matkl TYPE zc526t0004-matkl, END OF gs_material, gt_material LIKE TABLE OF gs_material. CLEAR : gs_material. REFRESH : gt_material. SELECT matnr mtart matkl INTO CORRESPONDING FIELDS OF TABLE gt_material FROM zc526t0004. DATA : gs_scarr TYPE scarr, gt_scarr LIKE TABLE OF gs_scarr. CLEAR : gs_scarr. REFRESH : gt_scarr. SELECT carrid carrname currcode url INTO CORRESPONDING FIELDS OF TABLE gt_scarr FROM scarr. cl_demo_output=>display( gt_scarr ). DATA : BEGIN OF gs_spfli, carrid TYPE spfli-carrid, connid TYPE spfli-connid, countryfr TYPE spfli-countryfr, countryto TYPE spfli-countryto, airpfrom TYPE spfli-airpfrom, airpto TYPE spfli-airpto, END OF gs_spfli, gt_spfli LIKE TABLE OF gs_spfli. CLEAR : gs_spfli. REFRESH : gt_spfli. SELECT carrid connid countryfr countryto airpfrom airpto INTO CORRESPONDING FIELDS OF TABLE gt_spfli FROM spfli WHERE carrid = 'KA' AND ( connid = '3504' OR connid = '3517' ). cl_demo_output=>display( gt_spfli ).