-
CDS Table Function — implementedBy 메서드명 추출SAP 2026. 5. 19. 20:05
CDS Table Function — implementedBy 메서드명 추출 CDS Table Function —
implementedBy메서드명 추출2026 · SAP ABAP / CDS · DDL 소스 파싱 패턴
1. 배경
CDS Table Function은
@ObjectModel.query.implementedBy어노테이션으로 구현 클래스와 메서드를 지정한다.
어노테이션 전용 API나 단일 테이블로 바로 조회하는 방법은 명확하지 않으므로, DDL 소스를 읽고 정규식으로 추출하는 방법이 가장 단순하고 확실하다.💡 CDS Table Function은@ObjectModel.query.implementedBy없이는 활성화 자체가 불가하므로, DDL 소스 파싱은 항상 유효한 접근이다.2. 처리 흐름
1DDL 소스 읽기
cl_dd_ddl_handler=>get_ddl_source()로 CDS 소스 문자열 취득2Regex로 implementedBy 값 추출
패턴:'ABAP:([^']+)'→ SUBMATCHES 로 클래스=>메서드 문자열 획득3클래스 / 메서드 분리
=>구분자로 SPLIT → 클래스명 / 메서드명 각각 활용3. 전체 소스
"--------------------------------------------------------- " CDS Table Function 구현 메서드명 추출 " @ObjectModel.query.implementedBy: 'ABAP:ZCL_CLASS=>METHOD' "--------------------------------------------------------- DATA lv_cds TYPE string VALUE 'Z_MY_TABLE_FUNCTION'. DATA lv_src TYPE string. DATA lv_impl TYPE string. DATA lv_class TYPE string. DATA lv_method TYPE string. " ① DDL 소스 읽기 cl_dd_ddl_handler=>get_ddl_source( EXPORTING iv_name = lv_cds iv_version = 'A' IMPORTING ev_source = lv_src ). " ② implementedBy 값 추출 (정규식) " 매칭 대상 예: 'ABAP:ZCL_MY_CLASS=>MY_METHOD' FIND REGEX `'ABAP:([^']+)'` IN lv_src SUBMATCHES lv_impl. IF sy-subrc <> 0. WRITE: / '구현 어노테이션을 찾을 수 없습니다.'. RETURN. ENDIF. " ③ 클래스 / 메서드 분리 SPLIT lv_impl AT '=>' INTO lv_class lv_method. " ④ 결과 출력 WRITE: / 'CDS Name :', lv_cds. WRITE: / 'Class :', lv_class. WRITE: / 'Method :', lv_method.CDS Name :Z_MY_TABLE_FUNCTIONClass :ZCL_MY_CLASSMethod :MY_METHOD4. 핵심 포인트
항목 설명 iv_version = 'A'활성 버전 소스 읽기 (비활성이면 'M')정규식 'ABAP:([^']+)'작은따옴표 사이의 ABAP:이후 문자열 전체 캡처SUBMATCHES lv_impl캡처 그룹 1번을 직접 변수로 받음 → ZCL_CLASS=>METHODSPLIT AT '=>'클래스명과 메서드명 분리 sy-subrc <> 0체크어노테이션 미존재 시 예외 처리 필수 5. 정규식 패턴 변형
상황 패턴 기본 (권장) 'ABAP:([^']+)'대소문자 무시 (?i)'abap:([^']+)'클래스만 추출 'ABAP:([^=>']+)메서드만 추출 =>([^']+)'⚠️[]안의'(작은따옴표)는 ABAP 소스 내에서 문자 리터럴 경계이므로, 패턴 작성 시 ABAP 문자열 리터럴과 혼동하지 않도록 주의한다. 필요 시|...|문자열 템플릿을 활용하면 이스케이프를 줄일 수 있다.'SAP' 카테고리의 다른 글
SAP HANA SQL Functions 완전 정리 (Platform 2.0 SPS07) (0) 2026.05.20 SAP CDS VDM 관련 어노테이션 정리 (0) 2026.05.20 New ABAP 유용한 구문 정리 (0) 2026.05.15 AMDP SQLScript 날짜·시간 함수 (0) 2026.05.14 SAP STRING 타입 필드 — CDS / AMDP 처리 가이드 (0) 2026.05.13