※ 정리 목적으로 작성한 글로, 고쳐야 할 부분이 있다면 언제든 의견 주세요!
* Domain : 필드의 기술적 속성으로, Data Element에 지정하기 위해 만들어 줌
* Data Element : 필드의 내용적 속성으로, 필드에 지정해줘서 테이블의 정보를 구성함
* Structure : Data Element로 구성된 필드들에 값을 넣을 수 있는 한 줄짜리 변수
* Internal Table : Structure이 여러 줄로 구성되어 테이블 구조를 띈 변수
* Table : DB에 저장되는 데이터가 쌓여있는 공간으로, 필드와 값으로 구성
1. Domain 생성
- Data Type
Data Type을 설정함으로써 필드의 기술적 속성을 정의할 수 있음
No.Characters로 길이 설정, enter 시 Output Length 자동 계산
길이의 고정 유무에 따라 두 가지로 분류됨
* complete ABAP Standard Data Type (길이가 고정된 Type)
D | 날짜, YYYYMMDD 길이 8 |
T | 시간, HHMMSS 길이 6 |
I | 정수, 길이 4 byte |
F | 실수 길이 8 byte |
String, XString | 동적 길이 문자형 |
* Incomplete ABAP Standard Data Type (길이가 고정되지 않은 Type)
TYPE P LENGTH 16 DECIMAL 2. | 실수 (정수 14, 소수 2) |
TYPE N. | 숫자 문자열, 산술 안돼서 소수 X |
TYPE C. | 문자, LENGTH 안 적을 경우 기본값 한 자리 |
TYPE X. | 16진수, 기본값 1 |
- Sign : 음수 가능 옵션
- Case-sensitive : 소문자 가능 옵션
Value Range에서 값 제 설정 가능
- Single Vals : 단일값 설정
- Intervals : 범위값 설정
2. Data Element 생성
위에서 만든 도메인명을 입력해줌
하나의 도메인은 여러 개의 Data Element에 사용 가능
Search Help
- Name : Search Help 이름
- Parameters : Search Help의 키필드명
입력하면 possible entry에 연결된 데이터 조회 가능.
- Parameter ID : GET/SET Parameter 등 Screen에서 값 저장, 제어할 때 이용 (3자리 고정)
Field Label은 ALV에서 필드 띄울 때 기본적으로 보여지거나, SCREEN에서 필드값 기본적으로 지정되어 나타나기 위해 설정하는 이름.
길이에 따라서 다양한 Label을 설정할 수 있음
3. Structure 생성
- Component : 테이블의 필드명과 같음
- Component Type : 테이블의 Data Element와 같음
물리적인 공간이 발생하는 테이블과 다르기 때문에 Technical Setting 할 필요 없고, MANDT 필드가 필요 없음
이렇게 만든 structure은 테이블에 .INCLUDE 로 Append Structure 할 수 있음
4. Table Type 생성
Line Type에 만들었던 Structure 명 기입
- Standard Table : index access, key access (주로 index로 access)
- Sorted Table : index access, key access (주로 Key로 access)
- Hashed Table : key access 만 가능
Access 유형에 따라 Key Components 체크 후 키필드 입력해줌
이후 프로그램에서 TYPE TABLE OF 키워드를 통해 인터널 테이블 선언 가능
5. Transparent Table 생성
A : master and transaction data
Display/Maintenance Allowed (조회/수정 가능) 설정
필드명과 Data element 입력, Key field / Initial Value 설정
Initial Value를 설정하게 되면 Null 값을 막을 수 있음
키필드 일 때는 Key fields/candidates 를 선택하고 Cardinality를 지정해주면 됨
보통 설정 안해도 크게 상관없지만, Text Table의 경우 Key fields of a text table 선택해야 함
수량, 금액 필드가 존재하는 경우 Reference table과 Ref.field를 설정해줘야 함
단위가 같이 필드로 존재하면 Reference table은 현재 생성중인 테이블의 이름, Ref.field는 필드명을 적어주면 됨
- Data Class : APPL0 (Master Data) , APPL1 (Transaction Data)
- Size Category : DB의 저장공간 지정, 보통 0 ~ 2로 설정하면 됨
- Buffering type : Full , Generic , Single-Record
Buffering을 적용하지 않을 경우 Open SQL로 Table에 직접 접근
Full의 경우, 테이블의 모든 필드 다 읽어서 SAP Table Buffer에 보관했다가 해당 라인만 도출하기 때문에
테이블의 라인이 많지 않고 수정이 없어야 함
Generic의 경우, 키 값에 해당하는 조건 라인들만 읽어서 보관하기 때문에 키필드가 여러 개일 때 효과적인 방식
Single-Record의 경우, 버퍼를 한 줄 단위로 저장
'SAP > ABAP' 카테고리의 다른 글
#6. 인터널테이블 (0) | 2023.10.05 |
---|---|
#5. 프로그램 호출 & 값 전달 (0) | 2023.10.03 |
#4. ABAP EVENT (0) | 2023.09.21 |
#3. INSERT, UPDATE, MODIFY, DELETE (0) | 2023.09.19 |
#1 ABAP Workbench (0) | 2023.06.27 |