NEW OPEN SQL - 1 (오전)

Beemajor·2024년 9월 9일


현직에서는 Data Dictionary에서 정의하는 것보다 DATA Begin of 로 많이 정의합니다.

이게 현재까지 우리가 배운 sql입니다.
DB에서 데이터를 담아오기만 하는 경우입니다.


여기서 살짝 New Open Sql을 1단계 적용시켜봤습니다.
인터널 테이블 앞에는 @를 붙여야하며 SELECT 필드 사이에는 , 콤마가 존재해야합니다.

지금은 오류없이 잘 실행되고 똑같이 생겼네요.
이렇게 쓸거면 New Open Sql을 쓰지 않았죠.


이게 바로 New Open SQL을 쓰는 이유입니다.

CASE countryto
  WHEN countryfr THEN 'D'
  ELSE 'I'
END AS ftype

CASE countryto 가 WHEN countryfr 이면 THEN 'D' 로 저장해라.
그렇지 않다면 ELSE 'I'로 저장해라 어디에 저장하냐?
END AS ftype 에 저장해라.

그러면 이렇게 잘 담겨집니다.
기존의 경우는 DB에서 우리가 데이터를 담아오고
어플리케이션(프로그램)에서 직접 코드를 사용해 처리하였지만.
현재는 DB에서 데이터를 담고 처리도 하고 어플리케이션에서는 처리없이 실행된 결과입니다.

  • 정리해보자면, 지금까지 데이터베이스에서는 데이터를 가져오기만 하고
    어플리케이션으로는 국내선, 국제선 관리를 많이했는데,
    이제는 데이터베이스에서 일을 많이시키게 됩니다. (= HANA DB라서)
  • 하지만 이게 데이터베이스에서 모든 처리를 하라는 것은 아닙니다. 그렇게 되면 성능이 많이 안좋아요.
    잘 혼합해서 사용하는게 제일 좋습니다.

core data system 접속 (CDS 접속)


NEW DATA DEFINITION 누르기


원래는 최신 버전인 이걸로 만들어야하는데 우리 교육서버는 안좋아서 다른걸로해야함.


이걸로 만들어주세요.


Core Data Service 만든 상황입니다.


이렇게 고쳐 쓰세요.
'ZVSQL5A1201' 뷰이름입니다.
ZVDDL5A1201 소스이릅입니다.


아까 만들었던 코드를 이렇게 다시쓰고 Active 한 뒤에,


실행(Run as ABAP APLICATION)을 해보면 아래와 같은 결과가 나옵니다.


신기하죠, CDS VIEW를 만든겁니다.


맨처음 New Open Sql을 사용해서 D인 경우만 가져오는 것은 불가능했습니다.


하지만 우리가 CDS VIEW로 테이블을 만들었으니 CDS VIEW의 이름을 가지고


GUI에서 검색해보면 아래와 같이 표현됩니다.


조건이 잘바뀌었죠?


이걸 또 New Open SQL로 처리하게 되면 변수들 이름앞에는 @를 붙여줘야합니다.


PARAMETER 처리를 했기 때문에 입력받은 값에 대한 것만 볼수 도 있습니다.


D로 주니까 D에 대한 결과들만 잘나오죠?


새로운걸 한번 해볼게요.


이전에 만든 define view 이름을 가져와서 불러옵니다.
그리고 이렇게 코드를 주게되면 어떤 결과가 나올까요?


그룹별로 갯수가 SUM되게 됩니다.


이것도 하나의 CDS VIEW를 만든거니
GUI를 이렇게 조회할 수 있습니다.


잘 나오죠?

자 여기까지가 오전에 해보는 기초적인 New Open SQL과 CDS VIEW 활용입니다

profile
i'm Graphic Designer

0개의 댓글