CDS Annotation 30초 만에 Fiori UI 완성 #shorts #SAP #ABAP

Moderator

이 글이 답하는 질문

  • CDS View에 어노테이션만 붙이면 Fiori UI가 자동으로 생기는가?
  • @UI.lineItem, @UI.selectionField가 하는 일은?
  • OData 서비스 없이 Fiori 앱을 연결하려면?

CDS Annotation이란

CDS View에 @로 시작하는 어노테이션을 붙이면 Fiori Elements가 이를 해석해 자동으로 List Report, Object Page 등 표준 UI를 생성한다. 직접 UI 코드를 작성하지 않아도 된다.

직접 해보기

1. OData 서비스 자동 노출

@OData.publish: true
define view ZV_SALES_ORDER
  as select from vbak
{
  key vbeln as SalesOrder,
      kunnr  as Customer,
      netwr  as NetValue,
      waerk  as Currency
}

2. Fiori List Report 컬럼 & 검색 필터 설정

@UI.lineItem: [{ position: 10 }]
vbeln as SalesOrder,

@UI.lineItem: [{ position: 20 }]
@UI.selectionField: [{ position: 10 }]
kunnr as Customer,

@UI.lineItem: [{ position: 30 }]
@Semantics.amount.currencyCode: 'Currency'
netwr as NetValue,

3. 의미 있는 레이블 붙이기

@EndUserText.label: '판매 주문'
vbeln as SalesOrder,

@EndUserText.label: '고객 번호'
kunnr as Customer,

삽질 노트

  • @OData.publish: true만 붙이면 서비스 등록까지 자동. 단, S/4HANA On-Premise에서는 /IWFND/MAINT_SERVICE에서 활성화 필요
  • @UI.lineItem position 값이 없으면 Fiori가 순서를 보장하지 않음 — 반드시 명시
  • CDS Annotation은 ABAP CDS에만 적용. HANA CDS(sqlviewname만 있는 것)에는 작동 안 함

핵심 한 줄

@OData.publish + @UI 어노테이션 3줄 = Fiori List Report 자동 완성.

더 파볼 주제

  • Fiori Elements — List Report vs Object Page 차이
  • CDS View 권한 제어 — @AccessControl
  • CDS VDM(Virtual Data Model) 계층 구조