일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- ABAP SELECT
- ABAP FROM
- java
- Internal Table 헤더라인
- ABAP INSERT
- 인터널테이블
- ABAP 헤더
- ABAP SQL
- 인터널 테이블 생성
- ABAP WHERE
- Data Element
- ABAP 구조체 선언
- sap
- OPEN SQL
- 싱글톤 패턴 사용이유
- ABAP MODIFY
- 헤더라인
- ABAP DELETE
- ABAP TYPE 구조체
- abstrac class
- Internal Table
- Nested structure
- ABAP Internal Table
- DOMAIN
- Internal Table header
- ABAP DATA 구조체
- ABAP OPEN SQL
- abap
- ABAP INTO
- ABAP UPDATE
- Today
- Total
행복한 째아의 개발 블로그
[실습을 해보자] ABAP Dictionary에서 Table, Data element, Domain 생성하기 본문
1. ABAP Dictionary
ABAP Dictionary는 ABAP 프로그램에 사용되는 오브젝트인 Table, View, Structure, Types 등을 말하는 용어다.
이러한 오브젝트들의 정보를 Metadata 또는 Data Definition이라 정의하며, 데이터 구조를 정의하고 관리하는 역할을 ABAP Dictionary가 하게 된다.
Command Field에 SE11을 입력하면 ABAP Dictionary 초기 화면으로 이동할 수 있다.
2. Table 생성하기
우리는 Table을 만들 것이니 Database table칸에 이름을 입력한 뒤 Create를 눌러보자.
이름의 경우 SAP naming rule을 따라 만들면 되는데 이 규칙은 각 회사마다 다르니 내부 규칙을 따르자.
실습의 경우 [Y + 데이터 타입 + 이니셜(구분을 위해) + 데이터 유형] 이런 식으로 설정하도록 하자.
나는 Y + T(Table) + JA(실습용이므로 이니셜) + M(마스터 데이터) + 001(시퀀스) 이렇게 이름을 지었다!
그러면 테이블 유지보수 화면이 나온다.
칸 옆에 보면 이런 아이콘이 있을때가 있는데 이 친구는 search help라고 하며 누르면 해당 칸에 입력을 도와주는 팝업이 뜬다.
해당 팝업에서 원하는 값을 더블클릭하면 바로 입력되니 유용하게 써먹자.
Delvery Class 칸에 있는 Search Help를 클릭하면 해당 칸에 들어갈 수 있는 값 설명 팝업이 뜬다.
여기서 우리는 Application table을 만드는 것이기 때문에 A를 선택해준다.
Data Browser/Table View Maint. 의 경우 '표준테이블 유지보수들을 통한 유지보수를 허용했습니다'로 선택하자.
테이블에서 유지보수를 허용할지 금지할지 정하는 건데 여기서는 유지보수를 허용하고 뒤에 다른 설정에서 권한을 설정하는게 일반적이라고 한다.
3. Table Fields
테이블을 생성했으면 테이블 필드도 만들어 줘야겠지!
Fiels 탭을 클릭해보자.
첫번째 필드는 클라이언트로 설정하는 것이 보편적이다.
클라이언트는 SAP에서 가장 크게 나눌 수 있는 단위로 데이터베이스에서 데이터가 나눠지는 최상위 단위이다.
다른 클라이언트의 데이터와 겹치지 않게 하기 위해 설정하기로 한다.
추후 데이터 입력, 조회 시 SAP에서 자동으로 접속해있는 클라이언트 값으로 설정된다고 한다.
첫 번째 필드를 클라이언트로 입력했으니 본격적으로 테이블 필드를 채워보자.
먼저 USERID를 만들어보자.
이는 키로 사용될 값이므로 키와 initial value에 체크를 하면 된다.
필드의 데이터 타입을 설정하는 방법은 Data Element와 내장 유형이 있다.
내장 유형은 영어로 Predefined Type, SAP에 이미 정의된 타입이라는 뜻이다.
둘의 차이점은 아래 글을 참고하자.
[ABAP 개념] 왜 Data Element를 사용할까?
ABAP Dictionary에서 테이블 필드의 데이터 타입을 설정할 때, 우리는 두 가지 선택을 할 수 있다. 바로 Predefined Type(내장 유형)과 Data Element이다. Predefined Type은 ABAP에서 제공되는 기본 타입이다...
jakim09.tistory.com
내장 유형으로 먼저 데이터 타입을 정의해보자.
빨간 네모로 표시된 내장 유형 버튼을 클릭한다.
그러면 Data element 칸의 입력이 막히고 데이터 유형, 길이 칸에 입력할 수 있게 변경된다.
위의 사진과 같이 각 필드에 원하는 값을 입력해주면 된다.
아주 쉽다.
4. Data element
다음은 Data element로 필드 데이터 타입을 설정해보자.
Data element 칸에 이름 입력 후 더블 클릭해보자.
이 때 이름은 Y + E(Element) + JA(실습용이므로 이니셜) + USERED(필드명)으로 생성했다.
그러면 테이블을 저장할건지 물어보는데 예를 누르고 진행하면 된다.
이제 Data Element를 생성하는 창이 나온다.
여기서 먼저 필드라벨을 입력해보자.
필드 라벨은 ALV라는 ABAP List Viewer에 표시될 필드의 이름이다.
필드 라벨 탭에서 원하는 이름을 입력해주면 된다.
보통 내역에 있는 값을 그대로 입력하는 것 같다.
입력 후 엔터를 치게 되면 길이가 자동으로 설정된다.
다음으로 정의 탭을 눌러보자.
Elemetary Type의 경우 Domain과 Predefined Type 중 선택할 수 있으며 상황에 따라 적절한 것을 선택해서 사용한다.
4-1. Predefined Type
먼저 Predefined Type을 생성해보자.
정의 탭을 누르고 Predefined Type을 선택한 뒤 원하는 데이터 유형과 길이를 설정해주면 끝!
4-2. Domain
이제 도메인을 생성해보자.
Domain 이름을 입력하고 더블클릭을 해준다.
Data element 생성할 때와 마찬가지로 테이블을 저장할 건지 물어보는데 예를 누르고 진행하면 된다.
원하는 Format 입력 후 저장하기.
저장 후에는 Application Tool Bar에 있는 활성화 버튼을 꼭 눌러주자.
막대기에 빨간 불이 들어와 있는 모양의 아이콘인데 다들 촛불이라고 부르길래 나도 따라 할 거다.
SAP에서는 작업을 저장하고 활성화를 하지 않으면 아무 의미가 없으니 수정 후에는 꼭 저장 -> 활성화를 생활화하자.
그러면 도메인 만들기 끝!
위의 작업이 끝나도 우리는 계속 도메인 화면에서 있을 것이다.
다시 Data Element 유지보수 화면으로 돌아가야 되는데 말이다!!
이럴 때는 웹 브라우저와 동일하게 뒤로 가기 버튼을 눌러주면 된다.
초록 화살표는 이전 화면으로 돌아가는 아이콘 (단축키 : F3)
노란 화살표는 메인 화면으로 돌아가는 아이콘
빨간 화살표는 현재 창을 취소하는 아이콘이어서 초록 화살표와 거의 동일한 기능 같다.
밑에 있는 좌우 화살표 아이콘은 이전 오브젝트(단축키 : shift+F6), 다음 오브젝트(단축키 : shift+F7)로 이동한다.
다시 돌아오면 데이터 타입이 잘 들어가 있는 것을 확인할 수 있다.
그러면 무엇을 해야 될까?
바로 저장-활성화! 얼른 습관을 들이자.
활성화를 한 뒤 돌아가기 하여 테이블 유지보수로 돌아오면 데이터 유형과 길이 등 생성한 Data element 속성이 잘 들어가 있는 것을 확인할 수 있다.
이 상태에서 우리는 무엇을 해야 될까?
맞다! 바로맞다! 저장-활성화..!!
테이블의 경우 처음 활성화 버튼을 누르게 되면 그동안은 볼 수 없었던 창이 뜨게 된다.
짜잔~ 이것은 기술 세팅 유지보수 창이다.
우리는 이 중에서 데이터 클래스, 크기 범주 설정을 해줄 거다.
우리는 마스터 테이블을 만들어 주는 거니까 데이터 클래스를 APPL0으로 입력한다.
크기 범주는 입력되는 행들의 크기를 예측해서 설정하는 것인데 우리는 실습용이니 제일 작은 크기인 0으로 설정하자.
다른 옵션들이 보고 싶다면 칸 옆에 있는 Search Help를 눌러보자.
나머지는 그대로 두고 저장하면 테이블 생성 끝~
하지만 이런 경고를 만나게 될 것이다.
Enhancement category for table missing
Enhancement category for include or subtype missing
Enhancement를 설정해주지 않아서 그런 건데 안 해줘도 실습 단계에서는 전혀 문제가 없다.
해당 경고를 해결하는 방법은 나중에 따로 쓰도록 하겠다.
경고의 경우 Log를 읽어보고 수정할 필요가 없다고 판단되면 그냥 뒤로 가기 하면 된다.
그러면 진짜 끝!
* 여기서부터는 째아의 주절주절..*
실습을 하다 보면 활성화 시 계속 Log에 경고가 뜨는데 일단 지금 단계에서는 무시하면서 진행했다.
아직 시스템이 익숙하지 않다 보니 하면서도 이게 맞나 싶다..ㅋㅋㅋㅋ
완료됐다는 팝업이 따로 뜨지 않으니까 내가 잘한 게 맞나 싶은데.. 뭐 결과가 나오니 맞게 한 거겠지...?
그래도 아직 초반부여서 그런지 흥미롭고 재밌다ㅋㅋㅋ 과연 즐거움이 얼마나 갈까 싶지만ㅎ
화이팅이다~ 아자아자><
출처 : EASY ABAP 2.0 (김성준 저) 책
'SAP > SAP ABAP' 카테고리의 다른 글
[ABAP 개념] 왜 Domain를 사용할까? (2) | 2022.10.17 |
---|---|
[ABAP 개념] 왜 Data Element를 사용할까? (2) | 2022.10.14 |
[SAP Navigation/Tips] SAP GUI 화면 소개 & T-Code (0) | 2022.10.13 |
[SAP Navigation/Tips] SAP GUI 접속하기 (0) | 2022.10.13 |
ABAP에 대해 알아보자~ (0) | 2022.10.12 |