○ 비즈니스 기술 플랫폼(SAP Business Technology Platform (SAP BTP))
- CAP 애플리케이션 생성에 사용하는 IDE
○ BAS 찾기
- SAP BTP 로그인
- SAP BTP Cockpit 접속
- Service Marketplace 클릭
- SAP Business Applicatoin Studio의 'Go to Application' 클릭
○ Dev Space
- Create Dev Space 클릭
○ BAS 생성
- 좌측 "What kind of application do you want to create?"에서 'Full Stack Cloud Application' 선택
- Dev Space name 입력
- Create Dev Space 클릭
○ BAS 구동
- 생성된 Dev Space 클릭
1) trial인 경우 최대 2개까지 생성 가
2) 동시에 1개까지만 구동이 가능
○ Start from template 클릭
○ CAP Project 선택
○ CAP Project 상세 입력
- 프로젝트 이름 입력
1) namespace 설정과 헷갈리지 않게, 똑같이 적어주면 좋음
2) project name : com-sap-cds-hanadool
namespace : com.sap.cds.hanadool
- runtime은 'Java' 선택
1) Configuration for SAP HANA Deployment :
CDS Model table과 Service view등을 HANA DB로 배포하여 생성 하는데 필요한 설정이 추가
2) MTA based SAP Business Technology Deployment :
MTA를 사용하지 않아도 CF(Cloud Foundry) deploy를 이용해 배포 가능
- Finish 클릭
○ BAS 생성 완료
- 크게 db와 srv로 구분
- srv 내의 pom.xml에 오류 문구가 뜨지만 일단 무시해도 관여 없다.
○ db 폴더 바로 밑으로 schema.cds 파일 생성 및 코드 입력
namespace com.sap.cds.hanadool;
using { Currency, managed, sap } from '@sap/cds/common';
type GeoPoint : String;
type Timezone : String;
type CountryCode : String(2);
type LanguageCode : String(2);
entity Countries {
official_language : LanguageCode;
key country_code : String(2);
iso3_code : String(3);
onu_code : Integer;
name_en : String;
name_fr : String;
name_sp : String;
geo_point : GeoPoint;
}
entity Populations {
key id : Integer;
name : String;
ascii_name : String;
alternate_name : String;
feature_class : String(1);
feature_code : String;
country_code : CountryCode;
country : Association to Countries on country_code = country.country_code;
population : Integer;
elevation : Integer;
timezone : Timezone;
geo_point : GeoPoint;
}
○ srv 폴더 바로 밑으로 service.cds 파일 생성 및 코드 입력
namespace com.sap.cds.hanadool;
using {com.sap.cds.hanadool as model} from '../db/schema';
service MainService @(path:'/main') {
entity Countries as select from model.Countries {
*
} excluding { onu_code, geo_point };
entity Populations as projection on model.Populations;
action adjustPopulation(population_id: model.Populations:id, population: Integer);
};
○ db 폴더의 하위 폴도러 data 생성
- 지정해두었던 namespace와 entity를 결합해 csv 파일 생성
1) com.sap.cds.hanadool-Countries.csv
2) com.sap.cds.hanadool-Populations.csv
○ 두 csv 파일은 아래의 첨부된 코드를 복붙해 입력
(출처 : https://ryans-log.tistory.com/entry/exam-bas-with-capjava-cds-and-deploy-to-btp)
○ csv 파일의 첫 줄은 헤더로 entity에 정의한 컬럼 명을 나열 두번째 행 부터 데이터를 정의한 컬럼 type에 맞게 작성
- SQL의 경우, INSERT 하고자 하는 정보를 칼럼 수와 타입, 설정값 등을 고려해 채워 넣는 것과 유사함
- $DELIMETER를 사용해 더미 데이터를 만드는 과정이라고 볼 수 있음
- 다만, 자동으로 생성되는 것이 아니라, 직접 임의의 데이터를 하나씩 삽입해줘야 한다는 차이점이 있음
○ 터미널에서 SpringBoot 실행
- mvn spring-boot:run 입력
○ URL 접속
- 구동이 완료되면 BAS 우측 하단에 "Open in a New Tab" 노출됨
- 해당 버튼 클릭
○ odata 및 $metadata 확인 페이지
○ Spring Security로 인해 로그인이 필요
○ 로그인 정보 확인
- 사용자 이름 : user
- 비밀번호 : BAS의 terminal에서 spring-boot:run 구동 로그에 노출됨
'SAP > UI5' 카테고리의 다른 글
[ SAPUI5 ] Hello World! (0) | 2023.02.02 |
---|---|
[ SAPUI5 ] BookedFlights (0) | 2023.02.01 |
[ SAPUI5 ] Hello World (2) | 2023.02.01 |
[ SAPUI5 ] VSCode에서 SPAUI5 환경 설정 및 실행 (0) | 2023.01.31 |