안녕하세요.
아래 내용은 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 개념을 이해하고 개발방법을 바꿔야 한다.
- 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로 생각하면 안 된다.
다양한 소스에서 추출한 빅데이터 분석, 처리가 가능한 고성능 장치이자 플랫폼이란 점을 잊어서는 안된다.
그래서 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
출력해야 할 데이터가 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)
- 하나 플랫폼 관점에서 본 피오리
댓글 10
-
Brisky
2017.02.14 14:07
-
데이먼
2017.02.17 20:35
감사합니다
-
SD 밥
2017.05.23 02:10
정말 어려운 내용은 쏙 빠진 유용한 글이네요.
도움 되었습니다.
감사합니다.
-
kiwon
2017.11.15 20:26
잘 볼게요
-
초코
2018.01.26 20:25
감사합니다.
-
그거별거냐
2018.05.18 20:01
복잡한 머리 속이 정리가 좀 됩니다. 감사합니다.
-
bakyeon
2018.06.06 02:40
감사합니다.
-
하회탈0
2018.10.27 01:53
감사합니다.
-
낭만돼지
2018.11.20 01:52
감사합니다.
-
우유
2018.11.21 00:01
잘 보겠습니다
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
11 | [Guide] 하나 천재가 된 하대리의 비밀 [14] | 공상우 | 2017.12.30 | 7839 |
10 | [Guide] ABAP CDS View 아는 만큼 그리고 필요한 만큼 사용하기 2부 [2] | 공상우 | 2017.12.30 | 16777 |
9 | [Tips] ABAP CDS View 에서 Join과 Association 의 차이 | 공상우 | 2017.12.30 | 4966 |
8 | [Tips] S4H 1511 이후 자재문서 테이블에 커스텀 필드 추가방법 >> 23.03 수정 [5] | 공상우 | 2017.12.29 | 4165 |
7 | [Guide] ABAP CDS View 아는 만큼 그리고 필요한 만큼 사용하기 1부 [1] | 공상우 | 2017.12.28 | 6372 |
6 | [Tips] 기존 테이블명으로 CDS View 찾기 [1] | 공상우 | 2017.12.28 | 3752 |
5 | [Tutorial] HANA View 모델링부터 Extention View 까지 [1] | 공상우 | 2017.03.20 | 6609 |
4 | [Tutorial] ABAP CDS 3부 / AMDP / CDS with AMDP [2] | 공상우 | 2017.03.06 | 11359 |
3 | [Tutorial] ABAP CDS 2부 [2] | 공상우 | 2017.03.06 | 7087 |
2 | [Tutorial] ABAP7.4 / ABAP ALV IDA / ABAP CDS 1부 [8] | 공상우 | 2017.02.20 | 9299 |
» | [Guide]어려운 이야기는 쏙 뺀 ABAP으로 하나 플랫폼 이용하기 [10] | 공상우 | 2017.02.12 | 7949 |
스터디 강의 공개 감사합니다.
앞으로도 잘 부탁드립니다.