[ABAP] 글로벌 클래스(global class)

홍예림·2023년 8월 14일
0

SAP ABAP(개편중...)

목록 보기
53/55
post-thumbnail

개념 공부하기

글로벌 오브젝트를 참조하는 ITAB의 필드는 로컬 스트럭처를 선언해 필드를 담아준 후 사용해야 한다.


펑션의 체인징, 테이블즈는 임포트/익스포트 기능 둘 다 수행 가능하다. 동적으로 테이블을 주고받을때 IN을 사용하는 경우에는 타입을 주지 않은 글로벌데이터(pt_carr)를 직접 활용 가능하다.


생성

클래스 빌더(SE24)에서 정의

펑션은 단일로직만 가지고 있으나, 클래스는 메서드 또는 상속 등으로 여러개의 로직을 포함할 수 있다. 성격이 같은 로직(ex. 공용 코드를 가진 공통 로직, CM(common module))끼리 한 클래스에 담는다.

  • ZCLC5_25_airline = Z + CL(class) + C5(모듈) + ...


1. 클래스 화면

프로퍼티에서 메세지 클래스 설정
인스턴스 메서드 선택 - 퍼블릭 선택 - 디스크립션 작성 후 파라메터 클릭

기존의 메서드를 지울 때에는 반드시 delete method 아이콘을 사용해 지운다.

2. 파라메터 화면

익스포트/임포트 파라메터 정의한 후 소스코드로 이동
테이블즈는 테이블타입을 만들어 준 후 Changing을 활용해 만든다.
타 시스템과 연계하는 경우 PASS VALUE(화면의 P...) 선택

3. 소스코드 화면

엑티브 후 작성한다.
헤더가 있는 인터널테이블은 사용할 수 없다.
시그니처를 클릭(Shift+F9)하면 파라메터 목록 확인 가능

4. 생성된 클래스 확인 & 단위테스트

로직을 작성한 후 활성화(F8)해 단위테스트 한다.

파라메터에 직접 데이터 입력이 가능하다.
PT_LIST에 들어가 데이터를 입력하면 그대로 생성되며, 이것을 지우려면 다시 들어가 딜리트 해야한다. 구조는 싱글엔트리 아이콘을 클릭하면 확인 가능하다.


테이블 타입 생성하기


사용하기

예시1. 생성한 테이블타입 활용

예시2. 스탠다드 테이블타입 활용

실무에서는 스트럭처를 정해주기 때문에 사용할 일은 거의 없다.

profile
SYNC 3기 5반 2023.07 - 2023.12

1개의 댓글

comment-user-thumbnail
2023년 8월 14일

이런 유용한 정보를 나눠주셔서 감사합니다.

답글 달기