SELECT
구문에서 조회한 결과값을 변수에 저장한다.APPEND
구문을 사용한다.SELECT SINGLE <필드> <필드> <필드> ...
INTO CORRESTPONDING FIELDS OF <새로선언한변수>
FROM <테이블>
SELECT SINGLE | READ TABLE | |
---|---|---|
대상 | DB | ITAB |
개수 | 1개 | 1개 |
순서 | 처음 만나는 레이블 | INDEX |
SELECT SINGLE
이 아니면 반드시 INTO ~ OF
뒤에 TABLE
을 붙여주어야 한다.INTO
후 변수들을 괄호로 묶으면 여러개의 변수에 담을 수 있다.SINGLE
을 넣지 않으면 ENDSELECT
를 작성하라는 에러가 발생한다.ENDSELECT
사용 시 데이터에 과부하 발생할 수 있음COUNT
, SUM
, AVERAGE
, MAX
, MIN
등COUNT
: 레이블 개수이므로 필드를 특정하지 않아도 된다 AVG
등 : 필드 특정해야 한다
* 1)
DATA : BEGIN OF gs_scurx,
currcode TYPE scurx-currkey,
cur_dec TYPE scurx-currdec,
END OF gs_scurx.
CLEAR : gs_scurx.
*2)
SELECT SINGLE currkey AS currcode
currdec AS cur_dec
INTO CORRESPONDING FIELDS OF gs_scurx
FROM scurx.
*3)
DATA : gs_scustom TYPE scustom.
CLEAR : gs_scustom.
*4)
SELECT SINGLE id name form street postbox postcode city region
telephone custtype discount langu email webuser
INTO CORRESPONDING FIELDS OF gs_scustom
FROM scustom
WHERE ID = '00000020'.
*5)
DATA : gv_carrid TYPE scounter-carrid,
gv_countnum TYPE scounter-countnum,
gv_airport TYPE scounter-airport.
CLEAR : gv_carrid, gv_countnum, gv_airport.
*6)
SELECT SINGLE carrid countnum airport
INTO ( gv_carrid, gv_countnum, gv_airport )
FROM scounter
WHERE COUNTNUM = '00000077'.
*7, 8)
DATA : gv_cnt TYPE I,
gv_sum TYPE P DECIMALS 2.
CLEAR : gv_cnt, gv_sum.
SELECT count( * )
INTO gv_cnt
FROM sbook
WHERE carrid = 'UA'.
SELECT sum( loccuram )
INTO gv_sum
FROM sbook
WHERE carrid = 'AZ'.
BREAK-POINT.