목록ABAP (24)
From Zero to SAP
1편에서 클래스/메서드/생성자, 2편에서 상속/다형성/Abstract를 다뤘다.마지막 3편에서는 인터페이스와 이벤트 심화를 정리한다.이번 편을 끝으로 ABAP OOP의 핵심 개념이 마무리된다.목차왜 인터페이스가 필요한가?인터페이스란?인터페이스 구현인터페이스 참조와 다형성별명 (ALIASES)이벤트 심화배운 점1. 왜 인터페이스가 필요한가?ABAP은 다중 상속을 허용하지 않는다.이유는 바로 다이아몬드 문제 때문이다.여러 부모 클래스에서 같은 이름의 메서드를 상속받으면 컴파일러가 어느 쪽을 호출해야 할지 결정할 수 없게 된다.예를 들어 FlyingAnimal 과 SwimmingAnimal 이 각자 speak() 를 오버라이딩한 상태에서 Duck 이 둘 다 상속받으면, Duck 의 speak() 는 어느 쪽인..
1편에서는 클래스, 메서드, 생성자, 이벤트를 다뤘다.이번 2편에서는 상속과 다형성, Abstract/Final, 정적 속성과 생성자 를 정리한다.마찬가지로, Java를 먼저 배운 입장에서 개념은 동일하고, ABAP 고유의 문법 위주로 정리했다.목차상속 (Inheritance)오버라이딩 (Overriding)다형성 (Polymorphism)Abstract / Final 메서드와 클래스클래스 컴포넌트의 네임스페이스상속과 정적 속성상속과 생성자배운 점1. 상속상속은 객체지향프로그래밍에서 빠질 수 없는 개념이다.ABAP에서는 부모 클래스를 슈퍼클래스, 자식 클래스를 서브클래스 라고 부른다.CLASS zcl_dog DEFINITION PUBLIC CREATE PUBLIC INHERITING FROM zcl_a..
Eclipse ADT + BTP Trial 환경에서 SAP RAP 개발자를 목표로 공부하면서 정리한 내용이다.기존에 알고 있는 지식은 최대한 제외하고, 새롭게 알게된 지식을 위주로 포스팅했다.ABAP Dictionary란?ABAP Dictionary는 단순히 데이터베이스 테이블만을 의미하는 게 아니다. 크게 세 가지 영역으로 나뉜다.데이터베이스 오브젝트 - 테이블, 뷰 등 실제 DB에 존재하는 것들타입 정의 - Domain, Data Element, Structure 등 타입 관련 오브젝트ABAP Tool - 검색 도움말, Lock 오브젝트 등1. 테이블Delivery Class테이블을 SAP 시스템 간에 이동(Transport)할 때 데이터를 어떻게 처리할지 정의하는 속성이다. Delivery Clas..
[부서별 급여 분석 + 랭킹]1. 인터널 테이블 세팅[1단계] gt_emp에서 SALARY 상위 3명만 담는 랭킹 테이블 gt_top3 만들기INITIAL SIZE 3 활용반드시 APPEND ... SORTED BY 패턴 사용 APPEND - SORTED BY 패턴을 사용함으로써 급여 기준 오름차순으로 데이터가 삽입되도록 했음.만약, 데이터가 3개가 초과됐으면 맨 앞 데이터(INDEX 1)를 삭제함으로써 상위 3명을 유지한다. [2단계] 부서별 총 급여와 평균 급여를 담는 gt_dept_stat 테이블을 만들어라.구조: DEPT_CD, TOTAL_SAL, AVG_SAL, EMP_CNT평균 계산 후 MODIFY 시 AVG_SAL 필드만 수정하라위와 같이 MODIFY - TRANSPORTING 패턴을 사용..
피트니스 센터에는 다음 두 개의 DB 테이블이 있다.회원 테이블: ZMEMBER필드: MBR_ID(CHAR10), MBR_NAME(CHAR30), GRADE(CHAR10), JOIN_DATE(DATS)출석 테이블: ZATTEND필드: MBR_ID(CHAR10), ATTEND_DATE(DATS), LESSON_FEE(INT4)`[테이블 생성]@EndUserText.label : '피트니스 회원 마스터'@AbapCatalog.enhancement.category : #NOT_EXTENSIBLE@AbapCatalog.tableCategory : #TRANSPARENT@AbapCatalog.deliveryClass : #A@AbapCatalog.dataMaintenance : #RESTRICTEDdefine t..
챕터 5 인터널 테이블 이론을 읽고 나서, 진짜 내 것으로 만들기 위해 실습 문제를 10개 풀어봤다.이론으로 읽을 땐 이해한 것 같았는데, 막상 코드를 짜보니 예상치 못한 부분에서 계속 막혔다.특히 FILTER 에서 여러 번 오류를 겪으면서 ABAP 타입 시스템을 깊이 이해하게 됐다.오늘 실습하면서 알게 된 것들과 실수한 부분들을 회고 형식으로 정리해본다.실습 진행을 위해 아래와 같이 ZMEMBER 딕셔너리 테이블을 생성했다.Level 1. 기본기 다지기문제 1 — LOOP + Work Area 기본 출력모든 회원의mem_id, mem_name, score 를 한 줄씩 출력하세요. 단, DATA() 인라인 선언 방식을 사용하세요.LOOP AT lt_members INTO DATA(ls_member). ..
ABAP 인터널 테이블 시리즈 (CH5)TYPE vs LIKE · Work Area vs Header Line · LOOP WHERE/FILTER · 초기화/정렬인터널 테이블 3종 — Standard / Sorted / Hashed · 키 종류 · 성능 비교데이터 추가 — INSERT / APPEND / COLLECT · FOR 반복문데이터 변경·삭제·읽기 — MODIFY / DELETE / READ · BINARY SEARCH[ABAP] 인터널 테이블 MODIFY · DELETE · READ · BINARY SEARCHHANA 기반 Easy ABAP 3.0 · Chapter 5데이터를 넣는 방법에 이어, 이번 포스팅에서는 넣어둔 데이터를 변경(MODIFY), 삭제(DELETE), 읽기(READ)하는 방..
ABAP 인터널 테이블 시리즈 (CH5)TYPE vs LIKE · Work Area vs Header Line · LOOP WHERE/FILTER · 초기화/정렬인터널 테이블 3종 — Standard / Sorted / Hashed · 키 종류 · 성능 비교데이터 추가 — INSERT / APPEND / COLLECT · FOR 반복문데이터 변경·삭제·읽기 — MODIFY / DELETE / READ · BINARY SEARCH[ABAP] 인터널 테이블 데이터 추가 - INSERT / APPEND / COLLECTHANA 기반 Easy ABAP 3.0 · Chapter 5인터널 테이블에 데이터를 넣는 방법이 세 가지 있다. INSERT, APPEND, COLLECT다. 같아 보이지만 목적과 동작이 완전히..
ABAP 인터널 테이블 시리즈 (CH5)TYPE vs LIKE · Work Area vs Header Line · LOOP WHERE/FILTER · 초기화/정렬인터널 테이블 3종 — Standard / Sorted / Hashed · 키 종류 · 성능 비교데이터 추가 — INSERT / APPEND / COLLECT · FOR 반복문데이터 변경·삭제·읽기 — MODIFY / DELETE / READ · BINARY SEARCH[ABAP] 인터널 테이블 Standard / Sorted / Hashed 타입과 성능 비교HANA 기반 Easy ABAP 3.0 · Chapter 5인터널 테이블을 선언할 때 타입을 세 가지 중 하나로 고를 수 있다. STANDARD, SORTED, HASHED다.이 세 가지는 ..
ABAP 인터널 테이블 시리즈 (CH5)TYPE vs LIKE / Work Area vs Header Line / LOOP WHERE / FILTER 초기화 / 정렬인터널 테이블 3종 — Standard / Sorted / Hashed · 키 종류 · 성능 비교데이터 추가 — INSERT / APPEND / COLLECT · FOR 반복문데이터 변경·삭제·읽기 — MODIFY / DELETE / READ · BINARY SEARCH[ABAP] 인터널 테이블 TYPE vs LIKE, Work Area vs Header LineHANA 기반 Easy ABAP 3.0 · Chapter 5인터널 테이블을 본격적으로 다루기 전에 기본적인 선언 문법부터 잡아야 한다. TYPE과 LIKE는 처음 보면 둘 다 "타입을..