ABAP은 SAP에서 사용되는 고급 비즈니스 응용 프로그램 프로그래밍 언어이며, 주로 SAP ERP 시스템에서 사용된다.
ABAP은 Pascal과 비슷한 문법을 사용한다. 기본적인 구조는 프로그램 헤더, 데이터 선언, 실행 부분으로 구성된다.
ABAP은 객체 지향 프로그래밍(OOP)을 지원한다. 클래스는 데이터와 메서드로 구성되며, 객체 지향 프로그래밍의 주요 요소이다.
Data Dictionary는 데이터베이스 테이블, 뷰, 데이터 타입 등을 정의하는 곳이다. ABAP 프로그램에서 사용할 데이터 구조를 정의한다.
SAP 시스템의 표준 기능을 수정하거나 확장하기 위해 Enhancement Framework를 사용한다. BADI(Business Add-Ins)와 같은 도구를 사용한다.
재사용 가능한 코드를 작성하고 실행하기 위한 모듈이다. RFC(Remote Function Call)를 통해 다른 시스템과 통신할 수 있다.
프로그램 내에서 어디서든 접근 가능한 변수이다. 데이터 선언 부분에서 선언된다.
SAP의 인메모리 데이터베이스 플랫폼으로, ABAP 개발자들은 HANA를 사용하여 데이터 처리를 가속화할 수 있다.
데이터 집합을 메모리에 저장하고 조작하는데 사용된다. 데이터베이스 테이블과 비슷하지만, 메모리에 존재한다.
데이터베이스 테이블 간의 관계를 설정하고 데이터를 조회할 때 사용된다. Inner Join, Outer Join 등의 다양한 조인 방법이 있다.
데이터베이스 테이블에서 각 레코드를 고유하게 식별하는 필드이다. Primary Key와 Foreign Key가 있다.
데이터를 반복 처리하기 위해 사용된다. DO, WHILE, LOOP AT 등의 반복문이 있다.
ABAP 프로그램은 여러 모듈로 구성될 수 있다. 모듈은 함수 모듈, 프로그램 모듈, 클래스 모듈 등으로 나뉜다.
객체의 이름 충돌을 방지하기 위해 사용된다. SAP 표준 네임스페이스와 고객 네임스페이스가 있다.
ABAP에서 데이터베이스에 접근하기 위해 사용되는 SQL 언어이다. 데이터베이스 독립성을 보장한다.
ABAP 프로그램의 성능을 최적화하기 위한 다양한 기법을 포함한다. 예를 들어, 효율적인 데이터베이스 접근과 메모리 관리 등이 있다.
데이터베이스에서 데이터를 검색하는데 사용되며, CRUD가 주로 사용된다.
ABAP에서는 데이터를 분석하고 보고서를 생성하는 다양한 방법을 제공한다. 클래식 보고서와 ALV(ABAP List Viewer) 보고서가 있다.
SAP 시스템에서 양식을 생성하고 출력하기 위해 사용되는 도구들이다. SmartForms는 GUI 기반의 도구이며, SAPScript는 텍스트 기반의 도구이다.
사용자가 SAP 시스템 내에서 특정 작업을 수행할 수 있도록 하는 프로그램이다. 트랜잭션 코드(T-Code)를 사용하여 실행된다.
ABAP은 유니코드를 지원하여 다국어 데이터 처리를 가능하게 한다.
데이터베이스 테이블의 특정 부분을 조회하는데 사용된다. Database View, Projection View 등이 있다.
ABAP 개발 환경을 제공하는 도구 모음이다. ABAP Editor, Debugger, Dictionary 등이 포함된다.
ABAP 프로그램에서 XML 데이터를 처리하기 위해 사용된다. CALL TRANSFORMATION 문을 사용하여 XML 데이터를 변환할 수 있다.
ABAP 프로그램의 효율성을 높이기 위해 성능 튜닝과 최적화 기법을 사용한다.
SAP 표준 프로그램과 구별되는 고객 맞춤형 프로그램이다. Z로 시작하는 네임스페이스를 사용하여 고객의 요구사항에 맞게 개발된다.