ABAP Structure (구조체) 타입 변수 선언

ABAP Structure(구조체)

ABAP Structure(구조체) 는 복합 데이터 타입이다. 서로 다른 데이터 타입을 묶어 하나의 단위로 그룹화 하는 데 사용하며 사용 시 JavaScript 의 JSON, JSON Array 조합과 비슷한 느낌으로 사용할 수 있다.

테이블과 같이 필드를 지니는 형태로 되어 있으며, 하나의 레코드만 지니는 있는 테이블이라 생각하면 좀 더 이해가 쉽게 된다.

이후 다루게 될 테이블 타입 변수인 Internal Table 에서 테이블의 라인에 담긴 데이터를 꺼내와 담아 (Work Area 의 역할) 사용하는 역할로 주로 수행 된다.

만약 Java 시스템과 연동 되는 ERP 개발자 라면 RFC 라 불리 우는 두 시스템 간의 데이터 통신 시, Java 에서 보내는 Object 타입의 key, value 데이터가 ABAP 에선 이 구조체의 필드에 맞춰서 전달 받아 사용이 된다.

ABAP 프로그래밍을 약 7년 간 해보니 이 Structure 는 계속 사용되므로 이해하자.

구조체 변수 선언

구조체 선언 시, 다음과 같은 BEGIN OF ~ END OF 를 사용하여 선언 된다.

DATA: BEGIN OF ls_employee,
  id TYPE i,
  name TYPE c LENGTH 30,
  position TYPE c LENGTH 20,
  salary TYPE p DECIMALS 2,
END OF ls_employee.
ABAP

필드

구조체는 구조체 명 안에 필드명을 부여해서 사용한다. 위의 예시의 경우 id, name, position, salary가 필드다. 사용할 때는 구조체명-필드명 형태로 사용한다. (예: ls_employee-id)

재사용성

구조체를 사용하는 이유는 재사용성이 가장 크다. 사용 용도로 변수를 묶을 수 있고 필드는 각 구조체 별로 동일한 이름을 사용할 수 있다.

참고 사항

구조 복사

구조체를 복사해서 동일한 구조를 지닌 변수를 선언하고 싶다면 LIKE 문을 이용, 다음과 같이 작성하면 된다.

DATA: BEGIN OF ls_employee,
  id TYPE i,
  name TYPE c LENGTH 30,
  position TYPE c LENGTH 20,
  salary TYPE p DECIMALS 2,
END OF ls_employee.

DATA: ls_employee2 LIKE ls_employee.
ABAP
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
목차
위로 스크롤