본문 바로가기

CDS View(Core Data Service)

(15)
Authorization Concept ABAP 기반의 권한 부여 프레임워크는 아래 그에 나와 있는 것처럼 여러 구성요소들인 권한 객체, 프로파일, 그리고 사용자 역할을 활용하여 애플리케이션 내에서 권한과 관련된 체크를 구현합니다. 이러한 체크들은 사용자가 프로그램, 트랜잭션, 또는 애플리케이션에 접근할 때 ABAP 런타임 환경에서 암묵적으로 수행됩니다. 또 다른 방법으로, 애플리케이션 코드 내에서 명시적으로 권한을 체크하려면 AUTHORITY-CHECK 문을 사용하여 런타임에서 접근을 평가할 수도 있습니다. 그러나 이 접근 방식의 단점은 애플리케이션 데이터와 애플리케이션에서 사용되는 권한 객체 사이에는 보이지 않는 연결이 존재한다는 것입니다. 또한 디버깅 권한이 있는 사용자는 이러한 체크를 우회할 수 있으며, 이는 보안 위험을 야기할 수 있..
Enhancement SAP에서 제공하는 CDS 뷰는 추가 필드, 표현식(산술식 또는 case문), 연관 관계, SQL 함수 또는 리터럴을 결과 집합에 포함하여 확장 (Enhanced) 수 있습니다. 이러한 수정이 자유로운 확장은 CDS 뷰 정의에 추가 필드와 같은 사용자 정의 요구사항을 포함할 수 있도록 해줍니다. CDS 뷰 확장은 AS ABAP 7.4 SP08부터 사용 가능합니다. CDS 뷰 확장은 EXTEND VIEW 키워드를 사용하여 전용 데이터 정의(DDL 소스)에 정의됩니다. CDS 뷰 확장은 여러 개의 CDS 뷰 확장을 생성할 수 있지만, 하나의 CDS 뷰에 항상 할당되기 때문에 재사용할 수는 없습니다. 아래 그림에 나와 있는 것과 같이 CDS 뷰 정의가 두 개의 레지토리 객체(뷰 엔티티와 SQL 뷰)를 생성하는..
Consuming CDS View CDS 뷰는 SAP Fiori, SAPUI5, SAP Analytics Cloud 및 SAP Analysis for Microsoft Office와 같은 여러 프론트엔드 애플리케이션에서 활용되어 혁신적인 보고용 애플리케이션을 제공하는 데 사용될 수 있습니다. 또한 CDS 뷰는 ABAP 애플리케이션에서도 활용될 수 있으며, 여러 CDS 내장 함수 및 표현식을 사용하여 코드 푸시다운(Code PushDown) 기능을 활용할 수 있습니다. 뷰를 사용하는 소비 기술은 주로 해당 뷰를 사용하는 애플리케이션에 따라 다를 수 있으며, 아래 표에서 요약된 것과 같이 애플리케이션 유형에 따라 다를 수 있습니다. 해당 블로그에서는 첫 두 가지 애플리케이션 유형만을 다루고 있습니다. Application Type Consu..
CDS View Association ABAP Data Dictionary에서는 다양한 데이터베이스 테이블 간의 연결을 외래 키(Foreign Key) 관계를 사용하여 정의합니다. 이러한 테이블들은 또한 응용 프로그래밍의 주요 데이터 원본 역할을 합니다. 따라서 외래 키 관계를 사용하여 연결된 여러 데이터베이스 테이블을 쿼리하는 것은 종종 복잡한 조인 조건을 작성해야 하는 작업을 의미합니다. 그러나 특정 비즈니스 시나리오에서는 이러한 조인 조건 작성이 복잡한 SQL 쿼리를 생성하므로 응용 프로그램 개발자가 비즈니스 작업을 수행하는 데 어렵고 오류가 발생할 수 있습니다. 또한 이러한 조인 조건의 재사용도 어려워 개발 노력이 상당히 필요합니다. 이러한 제한 사항을 극복하기 위해 CDS(contextual data structure)의 DML(d..
CDS View Annotations Annotation은 데이터 정의 언어(DDL)에서 도입된 중요한 확장 기능으로, 의미론적으로 풍부한 데이터 모델을 정의할 수 있게 해줍니다. Annotation은 CDS 엔티티를 기술적인 속성(클라이언트 종속성, 버퍼링), 의미론적인 측면(최종 사용자 라벨, 통화 필드) 및 프레임워크별 속성(OData, SAPUI5, 임베디드 분석)과 같은 도메인별 메타데이터로 확장할 수 있습니다. 이러한 속성들은 Open SQL 문으로는 이전에는 불가능했던 데이터베이스 뷰가 아닌 Dictionary 레이어에서 항상 CDS 엔티티와 연관됩니다. Annotation의 일반적인 구문은 @ 또는
CDS View 내장 함수 & 표현식 5. Date and Time Function CDS 뷰 정의에서는 여러 내장된 날짜, 시간 및 타임스탬프 함수를 사용할 수 있으며, 유효성 검사, 계산 및 타임스탬프 변환을 수행하는 데 사용할 수 있습니다. 내장 함수를 사용하여 CDS 뷰 정의에서 다음과 같은 작업을 수행할 수 있습니다. ■ 날짜, 시간 및 타임스탬프를 유효성 검사할 수 있습니다. ■ 일 또는 월을 날짜에 추가하여 날짜를 계산할 수 있습니다. ■ 두 날짜 간의 일 수를 계산할 수 있습니다. ■ 클라이언트 종속적인 시스템 시간대 또는 사용자 종속적인 시간대를 제공할 수 있습니다. ■ 타임스탬프를 날짜, 시간 등으로 변환할 수 있습니다. Date Function CDS 뷰에서는 미리 정의된 데이터 유형 DATS의 표현식과 함께 날짜 함수를 사용하여 작업을 수행할 수 있습니다. 변환 함..
CDS View 내장 함수 & 표현식 4. Conversion Function 전통적인 프로그래밍에서는, 통화(Currencyt_나 수량(Quantity) 값 변환(Conversion) 작업을 ABAP 레이어(Layer)에서 수행했습니다. 이 작업을 수행하기 위해 데이터 레코드를 먼저 데이터 소스에서 Internal Table로 검색한 다음, 비즈니스 요구에 따라 표준으로 제공되는 함수 모듈을 사용하여 원하는 통화나 단위 값으로 변환했습니다. 그러나 CDS 뷰를 사용할 때는 DDL 확장의 일부로 도입된 특별한 변환 함수의 도움으로 이러한 작업을 데이터베이스 레이어(Layer)에서 수행할 수 있습니다. CDS 프레임워크는 SAP HANA 또는 다른 데이터베이스에서 작업할 때 코드 푸시다운 기능을 달성하기 위해 CDS 뷰 정의 내에서 사용할 수 있는 다음과 같은 변환 함수를 제공합니다..
CDS View 내장 함수 & 표현식 3. COALESCE Function COALESCE 함수는 expr1의 값이 null이 아닌 경우 해당 값을 반환하고, 그렇지 않은 경우 expr2의 값이 반환됩니다. 표현식은 리터럴, 데이터 소스의 필드, 입력 매개변수, 데이터 타입 CHAR, SSTR, CLNT, LANG, NUMC, CUKY, UNIT, DATS, TIMS, FLPT, DEC, CURR, QUANT, INT1, INT2, INT4, INT8 표현식의 미리 정의된 기능일 수 있습니다. Function의 표현식은 다음과 같습니다. COALESCE (expr1, expr2) 아래 코드는 데이터 소스 SBOOK 및 SBUSPART를 사용하여 CDS 뷰 정의의 예제를 보여줍니다. CDS 뷰는 데이터 소스 필드 SBUSPART-CONTACT에 COALESCE 함수를 사용합니다...