data pi(1) type p decimals 2 value '3.14' .
data pi(3) type p decimals 2 value '123.14' .
위의 두구문을 각각 실행하면.. 위의 구문에서는 오버플로우가 발생하는데...아래의 구문에서는 오버플로우가
발생하지 않는데요...이유를 잘모르겠습니다.
P type의 데이터를 선언할경우 길이를 정할때 소수점이하를 제외한 부분만 지정하는걸루 알고있었는데..
여하튼 왜이런 현상이 나타나는지 답변부탁드립니다.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
13 | [re] <img src=1.gif>DOI 예제 따라하고 있는데요, 안되네요.. [2] | 요요 | 2010.03.02 | 20212 |
12 | <b>[완료]</b>Mark field달기 [6] | SAP폐인 | 2007.12.04 | 20624 |
11 | <b>[완료]</b>메시지가 잘립니다. [3] | 김지성 | 2007.12.05 | 24487 |
10 | ALV 에서는 에디팅 기능을 사용 할 수 없나요? [5] | 댕댕 | 2007.04.03 | 27084 |
9 | <b>[완료]</b>Sorting시 Internal Table 이름이 가변적일때 Field symbol 사용 방법좀 가르쳐 주세요. [4] | SkyDream | 2007.12.05 | 27734 |
8 | 자재번호 자동 List up..? Search help..? 기능 문의 드립니다 [2] | 아좀더 | 2019.06.26 | 30816 |
7 | [요청]클래스를 이용한 ALV에서 선택 SEL MODE문의드립니다. [2] | 노력&성장 | 2008.04.17 | 35456 |
6 | <img src=2.gif border=0>Smartform 출력옵션 &field<옵션>& 중 자릿수 제한 기능에 관하여. [2] | JiruMi | 2009.04.20 | 44713 |
» | [요청]소수점 데이터를 선언시 질문입니다. [2] | kkk | 2008.04.17 | 48274 |
4 | Multi Selection 버튼 색상 문의..<-제목이 흠.. | 김지성 | 2007.08.01 | 50548 |
3 | [re] inner join 과 sub query 의 퍼포먼스... [2] | Risky | 2009.09.11 | 59456 |
2 | [요청]스크린페인터가 되질 않습니다.. alphanumeric editor가 나와요..ㅜㅜ [15] | 피크민 | 2007.12.06 | 71167 |
1 | <b>[완료]</b>external alias의 대해 알려주세요~ [1] | abap퍼 | 2008.02.26 | 102158 |
헬프에 좋은 내용이 나와 있네요..
The valid length for packed numbers is between 1 and 16 bytes; two decimal places are packed into one byte, whereby the last byte only contains one place and the plus/minus sign; after the decimal separator, up to 14 decimal places are permitted. Depending on the field length len and the number of decimal places dec, the following applies for the value area: (-10^(2len -1) +1) / (10^(+dec)) to (+10^(2len -1) -1) /(10^(+dec)) in steps of 10^(-dec). Values in between this range are rounded off.
==> 플러스/마이너스 기호가 한자리 차지하기때문에 오버 플로가 나겠네요..
이소스 한번 실행해 보세요..
이게 P type의 최대 최소 범위를 나타내는 소스입니다.
result TYPE REF TO data.
FIELD-SYMBOLS
result = cl_abap_exceptional_values=>get_min_value( pack ).
IF result IS NOT INITIAL.
ASSIGN result->* TO
WRITE
ENDIF.
result = cl_abap_exceptional_values=>get_max_value( pack ).
IF result IS NOT INITIAL.
ASSIGN result->* TO
WRITE
ENDIF.
data: pack TYPE p LENGTH 2 ==> 요게 자리 수 이네요..이부분을 수정하시고 한번
해보시면 왜 안되는지 금방 알수 있게죠...
즐밥하세요.