본문 바로가기

안녕하세요!

SAP/UI5

[ SAPUI5 ] BAS 생성 및 SpringBoot 연동

비즈니스 기술 플랫폼(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)

data.zip
0.04MB

 


 

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 구동 로그에 노출됨

 


 

728x90
반응형

'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

loading