ABAP 코딩 (5) Open SQL

빵섭·2024년 8월 4일
0

💻 SYNC-ABAP 코딩

목록 보기
5/9
post-thumbnail

🌞 Open SQL

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 ).
profile
ABAP / SAP

0개의 댓글