SELECT SINGLE, 변수 선언, 집계함수(Aggregation Fn)

홍예림·2023년 7월 10일
0

SAP ABAP(개편중...)

목록 보기
22/55

개념

  • SELECT 구문에서 조회한 결과값을 변수에 저장한다.
    • 여러개의 라인을 조회 후 저장하는 경우 APPEND 구문을 사용한다.

SELECT SINGLE

1개의 라인 조회하기

SELECT SINGLE <필드> <필드> <필드> ...
  INTO CORRESTPONDING FIELDS OF <새로선언한변수>
  FROM <테이블>
SELECT SINGLEREAD TABLE
대상DBITAB
개수1개1개
순서처음 만나는 레이블INDEX
  • SELECT SINGLE 이 아니면 반드시 INTO ~ OF 뒤에 TABLE을 붙여주어야 한다.

변수 선언하기, 여러개에서 가져오기

  • INTO 후 변수들을 괄호로 묶으면 여러개의 변수에 담을 수 있다.
  • 변수 선언 시 SINGLE을 넣지 않으면 ENDSELECT를 작성하라는 에러가 발생한다.
    - ENDSELECT 사용 시 데이터에 과부하 발생할 수 있음

SELECT + 집계함수(Aggregation Function)

  • COUNT, SUM, AVERAGE, MAX, MIN
    • 내장 함수
    • SINGLE 생략 가능
      • COUNT : 레이블 개수이므로 필드를 특정하지 않아도 된다
      • AVG 등 : 필드 특정해야 한다

AS(알리아스) 사용하기

  • 원하는 필드명으로 값을 뽑아올 수 있다.

실습 문제

1)

문제

풀이

2)

문제

풀이

* 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.
profile
SYNC 3기 5반 2023.07 - 2023.12

0개의 댓글