본문 바로가기

CDS View(Core Data Service)/Core Data Service 기초

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 함수를 사용합니다. 이 함수는 데이터 소스 필드의 값이 NULL인 경우 데이터 소스 필드의 기본값을 지정하는 데 도움을 줍니다.

@AbapCatalog.sqlViewName: 'ZCDS_EX_SQL_14'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'CDS using COALESCE function'
define view ZCDS_EXAMPLE_14
as select from sbook as a
left outer join sbuspart as b on a.customid = b.buspartnum
{
a.carrid,
a.connid,
a.fldate,
a.bookid,
a.customid,
-- The function returns contact name if found for expression 1,
-- else returns the value of expression 2
coalesce( b.contact, 'Not found' ) as Contact
}
where
bookid = '00004600'

 

반응형