ERP(SAP)

SAP CDS View 완벽 가이드: 개념, 유형, 실무 사례 및 활용 방법

가시가되어 2025. 2. 19. 11:43

SAP CDS View 완벽 가이드: 개념, 유형, 실무 사례 및 활용 방법



bing image creator - SAP CDS view


SAP CDS (Core Data Services) View는 SAP HANA 및 S/4HANA 환경에서 데이터 모델링을 효율적으로 수행할 수 있도록 지원하는 강력한 기술입니다. 이를 통해 복잡한 데이터 조회 및 가공을 최적화할 수 있으며, 특히 Fiori 애플리케이션과 연계하여 효과적으로 활용됩니다.
 
이제 SAP CDS View의 개념부터 유형, 활용 사례까지 자세히 살펴보겠습니다.


1. SAP CDS View란?

SAP CDS (Core Data Services) View는 SAP HANA의 논리적 데이터 모델링을 위해 설계된 SQL 기반의 뷰(View)입니다. 전통적인 ABAP Dictionary View보다 더 강력한 기능을 제공하며, SQL을 확장한 DDL (Data Definition Language) 을 사용하여 생성됩니다.
CDS View는 SAP HANA 또는 SAP ABAP Dictionary 상에서 실행되며, 데이터 모델링을 단순화하고 성능을 향상시킬 수 있도록 설계되었습니다.

SAP CDS View의 주요 특징

✅ SAP HANA 및 S/4HANA에서 고성능 데이터 모델링 지원
✅ 기존 ABAP Dictionary View보다 더 강력한 SQL 확장 기능 제공
✅ Fiori UI, OData 서비스, Analytics와의 통합 가능
✅ 데이터 집계 및 필터링 기능 내장
✅ SAP 표준 테이블을 활용하여 복잡한 데이터 모델을 간결하게 표현


2. SAP CDS View의 유형

SAP CDS View는 크게 ABAP CDS ViewHANA CDS View 두 가지로 나뉩니다.

유형설명주요 사용 사례
ABAP CDS ViewABAP 환경에서 생성되는 CDS View. S/4HANA 및 ECC에서 활용 가능.SAP Fiori, OData, Embedded Analytics
HANA CDS ViewHANA Database에서 직접 생성되는 CDS View. 네이티브 SQL 기능 활용 가능.SAP BW/4HANA, 고성능 데이터 분석

 
일반적으로 ABAP CDS View 는 SAP의 S/4HANAFiori 기반 개발 에서 주로 사용됩니다.


3. SAP CDS View의 기본 구조

CDS View는 DDL (Data Definition Language) 을 사용하여 생성됩니다. 예제 코드를 통해 CDS View의 구조를 살펴보겠습니다.

@AbapCatalog.sqlViewName: 'ZSALES_CDS'
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Sales Order CDS View'
define view ZSales_CDS as select from VBAK
    inner join VBAP on VBAK.VBELN = VBAP.VBELN
{
    key VBAK.VBELN,       // Sales Order Number
    VBAK.ERDAT,           // Order Date
    VBAK.KUNNR,           // Customer Number
    VBAP.MATNR,           // Material Number
    VBAP.NETWR            // Net Value
}

코드 설명

  1. @AbapCatalog.sqlViewName: CDS View의 SQL View 이름을 정의합니다.
  2. @AccessControl.authorizationCheck: 권한 검사를 설정합니다.
  3. @EndUserText.label: 설명 라벨을 추가합니다.
  4. define view: CDS View를 정의합니다.
  5. select from VBAK: VBAK (Sales Order Header) 테이블에서 데이터를 조회합니다.
  6. inner join VBAP: Sales Order Item 테이블과 조인합니다.
  7. key VBAK.VBELN: Sales Order 번호를 키로 설정합니다.

4. SAP CDS View의 실제 사례

📌 사례 1: Fiori 앱에서 CDS View 활용

한 글로벌 제조업체에서는 SAP Fiori 기반의 실시간 매출 분석 대시보드 를 구축해야 했습니다.
해결 방법:
CDS View를 사용하여 실시간 매출 데이터를 계산하는 Aggregation View 를 생성하고, 이를 SAP Fiori에서 시각화했습니다.

@Analytics.dataCategory: #CUBE
@AccessControl.authorizationCheck: #CHECK
define view ZSales_Analysis as select from VBAK
{
    VBAK.VBELN,
    VBAK.KUNNR,
    sum( VBAP.NETWR ) as TotalRevenue,
    count( distinct VBAK.VBELN ) as OrderCount
}
group by VBAK.KUNNR, VBAK.VBELN
 

➡️ 이를 통해 고객별 총 매출 및 주문 수량을 실시간으로 분석 할 수 있게 되었습니다.


📌 사례 2: OData 서비스를 통한 CDS View 연계

한 유통업체에서는 SAP Fiori 주문 조회 애플리케이션 을 개발해야 했습니다.
해결 방법:

  1. CDS View를 생성하여 주문 데이터를 제공
  2. OData 서비스를 통해 Fiori 앱에서 데이터를 조회
@OData.publish: true
define view ZCustomerOrders as select from VBAK
{
    VBAK.VBELN,
    VBAK.KUNNR,
    VBAK.ERDAT,
    VBAK.NETWR
}

➡️ @OData.publish: true 를 추가하면 자동으로 OData 서비스가 생성되며, 이를 Fiori UI에서 호출하여 데이터를 활용할 수 있습니다.


5. SAP CDS View의 주요 기능

CDS View는 일반적인 SQL View보다 더 강력한 기능을 제공합니다.

1) Aggregation (집계 기능)

define view ZRevenue_Summary as select from VBAK
{
    VBAK.KUNNR,
    sum( VBAP.NETWR ) as TotalRevenue
}
group by VBAK.KUNNR
 

➡️ 고객별 총 매출을 계산하는 예제입니다.

2) Parameterized View (파라미터 활용)

 
@AbapCatalog.sqlViewName: 'ZSALES_PARAM'
define view ZSales_Param with parameters p_date: datum as select from VBAK
where ERDAT = :p_date
{
    VBAK.VBELN,
    VBAK.KUNNR,
    VBAK.ERDAT
}

➡️ 특정 날짜를 기준으로 데이터를 필터링하는 CDS View입니다.

3) Association (관계 맺기)

define view ZSales_With_Customer as select from VBAK
association [0..1] to KNA1 as _Customer on VBAK.KUNNR = _Customer.KUNNR
{
    VBAK.VBELN,
    VBAK.KUNNR,
    _Customer.NAME1
}
 

➡️ 고객 정보(KNA1)를 주문 테이블과 연결하여 조회하는 방법입니다.


6. SAP CDS View의 장점과 한계

장점

✔️ SQL 확장 기능 제공 (JOIN, Aggregation, Association 등)
✔️ OData 서비스와 자동 통합
✔️ Fiori 및 Embedded Analytics에 최적화
✔️ S/4HANA에서 성능 최적화

한계

✖️ 복잡한 로직 구현에는 한계가 있음
✖️ 특정 ABAP 기능과 완전히 호환되지 않을 수 있음
✖️ 초기 학습 곡선이 높음


7. 결론

SAP CDS View는 SAP 환경에서 데이터 모델링을 최적화하는 강력한 도구입니다. 특히 S/4HANA 및 Fiori 애플리케이션과의 연계를 통해 실시간 데이터 조회, 분석 및 성능 개선이 가능합니다.
SAP CDS View를 잘 활용하면 비즈니스 데이터를 더욱 효과적으로 관리하고, 성능을 극대화할 수 있습니다.


📢 추가 학습 자료

📌 SAP 공식 문서: SAP CDS View Guide
📌 SAP Community: SAP CDS View Discussion
📌 SAP JOY: https://sapjoy.co.kr/index.php?mid=BPDS&search_target=title&page=1&m=0&document_srl=198463