메뉴 건너뛰기

SAP 한국 커뮤니티

abap 7.4 open sql 변경 사항

프링글스 2014.04.29 21:30 조회 수 : 9315

SAP NetWeaver 7.4 SP05 에서는 기존 Open Sql과 비교하여 변경되고 추가된 기능이 몇가지 있습니다
이러한 기능은 기존에 비하여 가독성을 좋게 하고 데이터베이스 레벨에서 작업을 가능하게 하여 성능
향상에도 도움이 됩니다.

.

컬럼 분리 및 변수에 @ 사용


이전에는 OPEN SQL 에서 컬럼을 분리할 때 스페이스를 사용하였는데 이제는 comma(,)를 사용하고 변수에는 @를 붙여서 

      가독성이 좋아졌습니다

 

예시)

      SELECT carrid, connid, fldate

       FROM sflight

       INTO CORRESPONDING FIELDS OF TABLE@sflight_tab

       WHERE carrid = @carrier AND

              connid = @connection

       ORDER BY carrid, connid.

 

SQL Expressions


SELECT 
문의 컬럼 리스트에 다양한 SQL Expressions 사용이 가능하게 되었고 이에 따라

기존에 어플리케이션 레벨에서 이루어지던 작업을 데이터베이스 레벨에서 이루어지도록 하여 성능을 향상 시킬 수 있습니다.

 

1)계산식 및 계산 함수 사용


SELECT구문에서 사칙 연산 및 number 함수 사용이 가능합니다.

 

예시)

      SELECTid, num1, num2,

             cast( num1 AS fltp ) / cast( num2 AS fltp) AS ratio,

             div(num1, num2 ) AS div,

             mod(num1, num2 ) AS mod,

             @offset + abs( num1 - num2 ) AS sum

      FROM demo_expressions

      INTO CORRESPONDING FIELDS OF TABLE @results

      ORDER BY SUM DESCENDING.

 

2) 형 변환


   SELECT 구문에서 CAST 를 사용하여 형 변환이 가능합니다.(위의 예시 참조)

 

3) 문자열 연결


  SELECT 구문에서 &&를 사용하여 문자열 연결이 가능합니다.

 

예시)

         SELECTchar1 && char2

           FROM demo_expressions

           INTO CORRESPONDING FIELDS OF TABLE@results.

 

4) NULL 대체


  SELECT 구문에서 coalesce 함수를 사용하여 null 일 경우 다른 값으로 대체합니다.

 

예시)

SELECT t1~a AS a1, t1~b as b1,t1~c AS c1, t1~d as d1,

       coalesce( t2~d, '--' ) AS d2,

       coalesce( t2~e, '--' ) as e2,

       coalesce( t2~f, '--' ) AS f2,

       coalesce( t2~g, '--' ) as g2,

       coalesce( t2~h, '--' ) AS h2

 FROM demo_join1 AS t1

        LEFT OUTER JOIN demo_join2 AS t2 ONt2~d = t1~d

 INTO CORRESPONDING FIELDS OF TABLE @itab

 ORDER BY t1~d.

 

5) CASE문 사용


  SELECT 구문에서 CASE문을 사용하여 조건에 따라 다른 데이터를 가져올 수 있습니다.

 

예시)

         SELECTid, char1, char2,

                CASE char1

                   WHEN 'aaaaa' THEN ( char1 &&char2 )

                   WHEN 'xxxxx' THEN ( char2 &&char1 )

                   ELSE @else

                END AS text

           FROM demo_expressions

           INTO CORRESPONDING FIELDS OF TABLE@results.

번호 제목 글쓴이 날짜 조회 수
69 MB transactions: Limited maintenance/decommissioning [2] sapjoy 2015.11.19 1571
68 New OPEN SQL 예제8- Constant value 사용 file sapjoy 2015.10.19 1754
67 Best Practice Guide - Considerations for Custom ABAP Code During a Migration to SAP HANA.pdf [5] file sapjoy 2015.10.30 1901
66 새로운 문법 : Declaration Expression sapjoy 2015.10.15 2005
65 New OPEN SQL 예제4 [1] file sapjoy 2015.10.12 2047
64 How to Consume HANA View in ABAP Using External View and Open SQL.pdf [2] file sapjoy 2015.11.09 2048
63 ABAP CDS with JOIN statement file sapjoy 2015.11.02 2049
62 [영문/PDF]End to End Development Example with SAP NetWeaver 7.4 & SAP HANA [5] file LOAL 2017.06.14 2068
61 New OPEN SQL 예제7- COLAESCE사용하여 NULL 대체 file sapjoy 2015.10.15 2079
60 New OPEN SQL 예제3 [1] file sapjoy 2015.10.08 2094
59 New OPEN SQL 예제5 file sapjoy 2015.10.13 2103
58 [영문/PDF] SAP Activate file 보나(박민철) 2016.07.04 2149
57 New OPEN SQL 예제2 file sapjoy 2015.10.07 2177
56 New OPEN SQL 예제6 file sapjoy 2015.10.14 2180
55 ABAP CDS 호출 file sapjoy 2015.10.26 2188
54 [영문/PDF] SAP MCC file 보나(박민철) 2016.10.24 2214
53 Memory for screen LOAD is used up. bytes) is not available. sapjoy 2015.10.15 2256
52 [영문/PDF] SAP Activate - Introducing SAPs Next Generation, Agile-Based Methodology file 보나(박민철) 2016.07.04 2256
51 New OPEN SQL 예제10- SQL 구문에서 DIRECT 변수 선언 file sapjoy 2015.10.21 2263
50 [영문/PDF] SAP Simple Finance - On Premise edition file 보나(박민철) 2016.06.23 2318