● CDS의 유형
- ABAP CDS : ABAP프로그램을 설계 및 개발하는 layer에서데이터 모델에 대한 추상화를 하여 모델 접근 편의성을 개선하고 물리적인 HANA View를 생성한다
- HANA Native CDS
SAP HANA database에는
Core Data Service (DDL, QL , EL) / SQL Engine / Clac Engine / SQL Script로 나누어져 있다.
- DDL : Data Definition Language
- QL : Query Language
- EL : Expression Language
CDS의 정의 : ABAP의향상된 'View 엔터티"이다,
● CDS의 장점은 다음과 같다
- 데이터 집약적 계산을 데이터베이스 계층으로 푸시한다.
- 쿼리를 결합할 수 있다( UNION, UNION ALL)
- VIEW 엔터티 간의 연관성을 정의할 수 있다.
- 지원하는 예제 표현식 코드 템플릿이 있다.
- 산술, 문자열 및 캐스트 식이 지원된다.
- ABAP CDS는 INNER JOIN, OUTER JOIN 및 RIGHT OUTER JOIN을 지원한다.
- 주석(Annotations)을 사용 할 수 있다.
- 집계, 그룹화, 필터링 그룹
- AnyDB를 지원하지만 HANA 기능에 엑세스 불가하다
- SQL 기능의 약90%를 지원한다
- ABAP 및 SAP HANA의 구축을 지원한다.
● CDS의 특징 및 TMI는 다음과 같다
- CDS는 ABAP 7.4 SP2 부터 지원한다.
- ABAP 7.40 SP5부터 CDS Associations를 지원한다. CDS Association는 쿼리에서 간단한 경로 표현으로 join을 대체하여 사용할 수 있다.
- ABAP CDS의 목표는 SQL-92 표준을 모두 지원하고, 백단의 association, entities, create, read, update and delete ( CRUD) 및 OData Service를 지원하는 것이다.
- 주석(Annotiation)은 @문자를 통해 표시된다. 추가적으로 View 레코드가 버퍼링해야하는지, SQL View이름, 클라이언트종속, 수량 및 금액 컬럼에 대한 통화 및 단위 참조여부를 결정한다.
- 주석 @ABAPCatalog.sqlViewName은 필수이다. ; ABAP딕셔너리 및 데이터베이스에서 DDL(CREATE ALTER DROP) 소스의 이름으로 사용된다.
- CDS를 활성화 하면 2개의 오브젝트를 생성한다 ; 하나는 데이터베이스뷰, 다른하나는 CDS엔터티 (최신은 CDS 엔터니만 생성한다)
- CDS 데이터베이스 뷰는 SE11 ABAP 딕셔너리를 사용하여 접근 할 수 있다.
- 주석은 View의 DDL 소스코드의 위 부분에서 @문자로 표시된다 예를들면 @ABAPCatlog.Buffering.status는 버퍼링을 활성화 할것인지 비활성화 할것인지 상태를 결정한다. @AbapCatlog.Buffering.type은 CDS View의 버퍼링 유형을 결정한다.
- @Semantics는 금액 및 수량 필드를 참조하는데 사용된다.
- ABAP CDS계산을 통해 레코드에 대한 집계 및 그루핑을 지원한다. GROUP BY 및 HANVING을 사용한다.
- CDS View정의에서 WHERE 조건을 포함하여 사용 가능하다.
- 여러개의 쿼리를 Merge 할 수 있는 Union 및 Union All 키워드를 지원한다. Union은 결합된 결과에 대하여 중복된 행(Rows) 없도록 Distinct가 내제된다. Union All은 중복된 행 값이 있을 수 있다.
이클립스를 이용하여 CDS를 개발하는 내용입니다.
● Select in Data Using CDS Views :
- CDS View의 ABAP 딕셔너리 이름을 사용하여 데이터를 Select 하기 위해 오픈 SQL의 Select구문을 사용한다. CDS View의 SQL View이름은 각각 Select from 절에 사용된다.
- 새로운 OPEN SQL문법을 사용하는 경우 DEFINE VIEW키워드를 사용하여 정의된 CDS View이름을 Select From 절에 사용할 수 있다. CDS View이름과 CDS SQL View이름은 달라야 한다. CDS View이름과 ABAP 딕셔너리 이름은 같을 수 없다.
- 위 새로운 Open SQL문법에서 Select from절에 CDS View가 사용된다. 결과값을 호스트 변수를 담기 위해 @심볼을 사용했음을 알아야 한다.
- 호스트 변수는 기본적으로 Open SQL문의 내부에 있는 ABAP 변수 또는 상수를 의미한다. 리터럴을 제외한 모든 호스트 변수는 문 안의 모든 위치 앞에서 "@"기호를 사용해야 한다.
- 호스트 변수 하나를 @기호를 사용한 경우 모둔 호스트 변수에 @를 적용해야 한다.
- 클라이언트 종속 CDS View에서 데이터를 검색하기 위해 새로운 Open SQL구문 USING CLIENT가 사용된다.
'ABAP' 카테고리의 다른 글
ABAP : Eclipse를 이용하여 CDS, OData 만들기 (0) | 2022.08.16 |
---|---|
ABAP : OData 개념 (0) | 2022.08.11 |
ABAP : ALV_GRID에서 사용하는 CLASS/METHOD모음 (0) | 2022.07.27 |
ABAP : BADI를 생성하고 만드는 방법 (0) | 2022.07.25 |
ABAP : 프로그램을 INCLUDE를 활용하여 편하게 관리하기 (0) | 2022.07.24 |