안녕하세요.
공사중 입니다.
이번에는 CDS View 를 만들면서 제가 했던 실수들에 대해서 공유해 보겠습니다.
혹시 CDS View 에 대한 경험이 많치 않은 분들에게 도움이 되셨으면 좋겠습니다.
이번 시리즈의 범위는 ABAP CDS View ~ ABAP Dictionary 입니다.
연계된 부분을 잘 처리해서 SAP GUI 에서 잘 사용하기 위함입니다.
CDS View 에 @AbapCatalog.sqlViewName 의 Annotation 에 의해 ABAP Dictionary 객체를 만들어 주는 부분은 ABAP 개발자한테 매우 유용합니다.
보통 ALV Report 개발할때, Display Structure 만들어 Fieldcatalog 를 지정하고, 모델링한 쿼리문으로 데이터를 가져와서 화면에 출력을 하게 되는데요. CDS View 하나 잘 만들면 Display Structure 까지 한번에 만들어서 진행할 수 있습니다.
더불어, HANA ALV ( ALV with IDA ) 방식의 레포트를 만드는경우에는 이런 작업이 필수라고 생각됩니다. |
( 1 ) Key 설정....
이부분을 1번으로 다룬 이유는 명확합니다.
Key 설정을 안하면 SE16 에서 조회 프로그램이 생성되지 않습니다.~!!
아래 예시를 보시면,
@AbapCatalog.sqlViewName: 'YCDS_DEV01_001'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: '고객 기본 정보'
define view YCDS_DEV01_001_DDL
as select from kna1 as _Customer
inner join adrc as _Address on _Customer.adrnr = _Address.addrnumber
{
_Customer.kunnr,
_Customer.name1,
_Customer.name2,
_Customer.name3,
_Customer.name4,
_Address.city1,
_Address.street,
_Address.str_suppl1,
_Address.str_suppl2,
_Address.location,
_Address.city2,
_Address.post_code1
}
활성화시에 아래의 Annotation 에 의해서 ABAP Dictionary 에 DDL SQL View 가 자동으로 만들어지고 활성화 됩니다.
@AbapCatalog.sqlViewName: 'YCDS_DEV01_001'
하지만~~!!
테이블의 데이터를 살펴보려하면.. ( 혹은 SE16으로 해당 View 의 Contents 를 조회하려하면.. Dump 가 발생합니다.
이는 SE16 의 해당 Vew 조회 화면을 만들어주는 STD 프로그램에서 발생하는것입니다.
( 물론, SE16N 은 정상 작동되니 그쪽으로 사용하셔도 무방합니다만, ㅎㅎ;; )
프로그램을 분석해보니 Key Field 정보가 반드시 필요하게 되어있었습니다.
간단하게 Key 를 설정해서 해결합니다.
define view YCDS_DEV01_001_DDL
as select from kna1 as _Customer
inner join adrc as _Address on _Customer.adrnr = _Address.addrnumber
{
key _Customer.kunnr,
_Customer.name1,
_Customer.name2,
_Customer.name3,
_Customer.name4,
_Address.city1,
_Address.street,
_Address.str_suppl1,
_Address.str_suppl2,
_Address.location,
_Address.city2,
_Address.post_code1
}
정상적으로 아래와 같이 Contents 조회 화면이 생성된부분을 확인하실수 있습니다.
이제 SE16 에서도 CDS View 의 Contents 를 확인하실 수 있게 되었습니다.~~
끝.
관련 글.
CDS View 에 대한 초보적인 실수 (2) - 수량/금액 필드
SAP CDS View 에 대한 초보적인 실수 (3) - Null 고려.
'ABAP' 카테고리의 다른 글
SAP CDS View 에 대한 초보적인 실수 (3) - Null 고려. (0) | 2021.04.28 |
---|---|
SAP CDS View 에 대한 초보적인 실수 (2) - 수량/금액 필드 (0) | 2021.04.26 |
SAP HANA 에서는 Select (*) 를 써도 됩니다.!! (0) | 2021.04.21 |
SAP CBO 에서 Standard Change Log 사용하기. (2) | 2021.04.14 |
SAP SMARTFORMS 에서 Legacy Editor 사용하기. (6) | 2021.04.14 |