메뉴 건너뛰기

SAP 한국 커뮤니티

[Guide]어려운 이야기는 쏙 뺀 ABAP으로 하나 플랫폼 이용하기

공상우 2017.02.12 10:26 조회 수 : 7528 추천:1

안녕하세요.

아래 내용은 2017 2 11 HANA 스터디에서 사용된 강의 내용중 일부를 정리해 공유하고자 올립니다.

원작자는 접니다.


목차

1. 처리방식에서 처리방식으로
2. 하나만 아는 아닌  HANA
3. ABAP 7.4~
4. ALV with IDA with HANA
5. ABAP CDS
6. AMDP
7. Modeling & HANA Stored Procedures


들어가기전

ABAP on HANA 개발툴 소개

개발툴은 SAP에서 배포하는 하나 스튜디오를 사용하거나 이클립스에 해당 플러그인을 설치하면 된다.


1. SQL
처리방식에서 처리방식으로

결국 하나 플랫폼을 제대로 사용하기 위해서는 PUSHDOWN 개념을 이해하고 개발방법을 바꿔야 한다.

슬라이드6.png 슬라이드7.png

- PUSHDOWN 이란 데이터 집중 계산을 데이터베이스 계층에 넘기는 것을 의미한다.

사용되는 기술은 아래와 같다.
1) ABAP 7.4~
2) AMDP
3) ABAP CDS
4) HANA Modeling View
5) Procedure using SQLScript

- PUSHDOWN 개발방법은 2가지 측면에서 이뤄진다.

레벨1
연산을 DB 있도록 명령어만 수정하는 방식
) 인터널테이블을 최대한 자제하고 OPEN SQL만으로 처리하기

레벨2
연산을 DB 있도록 소스 코드 자체를 DB 전부 옮기기
) CDS, 모델링 , 프로시져


2. 하나만 아는 아닌  HANA

SAP HANA 장비는 단순히 ERP용으로 사용되는 DB 생각하면 된다.

다양한 소스에서 추출한 빅데이터  분석, 처리가 가능한 고성능 장치이자 플랫폼이란 점을 잊어서는 안된다.

슬라이드15.PNG

슬라이드16.PNG 

그래서 ABAP 개발자는 어떻게 하면 될까요?

1) OPEN SQL 적절히 사용하기
- 테이블 생성, 데이터 입력   수정

2) ABAP CDS View 활용하기
- ABAP 레포트에서 데이터 조회를 위해  사용

3) ADMP
- CDS View만으로 커버되지 비즈니스 로직이 있는 경우

4) 모델링 & 프로시져 활용

- 방대한 데이터로 인해 속도 이슈가 있어 특단의 조치가 필요한 쿼리가 필요한 경우
- 서로 다른 ERP 또는 외부 빅데이터와의 데이터를 분석할 경우
- ABAP 레포트와 함께 BW, FIORI에서 사용될 목적이 있는  경우


3. ABAP 7.4~

현재 7.5 까지 나왔으며 ABAP 여전히 발전 중이다.

3.1지원하는 Table Join 타입이 추가

3.2 SQL 문법의 추가

3.3 SQL Function 기능 제공
- Arithmetical expressions: + | - | * | DIV | MOD | ABS | FLOOR |  CEIL
- Concatenation of character  columns with &&

- Aggregate functions
- Conditional expression with CASE
- Casting with CAST
- Elementary values
- Coalesce


4. ALV with IDA on HANA

슬라이드20.PNG

출력해야 데이터가 ALV 클래스의 인터널테이블을 거치지 않기 때문에 수백만 건의 데이터를 조회해도 GUI에서 초만에 ALV 출력이 가능하다.

 

5. ABAP CDS

View building with Core Data Services in ABAP
- ABAP DDL 소스를 통해 다양한 테이블과 필드를 다룰 있으며 각종 연산이 가능하기 때문에 풍부한 데이터 모델을 정의할 있다.
- Code pushdown 방식의 개발방법을 지원한다. OPEN SQL 혼용해서 사용이 가능하다.
- ABAP Dictionary 지원하기 때문에 ABAP프로그램과 통합되기 용이하다.
- CDS View 필드가 OPEN SQL 지원한다.


6. AMDP

ABAP으로 생성/관리하는 HANA 프로시져다. 이를 제대로 이해하기 위해서는 HANA 개발 방법론을 이해해야 한다.
- DB
에서 시작한 상향식 개발방법
이클립스에서 하나 DB 접근해서 SQLScript 작성한 프로시져 생성
이클립스에서 ERP 프로시져로 데이터를 받기 위한 인터페이스(프록시) 생성
위에서 생성한 프록시를 ABAP 프로그램에서  호출
CTS
Delivery Unit으로 시스템 배포방법 2원화

- ERP에서 시작하는 하향식 개발방법
ABAP
으로 레포트 생성
SQLScript
작성한 코드가 담긴 ABAP 클래스 호출
하나의 CTS만으로 시스템 배포관리가 가능


7. Modeling & HANA Stored Procedures

성능을 보장하고 복잡한 비즈니스 로직을 담을 있으나 모델링 , SQLScript, ABAP 모두 다룰 있어야 한다.

7.1 모델링
ABAP on HANA 과정에서는 부분을 자세히 다루지 않습니다.
7.2
프로시져 복잡한 쿼리와 가공 로직은 프로시져로 해볼까?

- SQLScript 사용
개발할때 자주 사용하는 기능을 펑션으로 제공하고 복적인 수행을 처리할 있다.

- ERP 프록시로 통신
ABAP
에서 바로 호출할 없고 이클립스에서 ERP 프록시를 만들어주면 사용가능하다.

- 피오리 개발에 활용가능
Analytical APP 만들 사용함


거론되지 않은 이야기

- Collum 베이스 테이블이 무엇을 의미하나?

- Fuzzy 검색이란?

- ABAP에서 Native SQL 사용한다면?

- ADBC(ABAP Database Connectivity)

- 하나 플랫폼 관점에서 피오리