ABAP 프로그램은 크게 두 부분으로 나뉜다.
ABAP에서는 데이터 필드나 구조체, 테이블을 명시적으로 선언한 후, 프로세싱 블록에서 이 데이터를 처리한다.
DATA: var1 TYPE I, "정수형 변수 선언
var2 TYPE C. "문자형 변수 선언
필드는 ABAP에서 데이터를 저장하기 위한 변수와 같은 개념이다.
필드는 데이터를 일시적으로 저장하며, 계산이나 논리 흐름 제어에 사용된다.
ABAP에서 필드는 다양한 데이터 타입으로 선언할 수 있다.
DATA num1 TYPE I.
DATA text TYPE C LENGTH 10.
DATA today TYPE D.
DATA num_string TYPE N LENGTH 5.
ABAP 프로그램은 여러 컴포넌트로 구성되며, 그 중에서 Dynpro 프로세서와 ABAP 프로세서가 핵심 역할을 한다.
사용자와의 상호작용을 담당하며, 실제 계산을 수행하지는 않는다. 예를 들어, 화면에서 버튼을 클릭하거나 입력한 데이터를 받아들이는 역할을 한다.
논리적인 처리 및 계산을 수행한다.
ABAP는 데이터베이스 독립적인 언어로, 모든 데이터베이스에서 ABAP 코드를 동일하게 사용할 수 있다.
데이터베이스와 상호작용할 때 Open SQL을 사용하며, 이 SQL 언어는 대부분의 SAP 시스템에서 권장된다.
SELECT * FROM my_table INTO TABLE lt_data.
ABAP 개발을 위해 사용되는 주요 트랜잭션 코드
ABAP 에디터, 프로그램을 작성하고 실행하는 개발 환경
함수 빌더, 프로그램을 함수 모듈로 캡슐화하여 사용할 수 있는 환경
오브젝트 네비게이터, 모든 개발 도구를 한 곳에서 관리할 수 있다.
데이터 사전(ABAP Dictionary)는 SAP 시스템 내의 데이터베이스 테이블, 데이터 타입, 도메인 등을 정의하고 관리하는 데 사용된다.
SE11 트랜잭션을 통해 접속할 수 있으며, 새로운 테이블이나 필드를 생성할 때 사용된다.
로컬 오브젝트는 개발 서버에만 존재하는 프로그램이나 테이블을 의미한다.
개발 후 시스템 전체에 배포하지 않는 한, 로컬 오브젝트로 유지된다.
개발 시 자주 사용되는 용어로, 프로그램을 테스트 하거나 내부적으로 사용할 때 유용하다.
로컬 오브젝트로 저장할 때는, Z 또는 Y 로 시작하는 사용자 정의 객체 이름을 사용한다.
(이사님이 Y로 시작하는게 좋다고 하셨는데 이유는 모름)
ABAP에서 문자열을 검색할 때는 **SEARCH) 명령어를 사용한다. 검색 결과는 sy-subrc 와 sy-fdpos 시스템 변수를 통해 확인할 수 있다.
SEARCH text FOR 'ABC'/
IF sy-subrc = 0.
WRITE: / '문자열을 찾았습니다', sy-fdpos.
ENDIF.
sy-subrc: 0이면 성공, 4이면 실패.sy-fdpos: 문자열의 위치 반환* 로 시작" 로 시작