3. Structure
1. Structure란 무엇인가?
- 테이블처럼 필드로 구성되어 있으나, 데이터는 저장할 수 없고 구조만 가지고 있다.
- 실제 데이터 베이스에는 생성되지 않고 ABAP Dictionary에만 존재하는 타입이다.
- TABLES 구문으로 구조체를 개별 프로그램의 Work Area로 사용할 수 있다.
2. Structure 생성
- T-code : se11
- data type : Z + 모듈 구분명 + 오브젝트 구분자 + 순번
- Structure 선택
- Component 입력
4. View
1. View란 무엇인가?
- 테이블에 분산된 데이터들을 한 번에 조회할 때 View를 사용한다.
- 프로그램에서 테이블처럼 SELECT 구문에 사용할 수 있다.
- 만약 DB View가 두 개 이상의 테이블로 구성되어 있으면 View를 통해서는 읽기만 할 수 있다.
2. View의 종류
- Maintenance View만 책에서 다룰 것
- Maintenance View란 여러 개의 테이블을 동시에 유지보수할 수 있는 View를 의미한다.
- 이때 테이블은 반드시 외래 키로 연결되어 있어야 한다.
- 즉, 외래키로 연결된 테이블들의 원하는 필드를 하나로 모아 maintenance View로 생성하고, View에서 데이터를 입력, 삭제, 변경하면 실제 테이블의 데이터도 수정된다.
- ABAP 프로그램 안의 SELECT 문 같은 곳에서는 사용할 수 없다.
<Database View 만드는 법> 391p
- SE11
- View 필드에 Z나 Y로 시작하는 View 이름 입력 후 생성(Z + 모듈 구분명 + 오브젝트 구분자 + 순번)
- Database View 선택하고 엔터
Q) 유지보수 상태로 들어가면 '하나 이상의 테이블을 가진 DB뷰만 읽을 수 있습니다.' 라고 나오는데 흠.
<Maintenance View 만드는 법> 394p
- SE11
- Z + 모듈 구분명 + 오브젝트 구분자 + 순번
- Maintenance View 선택하고 엔터
<테이블 유지 보수기 만드는 법> 397p
- 앞에서 생성한 Maintenance View를 수정 모드로 조회하고
- 메뉴 - utilities - table maintenance generator를 선택
- authorization group, function group를 입력 - maintenance type 'one step' 선택
- find scr.number(s) 클릭해서 설정
- 페이지 아이콘 버튼 눌러서 Maintenance View Dialog 생성
- Contents 아이콘 클릭하면 Maintenance Dialog에 연결되어 데이터를 유지 보수할 수 있다.
- View cluster는 IMG(Implementation Guide)에서 데이터를 유지보수할 때 주로 사용되는 방법이다.
5. Table Type
- Table Type은 인터널 테이블 속성을 정의하는 목적으로 사용된다.
- Talbe Type 생성 시 Line Type, Access Type, key를 정의해야 한다.
<테이블 타입의 특성>
- 인터널 테이블 라인의 데이터 타입 속성과 구조체를 정의하기 위한 Line Type.
- 인터널 테이블 데이터에 접근하고 관리하기 위한 옵션(Access Mode)
- 인터널 테이블의 Key(Key definition과 Key category)
DATA gt_itab TYPE T_TYPE.
<Table Type 생성>
- se11
- data type 필드에 table type 이름 입력 - 생성
- 테이블 타입 선택
- 이미 존재하는 타입 참조 시 'Line Type' 라디오 버튼 클릭
- Line Type 선택 시 이미 존재하는 Data Element, Structures, table, Table Types, View 선택 가능
- RANGE Table Type은 프로그램에서 RANGE 변수로 사용된다.
- RANGE 변수는 SELECT 구문에서 IN명령어를 사용할 수 있다.
- RANGE Table 타입은 SELECTION-OPTION처럼 SIGN, OPTION, LOW, HIGH 네 가지 고정된 필드를 가진다.
<RANGE Table Type 생성>
- se11
- data type - 테이블 명 입력 - 생성
- table type 선택
- 메뉴 - edit - define as ranges table type 선택
- data element에 해당 element 입력하고 - create.
- RANGE 변수는 개별 프로그램에서 RANGES 구문으로 변수를 선언하여 사용할 수 있다.
- Header Line이 존재하는 SELECT-OPTIONS와 같은 구조이다.
<Local RANGE 변수 선언>
RANGES : R_CARR FOR SFLIGHT-CARRID.
SELECT-OPTIONS : SO_CARR FOR SFLIGHT-CARRID.
6. DOMAIN
- 도메인은 필드의 기술적인 속성을 정의하고 Data Element에 할당되어 사용된다.
<도메인 생성>
1)
- se11
- domain 필드에 Z나 Y로 시작하는 도메인 이름 입력
2)
Data Element에서 바로 도메인 필드에 이름 입력 후 더블클릭으로 생성
- Data Type과 길이 지정
- Value Range 탭에서 Domain에서 사용 가능한 값 설정(Single value, Intervals, Value Table)
7. Data Element
- 데이터 엘리멘트는 테이블 필드의 모든 정보를 가진 ABAP Dictionary 오브젝트이다.
- 데이터 엘리멘트를 생성하면, 모든 테이블의 필드 속성으로 사용할 수 있고, TYPE 구문의 대상이 될 수 있다.
- 레이아웃에서 스크린의 화면 속성으로도 사용할 수 있다.
DATA L_CONNID TYPE S_CONN_ID
<Data Element 생성>
- se11
- Data type - 이름 입력
- data element 선택
- data type, field label 입력
오....... 예제를 할 수가 없어 너무너무 어렵다...
'어쩌다 SAP > 어쩌다 ABAP' 카테고리의 다른 글
14일차) ALV - DESONG님 유튜브 보고 정리 - 초급편 (0) | 2020.09.17 |
---|---|
13일차) 멘토님 과제를 풀어보았읍니다.... (0) | 2020.09.17 |
11일차) ABAP Dictionary Overview, Table (0) | 2020.09.09 |
10일차) Debugging (0) | 2020.09.07 |
9일차) 인터널 테이블 데이터 추가, 변경, 삭제, 읽기 (0) | 2020.09.04 |