SAP/ABAP 코드

(ABAP 코드) ABAP OPEN SQL 코드

haramang 2021. 6. 13. 18:20

 

- SELECT DISTINCT STATEMENT

TYPES: BEGIN OF GTY_S_FLIGHT,
  CARRID TYPE SFLIGHT-CARRID,
  CONNID TYPE SFLIGHT-CONNID,
  END OF GTY_S_FLIGHT.

 
DATA GT_FLIGHT TYPE TABLE OF GTY_S_FLIGHT.
 

SELECT DISTINCT CARRID, CONNID
  FROM SFLIGHT
  INTO TABLE @GT_FLIGHT
  WHERE SEATSOCC > 200.


* INLINE STATEMENT 사용.
SELECT DISTINCT CARRID, CONNID
  FROM SFLIGHT
  INTO TABLE @DATA(CHECK_01)
  WHERE SEATSOCC > 200.

 


TYPES: BEGIN OF GTY_S_FLIGHTOCC,
  CNTALL TYPE I,
  CNTCON TYPE I,
  CUMOCC TYPE SFLIGHT-SEATSOCC,
  END OF GTY_S_FLIGHTOCC.
 

DATA GS_FLIGHTOCC TYPE GTY_S_FLIGHTOCC.


SELECT COUNT(*) AS ALL, COUNT( DISTINCT CONNID ), SUM( DISTINCT SEATSOCC )
  FROM SFLIGHT
  INTO @GS_FLIGHTOCC.

 
SELECT COUNT(*) AS ALL, COUNT( DISTINCT CONNID ) AS CONNID, SUM( DISTINCT SEATSOCC ) AS SEATSOCC
  FROM SFLIGHT
  INTO @DATA(CHECK_02).

- AGGREGATE EXPRESSIONS


TYPES: BEGIN OF GTY_S_FLIGHTOCC2,
  CNTALL TYPE I,
  MINOCC TYPE SFLIGHT-SEATSOCC,
  MAXOCC TYPE SFLIGHT-SEATSOCC,
  SUMOCC TYPE SFLIGHT-SEATSOCC,
  END OF GTY_S_FLIGHTOCC2.

 
DATA GS_FLIGHTOCC2 TYPE GTY_S_FLIGHTOCC2.
 

SELECT COUNT(*) AS ALL, MIN( SEATSOCC ) AS MIN, MAX( SEATSOCC ) AS MAX, SUM( SEATSOCC ) AS SUM
  FROM SFLIGHT
  INTO @GS_FLIGHTOCC2.

 

 

SELECT COUNT(*) AS ALL, MIN( SEATSOCC ) AS MIN, MAX( SEATSOCC ) AS MAX, SUM( SEATSOCC ) AS SUM
  FROM SFLIGHT
  INTO @DATA(CHECK_03).

- SELECT DISTINCT STATEMENT


SELECT DISTINCT CARRID, CONNID
  FROM SFLIGHT
  INTO TABLE @DATA(ITABL_04)
  WHERE SEATSOCC > 200.

 
SELECT COUNT(*) AS ALL, COUNT( DISTINCT CONNID ) AS CONNID, SUM( DISTINCT SEATSOCC ) AS SEATOCC
  FROM SFLIGHT
  INTO @DATA(CHECK_04).

- GROUP BY / HAVING ADDITION


SELECT CARRID, CONNID, SUM( SEATSOCC ) AS SUM
  FROM SFLIGHT
  INTO TABLE @DATA(ITAB_03)
  GROUP BY CARRID, CONNID.

 
 

SELECT CARRID, CONNID, SUM( SEATSOCC ) AS SUM
  FROM SFLIGHT
  INTO TABLE @DATA(ITAB_04)
  WHERE FLDATE > '20090101'
  GROUP BY CARRID, CONNID
  HAVING SUM( SEATSOCC ) < 2000.

- WHERE CONDITIONS


SELECT * FROM SCUSTOM
  INTO TABLE @DATA(GT_CUSTOMERS)
  WHERE COUNTRY IN ('DE', 'US')
  AND DISCOUNT BETWEEN '005' AND '010'
  AND POSTCODE LIKE '___5_'
  AND NAME LIKE '%RA%'.

- APPENDING INSTEAD OF INTO


SELECT * FROM SPFLI
  APPENDING TABLE @DATA(ITAB_05).


DATA GT_SPFLI TYPE TABLE OF SPFLI.
 

SELECT * FROM SPFLI
  APPENDING CORRESPONDING FIELDS OF TABLE @GT_SPFLI.