데이터 집계와 관련한 주제 중 Data_source에 대해서 알아보도록 하겠습니다.
Data_Source는 다음 2가지를 추가로 확인합니다.
- ABAP CDS - SELECT, parameters :: Select 시 Parameter 사용
- ABAP CDS - SELECT, JOIN :: Select 시 Join 사용
먼저 Data_Source 에 대한 데이터 집계에 대해서 간단히 알아보고, 이어지는 포스팅을 통해 위 2가지 내용을 추가적으로 확인해보겠습니다.
문법
... entity[ parameters]| path_expr [[AS] alias] [ join] ...
효과
CDS View의 데이터 소스를 정의합니다. ABAP DDIC에 정의된 DB 테이블, Classic View, 또는 CDS 엔터티가 될 수 있습니다.
■ 데이터 소스는 엔터티 이름을 직접적으로 사용하거나, 또는 연관에 사용된 path_expr 을 사용하여 특정합니다. 경로 표현식은 연관에 의해 결정됩니다.
■ 데이터 소스가 입력 매개변수가 있는 CDS View라면, 실제 매개변수는 여기에서 사용된 매개 변수로 전달되어야 합니다.
■ 대체되는 이름인 별칭(Alias)는 데이터 소스 다음의 AS 뒤에 직접적으로 지정합니다. AS는 생략할 수도 있습니다. 경로 표현식을 사용하는 경우에는 대체 이름은 반드시 사용되어야 합니다. 별칭으로 사용되는 이름은 이름 명명규칙을 따라야 합니다.
■ Join 문법은 join을 사용하여 여러개의 데이터 소스를 결합할 수 있습니다.
메모
CDS View를 사용해서 transparent tables만 사용할 수 있습니다. Pooled Table 또는 Cluster Table 은 Data Source로 지정할 수 있습니다. 이 경우에는 DB 테이블이 활성화 될 때 CDS 데이터베이스 View가 생성되지 않습니다. Open SQL 문 Select 를 사용하여 CDS 엔터티에 접근하면 문법 검사 시 경고가 발생합니다. 명령문이 실행되면 예외가 발생합니다. 이를 통해 pooled tables 또는 cluster tables 에 대하여 후속 시스템에 transparent tables로 존재하는 CDS View를 생성할 수 있습니다.
Transparent Tables
ABAP DDIC에서 DB테이블의 테이블 카테고리임. transparent tables 에는 ABAP DDIC의 정의와 동일한 열이 있는 동일한 이름의 변형이 정확히 하나 있음. transparent tables 는 Native SQL, AMDP, Open SQL을 통해 수정할 수 있음. 외부의 AS ABAP은 DB 인터페이스 프로그래밍을 사용하여 수정할 수 있음. 하지만 후자의 방법은 권장하지 않음.
예시
데이터베이스 테이블 snwd_bpa 에 대한 CDS View :: business_partner 를 정의합니다. partner 로 이름을 대체하여 적용합니다. 이 이름은 Select List에서 사용됩니다.
@AbapCatalog.sqlViewName: 'BPA_VW' define view business_partner as select from snwd_bpa as partner { key partner.bp_id, partner.company_name, partner.bp_role } |
또한 as 는 대체이름 partner 앞에 생략될 수 있습니다. 다음의 예시는 혼동을 줄 수 있는 또 다른 유효한 절차입니다.
@AbapCatalog.sqlViewName: 'BPA_VW' define view business_partner as select from snwd_bpa partner{ key partner.bp_id, partner.company_name, partner.bp_role } |
요점
이번 포스팅에서는 데이터 소스를 Select 할 때 테이블 이름을 사용하여 지정하고, [as] 를 사용하여 별칭을 사용할 수 있다는 것을 이해합니다.
데이터 집계 중 아래 내용을 알아보았습니다.
■ ABAP CDS - SELECT, data_source
- ABAP CDS - SELECT, parameters
- ABAP CDS - SELECT, JOIN
■ ABAP CDS - SELECT, ASSOCIATION
- ABAP CDS - path_expr
:: ABAP CDS - path_expr, attributes
:: ABAP CDS - Joins of Associations
■ ABAP CDS - SELECT, select_list
- ABAP CDS - SELECT, element
- ABAP CDS - SELECT, element_annot
■ ABAP CDS- SELECT, clauses
- ABAP CDS - SELECT, WHERE
- ABAP CDS - SELECT, GROUP BY
- ABAP CDS - SELECT, HAVING
- ABAP CDS - SELECT, UNION
■ ABAP CDS - SELECT, Operands and Expressions
- ABAP CDS - literal
- ABAP CDS - field
- ABAP CDS - parameter
- ABAP CDS - session_variable
- ABAP CDS - arith_expr
- ABAP CDS - aggr_expr
- ABAP CDS - case_expr
- ABAP CDS - cast_expr
- ABAP CDS - cond_expr
■ ABAP CDS - SELECT, Built-In Functions
- ABAP CDS - sql_functions
- ABAP CDS - Numeric Functions
- ABAP CDS - String Functions
- ABAP CDS - coalesce
- ABAP CDS - Special Functions
- ABAP CDS - Conversion Functions
- ABAP CDS - Type Conversion Functions
- ABAP CDS - Conversion Functions for Units and Currencies
- ABAP CDS - Date Functions and Time Functions
- ABAP CDS - Date Functions
- ABAP CDS - Time Functions
- ABAP CDS - Time Stamp Functions
- ABAP CDS - Time Zone Functions
- ABAP CDS - Date/Time Conversions
'SAP Story > CDS View' 카테고리의 다른 글
DDL정의(2) View 정의 - 데이터 집계(Select)- data_source( Join ) (0) | 2022.11.23 |
---|---|
DDL정의(2) View 정의 - 데이터 집계(Select)- data_source( Parameters ) (0) | 2022.11.22 |
DDL정의(2) View 정의 - 데이터 집계(Select) (0) | 2022.11.15 |
DDL정의-(2) View 정의 - 매개변수(Parameter) (0) | 2022.11.15 |
DDL정의-(2) View 정의 - Name List (0) | 2022.11.15 |
댓글