일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sap
- Data Element
- Internal Table 헤더라인
- ABAP DATA 구조체
- ABAP 헤더
- ABAP DELETE
- ABAP UPDATE
- 인터널 테이블 생성
- Internal Table header
- ABAP INSERT
- DOMAIN
- abap
- Nested structure
- OPEN SQL
- ABAP TYPE 구조체
- Internal Table
- ABAP FROM
- 싱글톤 패턴 사용이유
- java
- ABAP INTO
- ABAP WHERE
- abstrac class
- 인터널테이블
- ABAP MODIFY
- ABAP SQL
- ABAP SELECT
- ABAP OPEN SQL
- 헤더라인
- ABAP Internal Table
- ABAP 구조체 선언
- Today
- Total
행복한 째아의 개발 블로그
[실습을 해보자] SAP 통화키 적용하기 본문
SAP에서 금액을 저장할 때는 보통 소수 2자리로 저장을 한다.
달러의 경우 센트의 개념이 있기 때문에 10.55와 같이 표현할 수 있기 때문이다.
이 말은 내가 1000원을 입력하면 SAP에서 10.00으로 저장한다는 말이다.
아니 그럼 내가 1000원을 저장하고 싶으면 100000을 입력해야 될까??
아니다.
그냥 1000을 입력해도 된다.
그러면 10.00으로 저장이 되는데 우리가 어떻게 이게 1000원인지, 10달러인지를 알 수 있을까?
그래서 SAP에서는 통화키를 사용한다.
통화키는 KRW, USD와 같이 각 나라의 화폐 코드라고 생각하면 된다.
테이블에 금액 관련 필드를 만들면 통화키 필드를 만들어서 연결해줘야 나중에 볼 때 1000원인지 10달러인지 확인할 수 있다.
그럼 한 번 테이블에 금액 관련 필드를 만들어서 통화키를 적용해보자.
법인카드한도 필드를 만들어보자.
필드 이름을 AMOUNT로 입력하고 Data Element 타입 이름 설정 뒤 더블클릭 해주자.
Data Element 유지보수 창에서 Domain을 만들어주자.
마찬가지로 이름 입력 후 더블클릭.
도메인 유지보수 창에서 이름, 내역을 입력해주자.
데이터 타입은 통화(돈이라고 생각하자)인 CURR로 설정해주고 아래 길이의 경우 원하는 길이로 입력해주자.
그리고 Sign칸에 체크하자.
Sign 칸에 체크하면 +/- 부호를 사용하여 값을 입력할 수 있다.
저장-활성화 해주면 AMOUNT 필드의 데이터 타입 설정이 완료된다.
이제 통화 키 필드를 만들어보자.
위와 같이 필드란에 WAERS를 입력해주면 끝이다.
SAP에 이미 Data Element로 통화 키가 저장돼있기 때문에 그냥 가져다가 쓰면 된다.
이렇게 끝이면 좋겠지만 한 단계가 더 남아있다.
금액 관련 필드와 통화키를 연결해줘야 된다.
테이블 유지보수 창에서 Currency/Quantity Fields 탭을 클릭해보자.
그러면 우리가 데이터 타입을 CURR로 설정한 AMOUNT 칸에만 참조테이블, 필드 칸을 입력할 수 있는 것을 확인할 수 있다.
현재 테이블에 통화 키 필드를 만들어놨으므로 참조테이블은 현재 테이블 이름, 참조필드는 통화 키 필드 이름을 입력해주면 된다.
나의 경우 YTJAM001과 WAERS를 입력해줬다.
완료 후 저장-활성화 하면 통화키 설정이 완료된다.
법인카드한도에 100을 입력하면 100.00이 입력된 것을 볼 수 있다.
이 상태에서 통화를 KRW(원화)로 바꿔주면 자동으로 10000원이 되는 것을 확인할 수 있다.
결국 원화 입력 시 뒤에 두 자리를 제외하고 입력하면 SAP GUI에 표시될 때 알아서 소수 두 자리를 붙여서 표기해주는 것이다.
그럼 1000원을 입력해주고 싶으면 10을 입력하면 되겠지?
그럴 경우 USD로 표기 시 10.00, KRW로 표기 시 1,000이 된다.
주의해야 될 것은 이런 편리함이 오직 SAP GUI에서 표기될 때만 그렇게 보이는 것이다.
DB에는 우리가 입력한 10이 들어가게 된다.
따라서 웹에서 DB에 있는 정보를 가져와서 출력하게 될 경우에는 10이라고 표시되는 것이다.
그래서 웹이나 다른 곳에서 정보를 사용할 시에는 100을 곱해주는 등의 후처리를 해준다.
돈이나 수량 같은 경우에는 굉장히 민감한 정보이기 때문에 주의하도록 하자.
'SAP > SAP ABAP' 카테고리의 다른 글
[ABAP 기초] ABAP Editor에 대해 알아보자 (0) | 2022.10.18 |
---|---|
[실습을 해보자] ABAP Dictionary에서 View 생성하기 (0) | 2022.10.17 |
[실습을 해보자] ABAP Dictionary에서 Structure(구조체) 생성하기 (0) | 2022.10.17 |
[ABAP 개념] 왜 Domain를 사용할까? (2) | 2022.10.17 |
[ABAP 개념] 왜 Data Element를 사용할까? (2) | 2022.10.14 |