로직 짜다가 나름 새로운 부분을 발견했다.
ABAP 내에서 ' DIV' 라는 구문과 '/'라는 구문이 똑같이 나누기를 의미하는줄 알았는데 둘이 다른 값이 나온다.
코드는 간단하게 이렇게 적었다.
DATA: LV_VAL1(4) TYPE I,
LV_VAL2(4) TYPE I,
LV_CALC TYPE P DECIMALS 2.
LV_VAL1 = 10.
LV_VAL2 = 6.
LV_CALC = LV_VAL1 DIV LV_VAL2. "10 나누기 6
LV_CALC = LV_VAL1 / LV_VAL2. "10 나누기 6
이 내용을 디버깅을 해보면,
15라인의 로직을 탔을때,
(디버깅화면 노란 화살표가 16라인에위치하는건, 15라인에 적힌 로직을 탔고 16라인에 적힌 로직이 타기 전 이라는뜻)
LV_CALC = 1.00 이라는 값이 담긴다.
그런데 16라인을 탄 디버깅 화면을 보면,
LV_CALC = 1.67 이라는 값이 담긴다.
똑같이 나누기를 했다고 생각했는데 결과값이 다르게 나와서, 사용시 주의해야 할 것같다.
참고로 'MOD'구문은 두값을 나눈 나머지의 값을 담아준다.
LV_VAL1 MOD LV_VAL2 = 4.00.
반응형
'ABAP' 카테고리의 다른 글
[SAP_ABAP] ABAP코드 화면이 이상하게 보일 때 (0) | 2023.09.12 |
---|---|
[SAP_WebDynpro] host 등록 방법 (0) | 2023.09.08 |
[SAP_ABAP] SE11에서 테이블 데이터 조회할 때 필드 명 대신 Short description(간단한 설명) 보여지게 하는 방법 (0) | 2023.09.06 |
[SAP_ABAP] SAP MIME유형 정의하는 법 (0) | 2023.09.05 |
[SAP_ABAP] 테이블 유지보수기(Table Maintenance Dialog) #4-1. 유지보수뷰 생성하여 생성일, 생성시간, 생성자 정보 자동으로 등록되게 하는 방법 (0) | 2023.08.31 |