RAP Scaffolding(Generate AbapObj)
SAP RAP 실무 표준 개발 프로세스 (테이블 선 빌드형)
핵심 요약: ** 완전히 새로운 서비스를 만들 때도 **물리 테이블을 아밥 코드로 먼저 잽싸게 생성한 뒤, **OData UI 서비스 마법사로머리-꼬리 껍데기들을 자동 생성하는 것** 이 실무에서 가장 빠르고 휴먼 에러가 없는 200% 정석 루트입니다.
📅 STEP 1. 물리 데이터베이스 테이블 직접 생성 (TABL)
이클립스에서 마법사 창을 키고 필드를 하나하나 마우스로 추가하는 것은 비효율적입니다. 메모장이나 아밥 에디터에서 DDL 코드로 1분 만에 테이블을 먼저 구워버립니다.
- 최상위 패키지(
ZDEV_LDG) 우클릭 ➡️New➡️ABAP Package로 도메인 서브 패키지(예:ZLUNCH_MANAGEMENT)를 먼저 생성 합니다. - 생성한 서브 패키지 우클릭 ➡️
New➡️Database Table클릭 - 테이블 이름(예:
ZTLUNCH_STATS)을 입력하고 아래 표준 스펙 코드를 복사·붙여넣기 한 후Ctrl + F3(Activate)** 합니다. ABAP(주석은 제거!) ```plain text @EndUserText.label : ‘점심 메뉴 통계 테이블’ @AbapCatalog.enhancement.category : #NOT_EXTENSIBLE @AbapCatalog.tableCategory : #TRANSPARENT @AbapCatalog.deliveryClass : #A @AbapCatalog.dataMaintenance : #RESTRICTED define table ztlunch_stats {
key client : abap.clnt not null; key stats_uuid : sysuuid_x16 not null; // 🌟 단일 자동생성 마스터 ID (OData V4 필수 사양) eat_month : abap.char(6) not null; // 일반 데이터 필드들… restaurant_name : abap.char(100); menu_name : abap.char(50); order_count : abap.int4; @Semantics.amount.currencyCode : ‘ztlunch_stats.currency’ total_spent : abap.curr(13,2); currency : abap.cuky;
// 🏢 엔터프라이즈 표준 공통 스탬프 (제너레이터가 자동으로 매핑해 줌) created_by : abp_creation_user; created_at : abp_creation_tstmpl; last_changed_by : abp_lastchange_user; last_changed_at : abp_lastchange_tstmpl;
} ```
⚡ STEP 2. RAP Generator 가동 (OData UI 서비스)
테이블 생성이 끝났다면 이제 마법사를 소환해서 3초 만에 화면 파이프라인을 구축합니다.
1. 제너레이터 소환
- 방금 만든 서브 패키지 폴더 우클릭 ➡️
New➡️Other...클릭 -Generate ABAP Repository Objects검색 후 더블클릭 - ⚠️[중요] 반드시
OData UI 서비스(밑에서 2번째)를 선택하고Next2. 1단계: General (기본 정보 설정)
-
Referenced Object: ** STEP 1에서 만든 물리 테이블명 입력 (예:ZTLUNCH_STATS) -Project Name: ** 외부 노출용 API 명칭 입력 (뒤에 화면용임을 뜻하는_UI명시) ➡️ 예:ZRE_LUNCH_STATS_UI-Artifacts Prefix: ** 뒤에서 네이밍이 꼬이는 것을 방지하기 위해비워둠(Blank)또는Z를 제외한 특정 접두사** 입력 권장.3. 2단계: Data Model & Behavior (Core 레이어 네이밍 교정)
- 메뉴 트리에서
Data Model,Behavior를 순서대로 클릭하며 우측 입력창의ZZ_나ZZP_로 중복 꼬인 접두사들을 싹 지우고 표준 이름으로 교정 합니다. -CDS Entity Name:ZR_LUNCH_STATS(5단계 원장 뷰) -Implementation Class:**ZBP_R_LUNCH_STATS(원장 서비스 로직 클래스)4. 3단계: Service Projection (화면 DTO 레이어 네이밍 교정)
- 메뉴 트리에서
Service Projection을 클릭합니다. -Projection Entity Name:**ZP_LUNCH_STATS(6단계 화면용 뷰) 또는 표준 규칙에 따라ZC_LUNCH_STATS로 명명 조치합니다.5. 4단계: 마무리 및 발행
- 모든 세팅이 끝나면
Next를 눌러 에러가 없는지 확인하고Finish를 때립니다.🔥 STEP 3. 전체 컴파일 및 Fiori Preview 확인
- 마법사가 종료되면 패키지 폴더에 파일 12개가 들어와 있습니다.
- 서브 패키지 폴더 자체를 마우스 우클릭 ➡️
Change Activation (Ctrl + Shift + F3)클릭 - 생성된 12개 파일의 체크박스를 전부 켜고 한 방에 전체 Activate 를 진행합니다.
- 최상단 비즈니스 서비스 계층에 있는
Service Binding파일 **을 더블클릭하여 오픈합니다. - 엔티티 명을 우클릭하고
Preview버튼을 누르면, OData V4 Draft 임시저장 기능이 완벽 탑재되어[생성(Create)]** 과[삭제(Delete)]버튼이 모두 살아있는 완전체 대시보드 화면** 이 즉시 구동됩니다!