CDS View 에 @AbapCatalog.sqlViewName 의 Annotation 에 의해 ABAP Dictionary 객체를 만들어 주는 부분은 ABAP 개발자한테 매우 유용합니다.
보통 ALV Report 개발할때, Display Structure 만들어 Fieldcatalog 를 지정하고, 모델링한 쿼리문으로 데이터를 가져와서 화면에 출력을 하게 되는데요. CDS View 하나 잘 만들면 Display Structure 까지 한번에 만들어서 진행할 수 있습니다.
더불어, HANA ALV ( ALV with IDA ) 방식의 레포트를 만드는경우에는 이런 작업이 필수라고 생각됩니다. |
안녕하세요.
공사중 입니다.
SAP CDS View 만드실때 종종 격는 두번째 실수편.
( 2 ) 수량, 금액 필드의 참조 단위(Unit), 통화키(Currency) 필드의 지정 부분 입니다.
CDS View 만들때,
(1) 가져올 수량, 금액필드 에 지정된 테이블의 필드까지 포함한다면 해당 매핑정보는 유효합니다.
define view YTEST_CDS_DEV01_002
as select from vbak as _Header
inner join vbap as _Item on _Header.vbeln = _Item.vbeln
{
key _Header.vbeln,
key _Item.posnr,
_Item.zmeng,
_Item.netwr
}
define view YTEST_CDS_DEV01_002
as select from vbak as _Header
inner join vbap as _Item on _Header.vbeln = _Item.vbeln
{
key _Header.vbeln,
key _Item.posnr,
_Item.zmeng,
_Item.zieme,
_Item.netwr,
_Item.waerk
}
(2) 계산된 필드의 경우거나, 수동으로 매핑해줘야하는 경우에는 관련 Annotation 으로 명시적으로 지정해줘야 적용됩니다.
define view YTEST_CDS_DEV01_002
as select from vbak as _Header
inner join vbap as _Item on _Header.vbeln = _Item.vbeln
{
key _Header.vbeln,
key _Item.posnr,
_Item.zmeng,
cast( _Item.zmeng * 100 as dzmeng ) as Calc_Quan,
_Item.zieme,
_Item.netpr,
cast( _Item.netpr * _Item.zmeng as netwr ) as netwr,
_Item.waerk
}
@Semantics.quantity.unitOfMeasure: 'ZIEME' | QUAN Field 에 참조 UNIT 필드( Alies ) 명 지정. |
@Semantics.unitOfMeasure: true | UNIT Field 에 지정 |
@Semantics.amount.currencyCode: 'WAERK' | CURR Field 에 참조 CUKY 필드( Alies ) 명 지정. |
@Semantics.currencyCode: true | CUKY Field 에 지정 |
define view YTEST_CDS_DEV01_002
as select from vbak as _Header
inner join vbap as _Item on _Header.vbeln = _Item.vbeln
{
key _Header.vbeln,
key _Item.posnr,
_Item.zmeng,
@Semantics.quantity.unitOfMeasure: 'ZIEME'
cast( _Item.zmeng * 100 as dzmeng ) as Calc_Quan,
@Semantics.unitOfMeasure: true
_Item.zieme,
_Item.netpr,
@Semantics.amount.currencyCode: 'WAERK'
cast( _Item.netpr * _Item.zmeng as netwr ) as netwr,
@Semantics.currencyCode: true
_Item.waerk
}
수량/금액 필드에 대한 Annotation 을 빠트리지 않고 지정해줘야 기존에 참조해 쓰던 ABAP Dictionary 정보처럼 활용할수 있게됩니다.
끝.
관련 글..
SAP CDS View 에 대한 초보적인 실수 (1) - Key Field Setting
SAP CDS View 에 대한 초보적인 실수 (1) - Key Field Setting
안녕하세요. 공사중 입니다. 이번에는 CDS View 를 만들면서 제가 했던 실수들에 대해서 공유해 보겠습니다. 혹시 CDS View 에 대한 경험이 많치 않은 분들에게 도움이 되셨으면 좋겠습니다. 이번 시
gongsajung.tistory.com
SAP CDS View 에 대한 초보적인 실수 (3) - Null 고려.
SAP CDS View 에 대한 초보적인 실수 (3) - Null 고려.
CDS View 에 @AbapCatalog.sqlViewName 의 Annotation 에 의해 ABAP Dictionary 객체를 만들어 주는 부분은 ABAP 개발자한테 매우 유용합니다. 보통 ALV Report 개발할때, Display Structure 만들어 Fieldcatalog..
gongsajung.tistory.com
'ABAP' 카테고리의 다른 글
SAP CDS View 에 대한 초보적인 실수 (3) - Null 고려. (0) | 2021.04.28 |
---|---|
SAP CDS View 에 대한 초보적인 실수 (1) - Key Field Setting (1) | 2021.04.22 |
SAP HANA 에서는 Select (*) 를 써도 됩니다.!! (0) | 2021.04.21 |
SAP CBO 에서 Standard Change Log 사용하기. (2) | 2021.04.14 |
SAP SMARTFORMS 에서 Legacy Editor 사용하기. (6) | 2021.04.14 |